]> git.sesse.net Git - kdenlive/commitdiff
Fixed part of bug 617: Adding file extension automatically in the Rendering dialog...
authorSimon A. Eugster <simon.eu@gmail.com>
Mon, 26 Jan 2009 18:48:08 +0000 (18:48 +0000)
committerSimon A. Eugster <simon.eu@gmail.com>
Mon, 26 Jan 2009 18:48:08 +0000 (18:48 +0000)
svn path=/branches/KDE4/; revision=2974

src/renderwidget.cpp
src/renderwidget.h

index 20a61c70f277777fbdc812068303937e7960576d..6a4200f369a2794c5df763c177fad0b966109f26 100644 (file)
@@ -160,6 +160,13 @@ void RenderWidget::setGuides(QDomElement guidesxml, double duration) {
 void RenderWidget::slotUpdateButtons() {
     if (m_view.out_file->url().isEmpty()) m_view.buttonStart->setEnabled(false);
     else m_view.buttonStart->setEnabled(true);
+    KUrl url = m_view.out_file->url();
+    QListWidgetItem *item = m_view.size_list->currentItem();
+    QString extension = item->data(ExtensionRole).toString();
+    url = filenameWithExtension(url, extension);
+    kDebug() << "URL SHOULD BE " << url.path();
+    //m_view.out_file->setUrl(url);
+    // not possible here; key input wouldn't be possible anymore
 }
 
 void RenderWidget::slotSaveProfile() {
@@ -590,6 +597,21 @@ void RenderWidget::refreshView() {
     refreshParams();
 }
 
+KUrl RenderWidget::filenameWithExtension(KUrl url, QString extension) {
+    QString path;
+    if (!url.isEmpty()) {
+        path = url.path();
+        int pos = path.lastIndexOf('.') + 1;
+        if (pos == 0) path.append('.' + extension);
+        else path = path.left(pos) + extension;
+
+    } else {
+        path = QDir::homePath() + "/untitled." + extension;
+    }
+    return KUrl(path);
+}
+
+
 void RenderWidget::refreshParams() {
     QListWidgetItem *item = m_view.size_list->currentItem();
     if (!item || item->isHidden()) {
@@ -601,16 +623,17 @@ void RenderWidget::refreshParams() {
     QString extension = item->data(ExtensionRole).toString();
     m_view.advanced_params->setPlainText(params);
     m_view.advanced_params->setToolTip(params);
-    KUrl url = m_view.out_file->url();
-    if (!url.isEmpty()) {
-        QString path = url.path();
-        int pos = path.lastIndexOf('.') + 1;
-        if (pos == 0) path.append('.') + extension;
-        else path = path.left(pos) + extension;
-        m_view.out_file->setUrl(KUrl(path));
-    } else {
-        m_view.out_file->setUrl(KUrl(QDir::homePath() + "/untitled." + extension));
-    }
+    KUrl url = filenameWithExtension(m_view.out_file->url(), extension);
+    m_view.out_file->setUrl(url);
+//     if (!url.isEmpty()) {
+//         QString path = url.path();
+//         int pos = path.lastIndexOf('.') + 1;
+//  if (pos == 0) path.append('.' + extension);
+//         else path = path.left(pos) + extension;
+//         m_view.out_file->setUrl(KUrl(path));
+//     } else {
+//         m_view.out_file->setUrl(KUrl(QDir::homePath() + "/untitled." + extension));
+//     }
     m_view.out_file->setFilter("*." + extension);
 
     if (item->data(EditableRole).toString().isEmpty()) {
index 1c4d7a33ac7a854a1d23aa50025bdf60716f1e3f..c3759c87f38fc4b1e7ae061326f1cfa2dafcc6e6 100644 (file)
@@ -95,6 +95,7 @@ private:
     void parseProfiles(QString group = QString(), QString profile = QString());
     void parseFile(QString exportFile, bool editable);
     void updateButtons();
+    KUrl filenameWithExtension(KUrl url, QString extension);
 
 signals:
     void doRender(const QString&, const QString&, const QStringList &, const QStringList &, bool, bool, double, double, bool);