]> git.sesse.net Git - kdenlive/blobdiff - src/projectsettings.cpp
Introducing template based title clips
[kdenlive] / src / projectsettings.cpp
index e0f62a1fdbd7c90bc3ef658b864f76228ac77118..c27f5398f4cde32adf96f4f9274d3fb762e09a91 100644 (file)
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA          *
  ***************************************************************************/
 
-#include <QDir>
+#include "projectsettings.h"
+#include "kdenlivesettings.h"
+#include "profilesdialog.h"
 
 #include <KStandardDirs>
 #include <KDebug>
 
-#include "kdenlivesettings.h"
-#include "profilesdialog.h"
-#include "projectsettings.h"
+#include <QDir>
 
-ProjectSettings::ProjectSettings(QWidget * parent): QDialog(parent), m_isCustomProfile(false) {
+ProjectSettings::ProjectSettings(int videotracks, int audiotracks, const QString projectPath, bool readOnlyTracks, QWidget * parent) :
+        QDialog(parent)
+{
     m_view.setupUi(this);
 
     QMap <QString, QString> profilesInfo = ProfilesDialog::getProfilesInfo();
@@ -36,6 +38,7 @@ ProjectSettings::ProjectSettings(QWidget * parent): QDialog(parent), m_isCustomP
         m_view.profiles_list->addItem(i.key(), i.value());
     }
     m_view.project_folder->setMode(KFile::Directory);
+    m_view.project_folder->setPath(projectPath);
     QString currentProf = KdenliveSettings::current_profile();
 
     for (int i = 0; i < m_view.profiles_list->count(); i++) {
@@ -45,40 +48,68 @@ ProjectSettings::ProjectSettings(QWidget * parent): QDialog(parent), m_isCustomP
         }
     }
 
-    buttonOk = m_view.buttonBox->button(QDialogButtonBox::Ok);
+    m_buttonOk = m_view.buttonBox->button(QDialogButtonBox::Ok);
     //buttonOk->setEnabled(false);
     m_view.audio_thumbs->setChecked(KdenliveSettings::audiothumbnails());
     m_view.video_thumbs->setChecked(KdenliveSettings::videothumbnails());
+    m_view.audio_tracks->setValue(audiotracks);
+    m_view.video_tracks->setValue(videotracks);
+    if (readOnlyTracks) {
+        m_view.video_tracks->setEnabled(false);
+        m_view.audio_tracks->setEnabled(false);
+    }
     slotUpdateDisplay();
     connect(m_view.profiles_list, SIGNAL(currentIndexChanged(int)), this, SLOT(slotUpdateDisplay()));
     connect(m_view.project_folder, SIGNAL(textChanged(const QString &)), this, SLOT(slotUpdateButton(const QString &)));
 }
 
 
-void ProjectSettings::slotUpdateDisplay() {
+void ProjectSettings::slotUpdateDisplay()
+{
     QString currentProfile = m_view.profiles_list->itemData(m_view.profiles_list->currentIndex()).toString();
     QMap< QString, QString > values = ProfilesDialog::getSettingsFromFile(currentProfile);
-    m_view.p_size->setText(values.value("width") + "x" + values.value("height"));
-    m_view.p_fps->setText(values.value("frame_rate_num") + "/" + values.value("frame_rate_den"));
-    m_view.p_aspect->setText(values.value("sample_aspect_num") + "/" + values.value("sample_aspect_den"));
-    m_view.p_display->setText(values.value("display_aspect_num") + "/" + values.value("display_aspect_den"));
+    m_view.p_size->setText(values.value("width") + 'x' + values.value("height"));
+    m_view.p_fps->setText(values.value("frame_rate_num") + '/' + values.value("frame_rate_den"));
+    m_view.p_aspect->setText(values.value("sample_aspect_num") + '/' + values.value("sample_aspect_den"));
+    m_view.p_display->setText(values.value("display_aspect_num") + '/' + values.value("display_aspect_den"));
     if (values.value("progressive").toInt() == 0) m_view.p_progressive->setText(i18n("Interlaced"));
     else m_view.p_progressive->setText(i18n("Progressive"));
 }
 
-void ProjectSettings::slotUpdateButton(const QString &path) {
-    if (path.isEmpty()) buttonOk->setEnabled(false);
-    else buttonOk->setEnabled(true);
+void ProjectSettings::slotUpdateButton(const QString &path)
+{
+    if (path.isEmpty()) m_buttonOk->setEnabled(false);
+    else m_buttonOk->setEnabled(true);
 }
 
-QString ProjectSettings::selectedProfile() const {
+QString ProjectSettings::selectedProfile() const
+{
     return m_view.profiles_list->itemData(m_view.profiles_list->currentIndex()).toString();
 }
 
-KUrl ProjectSettings::selectedFolder() const {
+KUrl ProjectSettings::selectedFolder() const
+{
     return m_view.project_folder->url();
 }
 
+QPoint ProjectSettings::tracks()
+{
+    QPoint p;
+    p.setX(m_view.video_tracks->value());
+    p.setY(m_view.audio_tracks->value());
+    return p;
+}
+
+bool ProjectSettings::enableVideoThumbs() const
+{
+    return m_view.video_thumbs->isChecked();
+}
+
+bool ProjectSettings::enableAudioThumbs() const
+{
+    return m_view.audio_thumbs->isChecked();
+}
+
 #include "projectsettings.moc"