]> git.sesse.net Git - kdenlive/commitdiff
Show project format in tab title / hide tab bar when only one project open
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 3 Mar 2008 23:38:45 +0000 (23:38 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 3 Mar 2008 23:38:45 +0000 (23:38 +0000)
svn path=/branches/KDE4/; revision=1995

src/mainwindow.cpp
src/profilesdialog.cpp
src/profilesdialog.h

index 9717f7f0c00b49a2167aa91c4379bf040e6021c9..c625a1d9a8e75b5b8d7ead362f434076cb2147de 100644 (file)
@@ -65,6 +65,7 @@ MainWindow::MainWindow(QWidget *parent)
     m_timelineArea = new KTabWidget(this);
     m_timelineArea->setHoverCloseButton(true);
     m_timelineArea->setTabReorderingEnabled(true);
+    m_timelineArea->setTabBarHidden(true);
     connect(m_timelineArea, SIGNAL(currentChanged(int)), this, SLOT(activateDocument()));
 
     initEffects::parseEffectFiles(&m_audioEffects, &m_videoEffects);
@@ -296,9 +297,10 @@ void MainWindow::readOptions() {
 void MainWindow::newFile() {
     KdenliveDoc *doc = new KdenliveDoc(KUrl(), 25, 720, 576);
     TrackView *trackView = new TrackView(doc);
-    m_timelineArea->addTab(trackView, "New Project");
+    m_timelineArea->addTab(trackView, i18n("Untitled") + " / " + ProfilesDialog::getProfileDescription(KdenliveSettings::default_profile()));
     if (m_timelineArea->count() == 1)
         connectDocument(trackView, doc);
+    else m_timelineArea->setTabBarHidden(false);
 }
 
 void MainWindow::activateDocument() {
@@ -344,6 +346,7 @@ void MainWindow::openFile(const KUrl &url) { //new
     TrackView *trackView = new TrackView(doc);
     m_timelineArea->setCurrentIndex(m_timelineArea->addTab(trackView, QIcon(), doc->documentName()));
     m_timelineArea->setTabToolTip(m_timelineArea->currentIndex(), doc->url().path());
+    if (m_timelineArea->count() > 1) m_timelineArea->setTabBarHidden(false);
     //connectDocument(trackView, doc);
 }
 
index 9e07d55ad88652f784a03cb5a12503bc9cd956cf..497bfacfad766b753f636ce1286e5b612a6ef319 100644 (file)
@@ -50,6 +50,33 @@ ProfilesDialog::ProfilesDialog(QWidget * parent): QDialog(parent), m_isCustomPro
 }
 
 
+// static
+QString ProfilesDialog::getProfileDescription(QString name) {
+    QStringList profilesNames;
+    QStringList profilesFiles;
+    QStringList profilesFilter;
+    profilesFilter << "*";
+
+    // List the Mlt profiles
+    profilesFiles = QDir(KdenliveSettings::mltpath()).entryList(profilesFilter, QDir::Files);
+    if (profilesFiles.contains(name)) {
+        KConfig confFile(KdenliveSettings::mltpath() + "/" + name);
+        return confFile.entryMap().value("description");
+    }
+
+    // List custom profiles
+    QStringList customProfiles = KGlobal::dirs()->findDirs("appdata", "profiles");
+    for (int i = 0; i < customProfiles.size(); ++i) {
+        profilesFiles = QDir(customProfiles.at(i)).entryList(profilesFilter, QDir::Files);
+        if (profilesFiles.contains(name)) {
+            KConfig confFile(customProfiles.at(i) + "/" + name);
+            return confFile.entryMap().value("description");
+        }
+    }
+
+    return QString();
+}
+
 // static
 QStringList ProfilesDialog::getProfileNames() {
     QStringList profilesNames;
index d0039b0a5b684d6e1de2b0f9866bc8613b8306a0..a4f4d5744a33d444e295afdac0bffc95eba741f5 100644 (file)
@@ -32,6 +32,7 @@ public:
     ProfilesDialog(QWidget * parent = 0);
 
     static QStringList getProfileNames();
+    static QString getProfileDescription(QString name);
     static QMap< QString, QString > getSettingsForProfile(const QString profileName);
     static QMap< QString, QString > getSettingsFromFile(const QString path);