]> git.sesse.net Git - kdenlive/commitdiff
When opening the backup dialog from an empty project, display all available files...
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 7 Jun 2011 21:42:20 +0000 (21:42 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 7 Jun 2011 21:42:20 +0000 (21:42 +0000)
svn path=/trunk/kdenlive/; revision=5679

src/databackup/backupwidget.cpp
src/databackup/backupwidget.h
src/kdenlivedoc.cpp
src/widgets/backupdialog_ui.ui

index 31c07ad719edc8fa4d9f5ab24b1a4661782484be..64e4a88bad025dbacc9e4147346d6e173bdfe8f0 100644 (file)
 
 
 BackupWidget::BackupWidget(KUrl projectUrl, KUrl projectFolder, const QString projectId, QWidget * parent) :
-        QDialog(parent),
-        m_url(projectUrl)
+        QDialog(parent)
 {
     setupUi(this);
     setWindowTitle(i18n("Restore Backup File"));
 
     KUrl backupFile;
-    m_projectWildcard = projectUrl.fileName().section('.', 0, -2);
-    project_url->setUrl(projectFolder);
-    if (!projectId.isEmpty()) m_projectWildcard.append("-" + projectId);
+
+    if (projectUrl.isEmpty()) {
+        // No url, means we opened the backup dialog from an empty project
+        info_label->setText(i18n("Showing all backup files in folder"));
+        m_projectWildcard = "*";
+    }
     else {
-        // No project id, it was lost, add wildcard
-        m_projectWildcard.append("*");
+        info_label->setText(i18n("Showing backup files for %1", projectUrl.fileName()));
+        m_projectWildcard = projectUrl.fileName().section('.', 0, -2);
+        if (!projectId.isEmpty()) m_projectWildcard.append("-" + projectId);
+        else {
+            // No project id, it was lost, add wildcard
+            m_projectWildcard.append("*");
+        }
     }
+    project_url->setUrl(projectFolder);
     m_projectWildcard.append("-??");
     m_projectWildcard.append("??");
     m_projectWildcard.append("-??");
@@ -74,10 +82,17 @@ void BackupWidget::slotParseBackupFiles()
     QStringList results;
     backup_list->clear();
     QListWidgetItem *item;
+    QString label;
     for (int i = 0; i < resultList.count(); i++) {
-        item = new QListWidgetItem(resultList.at(i).lastModified().toString(Qt::DefaultLocaleLongDate), backup_list);
+        label = resultList.at(i).lastModified().toString(Qt::SystemLocaleLongDate);
+        if (m_projectWildcard.startsWith("*")) {
+            // Displaying all backup files, so add project name in the entries
+            label.prepend(resultList.at(i).fileName().section("-", 0, -7) + ".kdenlive - ");
+        }
+        item = new QListWidgetItem(label, backup_list);
         item->setData(Qt::UserRole, resultList.at(i).absoluteFilePath());
     }
+    buttonBox->button(QDialogButtonBox::Open)->setEnabled(backup_list->count() > 0);
 }
 
 void BackupWidget::slotDisplayBackupPreview()
index 9c2fa0c9188a55560a21848e0807c8c737d5e82b..5878f7b4e9beece9039ce40817b89cd361a6fb0d 100644 (file)
@@ -50,7 +50,6 @@ private slots:
     void slotDisplayBackupPreview();
 
 private:
-    KUrl m_url;
     QString m_projectWildcard;
     
 signals:
index 88171504977fa907ba9c4973b96aa5da899d3c17..bac79c220bc08b53f6be84e86aff504d4e00d51a 100644 (file)
@@ -1615,6 +1615,7 @@ double KdenliveDoc::getDisplayRatio(const QString &path)
 void KdenliveDoc::backupLastSavedVersion(const QString &path)
 {
     // Ensure backup folder exists
+    if (path.isEmpty()) return;
     QFile file(path);
     KUrl backupFile = m_projectFolder;
     backupFile.addPath(".backup/");
index a12b72b97cb2aef6f732b80e6508976548fa249e..8483be76d03ef8e54afa016c44f82fde3c7860d2 100644 (file)
@@ -6,23 +6,31 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>485</width>
-    <height>216</height>
+    <width>284</width>
+    <height>150</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string>Dialog</string>
   </property>
   <layout class="QGridLayout" name="gridLayout">
-   <item row="3" column="1">
-    <widget class="QDialogButtonBox" name="buttonBox">
-     <property name="orientation">
-      <enum>Qt::Horizontal</enum>
-     </property>
-     <property name="standardButtons">
-      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Open</set>
-     </property>
-    </widget>
+   <item row="0" column="0" colspan="2">
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <item>
+      <widget class="QLabel" name="label">
+       <property name="text">
+        <string>Project Folder</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="KUrlRequester" name="project_url">
+       <property name="mode">
+        <set>KFile::Directory|KFile::ExistingOnly|KFile::LocalOnly</set>
+       </property>
+      </widget>
+     </item>
+    </layout>
    </item>
    <item row="1" column="0" colspan="2">
     <widget class="KListWidget" name="backup_list">
      </property>
     </widget>
    </item>
-   <item row="0" column="1">
-    <widget class="KUrlRequester" name="project_url">
-     <property name="mode">
-      <set>KFile::Directory|KFile::ExistingOnly|KFile::LocalOnly</set>
+   <item row="3" column="0">
+    <widget class="QLabel" name="info_label">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="text">
+      <string/>
      </property>
     </widget>
    </item>
-   <item row="0" column="0">
-    <widget class="QLabel" name="label">
-     <property name="text">
-      <string>Project Folder</string>
+   <item row="3" column="1">
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Open</set>
      </property>
     </widget>
    </item>