X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fprofilesdialog.h;h=31bae209986549cb2385548da9d9811aa3315ca6;hb=aa17f2397f8cb15489c4b03cd78e9ee16cd2f485;hp=ada0736a6fc0642d92ca16085f7b91a1b961bae1;hpb=ac5f5c9f6d4bdffeb76f3f2098b80f27bc532606;p=kdenlive diff --git a/src/profilesdialog.h b/src/profilesdialog.h index ada0736a..31bae209 100644 --- a/src/profilesdialog.h +++ b/src/profilesdialog.h @@ -31,12 +31,14 @@ class ProfilesDialog : public QDialog public: ProfilesDialog(QWidget * parent = 0); - - void fillList(const QString selectedProfile = QString()); - static QMap< QString, QString > getSettingsForProfile(const QString profileName); - static QMap< QString, QString > getSettingsFromFile(const QString path); - static QString getPathFromDescription(const QString profileDesc); - static MltVideoProfile getVideoProfile(QString name); + /** @brief Using this constructor, the dialog only allows editing one profile. */ + explicit ProfilesDialog(QString profilePath, QWidget * parent = 0); + + void fillList(const QString &selectedProfile = QString()); + static QMap< QString, QString > getSettingsForProfile(const QString &profileName); + static QMap< QString, QString > getSettingsFromFile(const QString& path); + static QString getPathFromDescription(const QString& profileDesc); + static MltVideoProfile getVideoProfile(const QString &name); static QMap getProfilesInfo(); static void saveProfile(MltVideoProfile &profile, QString profilePath = QString()); static QString existingProfile(MltVideoProfile profile); @@ -50,7 +52,7 @@ public: * @param isImage If true, compare width with profile's display width ( = dar * height) * @param profile The profile to match * @return true if properties match profile */ - static bool matchProfile(int width, int height, double fps, double par, bool isImage, MltVideoProfile profile); + static bool matchProfile(int width, int height, double fps, double par, bool isImage, const MltVideoProfile &profile); /** @brief Find profiles that match parameter properties: * @param width The profile frame width @@ -65,7 +67,7 @@ public: * @param profile The profile that gives width & height * @param eval The string to be evaluated, for example: "%width / 2" * @return the evaluated value */ - static double getStringEval(const MltVideoProfile &profile, QString eval); + static double getStringEval(const MltVideoProfile &profile, QString eval, const QPoint &frameSize = QPoint()); /** @brief Get the descriptive text for given colorspace code (defined by MLT) * @param colorspace An int as defined in mlt_profile.h @@ -81,7 +83,7 @@ protected: virtual void closeEvent(QCloseEvent *event); private slots: - void slotUpdateDisplay(); + void slotUpdateDisplay(QString currentProfile = QString()); void slotCreateProfile(); bool slotSaveProfile(); void slotDeleteProfile(); @@ -94,7 +96,9 @@ private: int m_selectedProfileIndex; bool m_profileIsModified; bool m_isCustomProfile; - void saveProfile(const QString path); + /** @brief If we are in single profile editing, should contain the path for this profile. */ + QString m_customProfilePath; + void saveProfile(QString path); bool askForSave(); };