]> git.sesse.net Git - kdenlive/blobdiff - src/projectsettings.cpp
Fix tooltips & icon for audio clips when loading a project
[kdenlive] / src / projectsettings.cpp
index 0015ded61ff8c95b107bfdca29eed08f63da41aa..5dbb528211b24f7721fe57b12db59aa43276e3d9 100644 (file)
 #include <KStandardDirs>
 #include <KDebug>
 
-
+#include "kdenlivesettings.h"
 #include "profilesdialog.h"
 #include "projectsettings.h"
 
-ProjectSettings::ProjectSettings(QWidget * parent): QDialog(parent), m_isCustomProfile(false)
-{
-  m_view.setupUi(this);
+ProjectSettings::ProjectSettings(QWidget * parent): QDialog(parent), m_isCustomProfile(false) {
+    m_view.setupUi(this);
+
+    QMap <QString, QString> profilesInfo = ProfilesDialog::getProfilesInfo();
+    QMapIterator<QString, QString> i(profilesInfo);
+    while (i.hasNext()) {
+        i.next();
+        m_view.profiles_list->addItem(i.key(), i.value());
+    }
+    m_view.project_folder->setMode(KFile::Directory);
+    QString currentProf = KdenliveSettings::current_profile();
 
-  QStringList profilesNames = ProfilesDialog::getProfileNames();
-  m_view.profiles_list->addItems(profilesNames);
+    for (int i = 0; i < m_view.profiles_list->count(); i++) {
+        if (m_view.profiles_list->itemData(i).toString() == currentProf) {
+            m_view.profiles_list->setCurrentIndex(i);
+            break;
+        }
+    }
 
-  slotUpdateDisplay();
-  connect(m_view.profiles_list, SIGNAL(currentIndexChanged( int )), this, SLOT(slotUpdateDisplay()));
+    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(2);
+    m_view.video_tracks->setValue(3);
+    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()
-{
-  QString currentProfile = m_view.profiles_list->currentText();
-  QMap< QString, QString > values = ProfilesDialog::getSettingsForProfile(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"));
-  if (values.value("progressive").toInt() == 0) m_view.p_progressive->setText(i18n("Interlaced"));
-  else m_view.p_progressive->setText(i18n("Progressive"));
+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"));
+    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);
+}
+
+QString ProjectSettings::selectedProfile() const {
+    return m_view.profiles_list->itemData(m_view.profiles_list->currentIndex()).toString();
+}
+
+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;
+}
 
 #include "projectsettings.moc"