#ifndef KDENLIVESETTINGSDIALOG_H
#define KDENLIVESETTINGSDIALOG_H
-#include <QDialog>
-
+#include <QMap>
#include <KConfigDialog>
+#include <KProcess>
#include "ui_configmisc_ui.h"
#include "ui_configenv_ui.h"
+#include "ui_configtimeline_ui.h"
+#include "ui_configcapture_ui.h"
+#include "ui_configjogshuttle_ui.h"
+#include "ui_configsdl_ui.h"
+#include "ui_configtranscode_ui.h"
+#include "ui_configproject_ui.h"
class KdenliveSettingsDialog : public KConfigDialog
{
- Q_OBJECT
-
- public:
- KdenliveSettingsDialog(QWidget * parent = 0);
+ Q_OBJECT
+
+public:
+ KdenliveSettingsDialog(const QMap<QString, QString>& mappable_actions, QWidget * parent = 0);
+ ~KdenliveSettingsDialog();
+ void showPage(int page, int option);
+ void checkProfile();
- private slots:
+protected slots:
+ void updateSettings();
+ void updateWidgets();
+ virtual bool hasChanged();
+
+private slots:
void slotUpdateDisplay();
+ void slotCheckShuttle(int state = 0);
+ void slotUpdateShuttleDevice(int ix = 0);
+ void slotEditImageApplication();
+ void slotEditAudioApplication();
+ void slotEditVideoApplication();
+ void slotReadAudioDevices();
+ void slotUpdateGrabRegionStatus();
+ void slotCheckAlsaDriver();
+ void slotAddTranscode();
+ void slotDeleteTranscode();
+ /** @brief Update current transcoding profile. */
+ void slotUpdateTranscodingProfile();
+ /** @brief Enable / disable the update profile button. */
+ void slotEnableTranscodeUpdate();
+ /** @brief Update display of current transcoding profile parameters. */
+ void slotSetTranscodeProfile();
+ void slotShuttleModified();
+ void slotDialogModified();
+ void slotEnableCaptureFolder();
+ void slotUpdatev4lDevice();
+ void slotUpdatev4lCaptureProfile();
+ void slotManageEncodingProfile();
+ void slotUpdateDecklinkProfile(int ix = 0);
+ void slotUpdateProxyProfile(int ix = 0);
+ void slotUpdateV4lProfile(int ix = 0);
+ void slotUpdateGrabProfile(int ix = 0);
+ void slotEditVideo4LinuxProfile();
+ void slotReloadBlackMagic();
+
+private:
+ KPageWidgetItem *m_page1;
+ KPageWidgetItem *m_page2;
+ KPageWidgetItem *m_page3;
+ KPageWidgetItem *m_page4;
+ KPageWidgetItem *m_page5;
+ KPageWidgetItem *m_page6;
+ KPageWidgetItem *m_page7;
+ KPageWidgetItem *m_page8;
+ Ui::ConfigEnv_UI m_configEnv;
+ Ui::ConfigMisc_UI m_configMisc;
+ Ui::ConfigTimeline_UI m_configTimeline;
+ Ui::ConfigCapture_UI m_configCapture;
+ Ui::ConfigJogShuttle_UI m_configShuttle;
+ Ui::ConfigSdl_UI m_configSdl;
+ Ui::ConfigTranscode_UI m_configTranscode;
+ Ui::ConfigProject_UI m_configProject;
+ QString m_defaultProfile;
+ QString m_defaultPath;
+ KProcess m_readProcess;
+ bool m_modified;
+ bool m_shuttleModified;
+ QMap<QString, QString> m_mappable_actions;
+ QVector<KComboBox*> m_shuttle_buttons;
+ void initDevices();
+ void loadTranscodeProfiles();
+ void saveTranscodeProfiles();
+ void loadCurrentV4lProfileInfo();
+ void saveCurrentV4lProfile();
+ void loadEncodingProfiles();
- private:
- Ui::ConfigEnv_UI* m_configEnv;
- Ui::ConfigMisc_UI* m_configMisc;
- QStringList m_mltProfilesList;
- QStringList m_customProfilesList;
- bool m_isCustomProfile;
+signals:
+ void customChanged();
+ void doResetProfile();
+ void updateCaptureFolder();
};