summaryrefslogtreecommitdiffstats
path: root/desktop-widgets/preferences/preferences_defaults.cpp
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2018-07-10 15:04:35 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2018-07-28 15:31:25 -0700
commitfce42d4858d33e10b7a1c48d75838f1901b6b123 (patch)
tree3be7516c1e306e4fb8cce9cd1f3e357e3a5575df /desktop-widgets/preferences/preferences_defaults.cpp
parent51066e5478d76824c5da53f37184e0e0d1f3e4af (diff)
downloadsubsurface-fce42d4858d33e10b7a1c48d75838f1901b6b123.tar.gz
Dive media: Extract thumbnails from videos with ffmpeg
Extract thumbnails using ffmpeg. Behavior is controlled by three new preferences fields: - extract_video_thumbnails (bool): if true, thumbnails are calculated. - extract_video_thumbnail_position (int 0..100): position in video where thumbnail is fetched. - ffmpeg_executable (string): path of ffmpeg executable. If ffmpeg refuses to start, extract_video_thumbnails is set to false to avoid unnecessary churn. Video thumbnails are marked by an overlay. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'desktop-widgets/preferences/preferences_defaults.cpp')
-rw-r--r--desktop-widgets/preferences/preferences_defaults.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/desktop-widgets/preferences/preferences_defaults.cpp b/desktop-widgets/preferences/preferences_defaults.cpp
index a7b5e4c1d..4d8aef610 100644
--- a/desktop-widgets/preferences/preferences_defaults.cpp
+++ b/desktop-widgets/preferences/preferences_defaults.cpp
@@ -43,6 +43,22 @@ void PreferencesDefaults::on_localDefaultFile_toggled(bool toggle)
ui->chooseFile->setEnabled(toggle);
}
+void PreferencesDefaults::on_ffmpegFile_clicked()
+{
+ QFileInfo fi(system_default_filename());
+ QString ffmpegFileName = QFileDialog::getOpenFileName(this, tr("Select ffmpeg executable"));
+
+ if (!ffmpegFileName.isEmpty())
+ ui->ffmpegExecutable->setText(ffmpegFileName);
+}
+
+void PreferencesDefaults::on_extractVideoThumbnails_toggled(bool toggled)
+{
+ ui->videoThumbnailPosition->setEnabled(toggled);
+ ui->ffmpegExecutable->setEnabled(toggled);
+ ui->ffmpegFile->setEnabled(toggled);
+}
+
void PreferencesDefaults::refreshSettings()
{
ui->font->setCurrentFont(QString(prefs.divelist_font));
@@ -73,6 +89,14 @@ void PreferencesDefaults::refreshSettings()
ui->defaultfilename->setEnabled(prefs.default_file_behavior == LOCAL_DEFAULT_FILE);
ui->btnUseDefaultFile->setEnabled(prefs.default_file_behavior == LOCAL_DEFAULT_FILE);
ui->chooseFile->setEnabled(prefs.default_file_behavior == LOCAL_DEFAULT_FILE);
+
+ ui->videoThumbnailPosition->setEnabled(prefs.extract_video_thumbnails);
+ ui->ffmpegExecutable->setEnabled(prefs.extract_video_thumbnails);
+ ui->ffmpegFile->setEnabled(prefs.extract_video_thumbnails);
+
+ ui->extractVideoThumbnails->setChecked(prefs.extract_video_thumbnails);
+ ui->videoThumbnailPosition->setValue(prefs.extract_video_thumbnails_position);
+ ui->ffmpegExecutable->setText(prefs.ffmpeg_executable);
}
void PreferencesDefaults::syncSettings()
@@ -87,6 +111,9 @@ void PreferencesDefaults::syncSettings()
general->setDefaultFileBehavior(LOCAL_DEFAULT_FILE);
else if (ui->cloudDefaultFile->isChecked())
general->setDefaultFileBehavior(CLOUD_DEFAULT_FILE);
+ general->setExtractVideoThumbnails(ui->extractVideoThumbnails->isChecked());
+ general->setExtractVideoThumbnailsPosition(ui->videoThumbnailPosition->value());
+ general->setFfmpegExecutable(ui->ffmpegExecutable->text());
auto display = qPrefDisplay::instance();
display->set_divelist_font(ui->font->currentFont().toString());