#include <QDialog>
#include <QPushButton>
+#include "projectlist.h"
#include "ui_projectsettings_ui.h"
-class ProjectSettings : public QDialog
+class ProjectSettings : public QDialog, public Ui::ProjectSettings_UI
{
Q_OBJECT
public:
- ProjectSettings(int videotracks, int audiotracks, const QString projectPath, bool readOnlyTracks, QWidget * parent = 0);
+ ProjectSettings(ProjectList *projectlist, QMap <QString, QString> metadata, const QStringList &lumas, int videotracks, int audiotracks, const QString& projectPath, bool readOnlyTracks, bool unsavedProject, QWidget * parent = 0);
QString selectedProfile() const;
KUrl selectedFolder() const;
- QPoint tracks();
+ QPoint tracks() const;
bool enableVideoThumbs() const;
bool enableAudioThumbs() const;
+ bool useProxy() const;
+ bool generateProxy() const;
+ int proxyMinSize() const;
+ bool generateImageProxy() const;
+ int proxyImageMinSize() const;
+ QString proxyParams() const;
+ QString proxyExtension() const;
+ const QMap <QString, QString> metadata() const;
+ static QStringList extractPlaylistUrls(const QString &path);
+ static QStringList extractSlideshowUrls(const KUrl &url);
+
+public slots:
+ virtual void accept();
private slots:
void slotUpdateDisplay();
void slotUpdateButton(const QString &path);
+ void slotUpdateFiles(bool cacheOnly = false);
+ void slotClearCache();
+ void slotDeleteProxies();
+ void slotDeleteUnused();
+ /** @brief Export project data to text file. */
+ void slotExportToText();
+ /** @brief Update the displayed proxy parameters when user changes selection. */
+ void slotUpdateProxyParams();
+ /** @brief Insert a new metadata field. */
+ void slotAddMetadataField();
+ /** @brief Delete current metadata field. */
+ void slotDeleteMetadataField();
private:
- Ui::ProjectSettings_UI m_view;
- QPushButton *buttonOk;
+ QPushButton *m_buttonOk;
+ bool m_savedProject;
+ ProjectList *m_projectList;
+ QStringList m_lumas;
+
+signals:
+ /** @brief User deleted proxies, so disable them in project. */
+ void disableProxies();
};