]> git.sesse.net Git - kdenlive/blobdiff - src/profilesdialog.h
const'ify/ref + minor optimization
[kdenlive] / src / profilesdialog.h
index ada0736a6fc0642d92ca16085f7b91a1b961bae1..c3710205857cd137e6d1a31e7a81f40262cba8b2 100644 (file)
@@ -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 <QString, QString> getProfilesInfo();
     static void saveProfile(MltVideoProfile &profile, QString profilePath = QString());
     static QString existingProfile(MltVideoProfile profile);
@@ -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();
 };