|
@ -0,0 +1,122 @@ |
|
|
|
|
|
--- a/src/settings/dolphin_generalsettings.kcfg
|
|
|
|
|
|
+++ b/src/settings/dolphin_generalsettings.kcfg
|
|
|
|
|
|
@@ -81,6 +81,10 @@
|
|
|
|
|
|
<label>Use auto-expanding folders for all view types</label> |
|
|
|
|
|
<default>false</default> |
|
|
|
|
|
</entry> |
|
|
|
|
|
+ <entry name="AutoPlayMediaFiles" type="Bool">
|
|
|
|
|
|
+ <label>Play media files automatically while hovering a cursor</label>
|
|
|
|
|
|
+ <default>false</default>
|
|
|
|
|
|
+ </entry>
|
|
|
|
|
|
<entry name="ShowZoomSlider" type="Bool"> |
|
|
|
|
|
<label>Show zoom slider in the statusbar</label> |
|
|
|
|
|
<default>true</default> |
|
|
|
|
|
|
|
|
|
|
|
--- a/src/settings/navigation/navigationsettingspage.cpp
|
|
|
|
|
|
+++ b/src/settings/navigation/navigationsettingspage.cpp
|
|
|
|
|
|
@@ -29,7 +29,8 @@
|
|
|
|
|
|
NavigationSettingsPage::NavigationSettingsPage(QWidget* parent) : |
|
|
|
|
|
SettingsPageBase(parent), |
|
|
|
|
|
m_openArchivesAsFolder(0), |
|
|
|
|
|
- m_autoExpandFolders(0)
|
|
|
|
|
|
+ m_autoExpandFolders(0),
|
|
|
|
|
|
+ m_autoPlayMediaFiles(0)
|
|
|
|
|
|
{ |
|
|
|
|
|
QVBoxLayout* topLayout = new QVBoxLayout(this); |
|
|
|
|
|
QWidget* vBox = new QWidget(this); |
|
|
|
|
|
@@ -43,12 +44,16 @@
|
|
|
|
|
|
m_autoExpandFolders = new QCheckBox(i18nc("option:check", "Open folders during drag operations"), vBox); |
|
|
|
|
|
vBoxLayout->addWidget(m_autoExpandFolders); |
|
|
|
|
|
|
|
|
|
|
|
+ m_autoPlayMediaFiles = new QCheckBox(i18nc("@option:check", "Play media files automatically"), vBox);
|
|
|
|
|
|
+ vBoxLayout->addWidget(m_autoPlayMediaFiles);
|
|
|
|
|
|
+
|
|
|
|
|
|
topLayout->addWidget(vBox); |
|
|
|
|
|
|
|
|
|
|
|
loadSettings(); |
|
|
|
|
|
|
|
|
|
|
|
connect(m_openArchivesAsFolder, &QCheckBox::toggled, this, &NavigationSettingsPage::changed); |
|
|
|
|
|
connect(m_autoExpandFolders, &QCheckBox::toggled, this, &NavigationSettingsPage::changed); |
|
|
|
|
|
+ connect(m_autoPlayMediaFiles, &QCheckBox::toggled, this, &NavigationSettingsPage::changed);
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
NavigationSettingsPage::~NavigationSettingsPage() |
|
|
|
|
|
@@ -60,6 +65,7 @@
|
|
|
|
|
|
GeneralSettings* settings = GeneralSettings::self(); |
|
|
|
|
|
settings->setBrowseThroughArchives(m_openArchivesAsFolder->isChecked()); |
|
|
|
|
|
settings->setAutoExpandFolders(m_autoExpandFolders->isChecked()); |
|
|
|
|
|
+ settings->setAutoPlayMediaFiles(m_autoPlayMediaFiles->isChecked());
|
|
|
|
|
|
|
|
|
|
|
|
settings->save(); |
|
|
|
|
|
} |
|
|
|
|
|
@@ -76,5 +82,6 @@
|
|
|
|
|
|
{ |
|
|
|
|
|
m_openArchivesAsFolder->setChecked(GeneralSettings::browseThroughArchives()); |
|
|
|
|
|
m_autoExpandFolders->setChecked(GeneralSettings::autoExpandFolders()); |
|
|
|
|
|
+ m_autoPlayMediaFiles->setChecked(GeneralSettings::autoPlayMediaFiles());
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--- a/src/settings/navigation/navigationsettingspage.h
|
|
|
|
|
|
+++ b/src/settings/navigation/navigationsettingspage.h
|
|
|
|
|
|
@@ -46,6 +46,7 @@
|
|
|
|
|
|
private: |
|
|
|
|
|
QCheckBox* m_openArchivesAsFolder; |
|
|
|
|
|
QCheckBox* m_autoExpandFolders; |
|
|
|
|
|
+ QCheckBox* m_autoPlayMediaFiles;
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
--- a/src/panels/information/phononwidget.cpp
|
|
|
|
|
|
+++ b/src/panels/information/phononwidget.cpp
|
|
|
|
|
|
@@ -19,6 +19,8 @@
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
#include "phononwidget.h" |
|
|
|
|
|
+#include "dolphin_generalsettings.h"
|
|
|
|
|
|
+#include "dolphinmainwindow.h"
|
|
|
|
|
|
|
|
|
|
|
|
#include <Phonon/AudioOutput> |
|
|
|
|
|
#include <Phonon/Global> |
|
|
|
|
|
@@ -32,6 +34,7 @@
|
|
|
|
|
|
#include <QToolButton> |
|
|
|
|
|
#include <QDialog> |
|
|
|
|
|
#include <QIcon> |
|
|
|
|
|
+#include <QTimer>
|
|
|
|
|
|
#include <KIconLoader> |
|
|
|
|
|
#include <QUrl> |
|
|
|
|
|
#include <KLocalizedString> |
|
|
|
|
|
@@ -79,6 +82,20 @@
|
|
|
|
|
|
if (m_url != url) { |
|
|
|
|
|
stop(); // emits playingStopped() signal |
|
|
|
|
|
m_url = url; |
|
|
|
|
|
+
|
|
|
|
|
|
+ //TODO: autoplay starts (related to qtimer) even if the target file has changed before the timer has run out
|
|
|
|
|
|
+ //TODO: stop/destroy the preview once user does not highlight the item/Dolphin main window or use the window
|
|
|
|
|
|
+ //TODO: the autoplay feature should only apply to audio files, exclude video files (as it works in Caja/Nautilus)
|
|
|
|
|
|
+
|
|
|
|
|
|
+ // Enables autoplay feature if it's enabled in Navigation Settings
|
|
|
|
|
|
+ // page. Set a single shot time delay (in msec) for media preview.
|
|
|
|
|
|
+ QTimer *m_autoplaytimer = new QTimer(this);
|
|
|
|
|
|
+
|
|
|
|
|
|
+ if(GeneralSettings::autoPlayMediaFiles()) { //If the this radiobutton is checked, then
|
|
|
|
|
|
+ connect(m_autoplaytimer, SIGNAL(timeout()), this, SLOT(play()));
|
|
|
|
|
|
+ m_autoplaytimer->setSingleShot(true); // Play only once, otherwise this loops in 1 sec cycles
|
|
|
|
|
|
+ m_autoplaytimer->start(1000); // Delay to start the autoplay
|
|
|
|
|
|
+ }
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--- a/src/panels/information/phononwidget.h
|
|
|
|
|
|
+++ b/src/panels/information/phononwidget.h
|
|
|
|
|
|
@@ -78,6 +78,8 @@
|
|
|
|
|
|
private: |
|
|
|
|
|
QUrl m_url; |
|
|
|
|
|
QSize m_videoSize; |
|
|
|
|
|
+
|
|
|
|
|
|
+ QTimer* m_autoplaytimer;
|
|
|
|
|
|
|
|
|
|
|
|
QToolButton *m_playButton; |
|
|
|
|
|
QToolButton *m_stopButton; |