mirror of
https://invent.kde.org/multimedia/kdenlive
synced 2025-12-06 16:29:58 +01:00
Compare commits
6 Commits
work/embed
...
Applicatio
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
084294034d | ||
|
|
2871dee6c5 | ||
|
|
95bb1c5623 | ||
|
|
16035e6b4a | ||
|
|
41d96b3efb | ||
|
|
a9b67c37cb |
@@ -6,7 +6,7 @@ project(Kdenlive)
|
||||
# KDE Application Version, managed by release script
|
||||
set (KDE_APPLICATIONS_VERSION_MAJOR "16")
|
||||
set (KDE_APPLICATIONS_VERSION_MINOR "08")
|
||||
set (KDE_APPLICATIONS_VERSION_MICRO "2")
|
||||
set (KDE_APPLICATIONS_VERSION_MICRO "3")
|
||||
|
||||
set(KDENLIVE_VERSION ${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO})
|
||||
cmake_minimum_required(VERSION 2.8.12)
|
||||
|
||||
@@ -26,6 +26,7 @@ Comment[mr]=के-डि-एनलाइव्ह
|
||||
Comment[nb]=Kdenlive
|
||||
Comment[nds]=Kdenlive
|
||||
Comment[nl]=Kdenlive
|
||||
Comment[nn]=Kdenlive
|
||||
Comment[pl]=Kdenlive
|
||||
Comment[pt]=Kdenlive
|
||||
Comment[pt_BR]=Kdenlive
|
||||
@@ -67,6 +68,7 @@ Name[lv]=Renderēšana pabeigta
|
||||
Name[mr]=रेंडरींग पूर्ण झाले
|
||||
Name[nb]=Opptegning avsluttet
|
||||
Name[nl]=Weergave uitwerken beëindigd
|
||||
Name[nn]=Videorendering ferdig
|
||||
Name[pl]=Ukończono renderowanie
|
||||
Name[pt]=A geração terminou
|
||||
Name[pt_BR]=A renderização terminou
|
||||
@@ -104,6 +106,7 @@ Comment[lv]=Renderēšana ir beigusies
|
||||
Comment[mr]=रेंडरींग पूर्ण झाले आहे
|
||||
Comment[nb]=Ferdig med opptegning
|
||||
Comment[nl]=Weergave uitwerken is gereed
|
||||
Comment[nn]=Videorendering er ferdig
|
||||
Comment[pl]=Ukończono zostało zakończone
|
||||
Comment[pt]=A geração terminou
|
||||
Comment[pt_BR]=A renderização foi terminada
|
||||
@@ -144,6 +147,7 @@ Name[lv]=Renderēšana sākta
|
||||
Name[mr]=रेंडरींग सुरु झाले
|
||||
Name[nb]=Opptegning påbegynt
|
||||
Name[nl]=Weergave uitwerken begonnen
|
||||
Name[nn]=Videorendering starta
|
||||
Name[pl]=Rozpoczęto renderowanie
|
||||
Name[pt]=A geração foi iniciada
|
||||
Name[pt_BR]=A renderização iniciou
|
||||
@@ -181,6 +185,7 @@ Comment[lv]=Renderēšana tika palaista
|
||||
Comment[mr]=रेंडरींग सुरु झाले होते
|
||||
Comment[nb]=Startet opptegning
|
||||
Comment[nl]=Weergave uitwerken is begonnen
|
||||
Comment[nn]=Videorenderinga vart starta
|
||||
Comment[pl]=Renderowanie zostało rozpoczęte
|
||||
Comment[pt]=A geração foi iniciada
|
||||
Comment[pt_BR]=A renderização foi iniciada
|
||||
@@ -220,6 +225,7 @@ Name[lv]=Kadrs notverts
|
||||
Name[mr]=फ्रेम पकडली
|
||||
Name[nb]=Stillbilde tatt
|
||||
Name[nl]=Frame opgenomen
|
||||
Name[nn]=Stillbilete teke
|
||||
Name[pl]=Przechwycono klatkę
|
||||
Name[pt]=Imagem capturada
|
||||
Name[pt_BR]=Imagem capturada
|
||||
@@ -256,6 +262,7 @@ Comment[lv]=Kadrs tika notverts diskā
|
||||
Comment[mr]=फ्रेम डिस्कवर पकडली
|
||||
Comment[nb]=Et stillbilde ble lagret
|
||||
Comment[nl]=Een frame is op schijf opgenomen
|
||||
Comment[nn]=Eit stillbilete vart lagra til disk
|
||||
Comment[pl]=Klatka została przechwycona na dysk
|
||||
Comment[pt]=Foi capturada uma imagem para o disco
|
||||
Comment[pt_BR]=Foi capturada uma imagem para o disco
|
||||
@@ -296,6 +303,7 @@ Name[lv]=Gatavs notveršanai
|
||||
Name[mr]=पकडण्याकरिता तयार
|
||||
Name[nb]=Klar til å ta stillbilde
|
||||
Name[nl]=Gereed om op te nemen
|
||||
Name[nn]=Klar til opptak
|
||||
Name[pl]=Gotowy do przechwycenia
|
||||
Name[pt]=Pronto para capturar
|
||||
Name[pt_BR]=Pronto para capturar
|
||||
@@ -339,6 +347,7 @@ Name[mr]=त्रुटी
|
||||
Name[nb]=Feil
|
||||
Name[nds]=Fehler
|
||||
Name[nl]=Fout
|
||||
Name[nn]=Feil
|
||||
Name[pl]=Błąd
|
||||
Name[pt]=Erro
|
||||
Name[pt_BR]=Erro
|
||||
@@ -378,6 +387,7 @@ Comment[lv]=Programmā Kdenlive radās kļūda
|
||||
Comment[mr]=के-डि-एनलाइव्ह मध्ये त्रुटी निर्माण झाली
|
||||
Comment[nb]=En feil oppsto i Kdenlive
|
||||
Comment[nl]=Er is een fout opgetreden in Kdenlive
|
||||
Comment[nn]=Det oppstod ein feil i Kdenlive
|
||||
Comment[pl]=Wystąpił błąd w Kdenlive
|
||||
Comment[pt]=Ocorreu um erro no Kdenlive
|
||||
Comment[pt_BR]=Ocorreu um erro no Kdenlive
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
<comment xml:lang="it">Progetto video Kdenlive</comment>
|
||||
<comment xml:lang="ko">Kdenlive 동영상 프로젝트 문서</comment>
|
||||
<comment xml:lang="nl">Video projectdocument van Kdenlive</comment>
|
||||
<comment xml:lang="nn">Kdenlive-videoprosjektdokument</comment>
|
||||
<comment xml:lang="pl">Dokument projektowy filmu w Kdenlive</comment>
|
||||
<comment xml:lang="pt">Documento de projecto de vídeo do Kdenlive</comment>
|
||||
<comment xml:lang="pt_BR">Documento de projeto de vídeo do Kdenlive</comment>
|
||||
@@ -52,6 +53,7 @@
|
||||
<comment xml:lang="it">Titolo video Kdenlive</comment>
|
||||
<comment xml:lang="ko">Kdenlive 동영상 타이틀</comment>
|
||||
<comment xml:lang="nl">Titel van Kdenlive-video</comment>
|
||||
<comment xml:lang="nn">Kdenlive-videotittel</comment>
|
||||
<comment xml:lang="pl">Tytuł filmu w Kdenlive</comment>
|
||||
<comment xml:lang="pt">Título de vídeo do Kdenlive</comment>
|
||||
<comment xml:lang="pt_BR">Título de vídeo do Kdenlive</comment>
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
<name xml:lang="gl">Kdenlive</name>
|
||||
<name xml:lang="it">Kdenlive</name>
|
||||
<name xml:lang="nl">Kdenlive</name>
|
||||
<name xml:lang="nn">Kdenlive</name>
|
||||
<name xml:lang="pl">Kdenlive</name>
|
||||
<name xml:lang="pt">Kdenlive</name>
|
||||
<name xml:lang="pt-BR">Kdenlive</name>
|
||||
@@ -47,6 +48,7 @@
|
||||
<summary xml:lang="gl">Editor de vídeo</summary>
|
||||
<summary xml:lang="it">Editor video</summary>
|
||||
<summary xml:lang="nl">Videobewerker</summary>
|
||||
<summary xml:lang="nn">Videoredigering</summary>
|
||||
<summary xml:lang="pl">Edytor wideo</summary>
|
||||
<summary xml:lang="pt">Editor de Vídeo</summary>
|
||||
<summary xml:lang="pt-BR">Editor de Vídeo</summary>
|
||||
@@ -72,6 +74,7 @@
|
||||
<p xml:lang="gl">Kdenlive é un editor de vídeo non lineal. Está baseado na infraestrutura MLT e permite moitos formatos de son e vídeo, e permite engadir efectos, engadir transicións, e exportar en calquera formato.</p>
|
||||
<p xml:lang="it">Kdenlive è un editor video non lineare. È basato sull'infrastruttura MLT e accetta numerosi formati audio e video, consente di aggiungere effetti, transizioni e produrre il formato che si desidera.</p>
|
||||
<p xml:lang="nl">Kdenlive is een niet lineaire videobewerker. Het is gebaseerd op het MLT-framework en accepteert vele audio- en video-formaten, biedt de mogelijkheid effecten en overgangen toe te voegen en om te zetten naar het formaat van uw keuze.</p>
|
||||
<p xml:lang="nn">Kdenlive er eit program for ikkje-lineær videoredigering. Det er basert på MLT-rammeverket og støttar mange ulike video- og lydformat. Du kan leggja til spesialeffektar og overgangar, og eksportera til ulike filformat.</p>
|
||||
<p xml:lang="pl">Kdenlive jest nieliniowym edytorem wideo. Oparty jest na szkielecie MLT i może pracować na wielu formatach obrazu i dźwięku, umożliwia dodawanie efektów, przejść i renderowanie ich do dowolnego formatu.</p>
|
||||
<p xml:lang="pt">O Kdenlive é um editor de vídeo não-linear. Baseia-se na plataforma MLT e aceita diversos formatos de áudio e vídeo, permitindo-lhe adicionar efeitos, transições e gravar no formato da sua escolha.</p>
|
||||
<p xml:lang="pt-BR">Kdenlive é um editor de vídeo não-linear. É baseado na plataforma MLT e aceita diversos formatos de áudio e vídeo, permitindo-lhe adicionar efeitos, transições e gravar no formato da sua escolha.</p>
|
||||
@@ -100,6 +103,7 @@
|
||||
<p xml:lang="gl">Funcionalidades:</p>
|
||||
<p xml:lang="it">Funzionalità:</p>
|
||||
<p xml:lang="nl">Mogelijkheden:</p>
|
||||
<p xml:lang="nn">Funksjonar:</p>
|
||||
<p xml:lang="pl">Możliwości:</p>
|
||||
<p xml:lang="pt">Funcionalidades:</p>
|
||||
<p xml:lang="pt-BR">Funcionalidades:</p>
|
||||
@@ -125,6 +129,7 @@
|
||||
<li xml:lang="gl">Interface intuitiva con varias pistas.</li>
|
||||
<li xml:lang="it">Interfaccia multitraccia intuitiva.</li>
|
||||
<li xml:lang="nl">Intuïtief interface met meerdere tracks.</li>
|
||||
<li xml:lang="nn">Intuitivt fleirsporsgrensesnitt.</li>
|
||||
<li xml:lang="pl">Intuicyjny interfejs wielościeżkowy.</li>
|
||||
<li xml:lang="pt">Interface multi-faixas intuitiva.</li>
|
||||
<li xml:lang="pt-BR">Interface multifaixa intuitiva.</li>
|
||||
@@ -150,6 +155,7 @@
|
||||
<li xml:lang="gl">Moitos efectos e transicións.</li>
|
||||
<li xml:lang="it">Numerosi effetti e transizioni.</li>
|
||||
<li xml:lang="nl">Veel effecten en overgangen.</li>
|
||||
<li xml:lang="nn">Mange effektar og overgangar.</li>
|
||||
<li xml:lang="pl">Wiele efektów i przejść.</li>
|
||||
<li xml:lang="pt">Diversos efeitos e transições.</li>
|
||||
<li xml:lang="pt-BR">Diversos efeitos e transições.</li>
|
||||
@@ -174,6 +180,7 @@
|
||||
<li xml:lang="gl">Ámbitos de cores.</li>
|
||||
<li xml:lang="it">Diagrammi di colore</li>
|
||||
<li xml:lang="nl">Kleurreeksen</li>
|
||||
<li xml:lang="nn">Fargeskop</li>
|
||||
<li xml:lang="pl">Zakresy barw</li>
|
||||
<li xml:lang="pt">Medições de cores</li>
|
||||
<li xml:lang="pt-BR">Escopo de cores</li>
|
||||
@@ -199,6 +206,7 @@
|
||||
<li xml:lang="gl">Asistente básico para DVD</li>
|
||||
<li xml:lang="it">Procedura guidata di base DVD</li>
|
||||
<li xml:lang="nl">Basis dvd-assistent</li>
|
||||
<li xml:lang="nn">Enkel DVD-vegvisar</li>
|
||||
<li xml:lang="pl">Pomocnik podstawowego DVD</li>
|
||||
<li xml:lang="pt">Assistente Básico de DVD's</li>
|
||||
<li xml:lang="pt-BR">Assistente básico para DVDs</li>
|
||||
|
||||
@@ -26,6 +26,7 @@ Name[mr]=के-डि-एनलाइव्ह
|
||||
Name[nb]=Kdenlive
|
||||
Name[nds]=Kdenlive
|
||||
Name[nl]=Kdenlive
|
||||
Name[nn]=Kdenlive
|
||||
Name[pl]=Kdenlive
|
||||
Name[pt]=Kdenlive
|
||||
Name[pt_BR]=Kdenlive
|
||||
@@ -66,6 +67,7 @@ GenericName[lv]=Video redaktors
|
||||
GenericName[mr]=व्हिडीओ संपादक
|
||||
GenericName[nb]=Videoredigeringsprogram
|
||||
GenericName[nl]=Video-bewerker
|
||||
GenericName[nn]=Videoredigering
|
||||
GenericName[pl]=Edytor wideo
|
||||
GenericName[pt]=Editor de Vídeo
|
||||
GenericName[pt_BR]=Editor de Vídeo
|
||||
@@ -104,6 +106,7 @@ Comment[lv]=Nelineārais video redaktors KDE videi
|
||||
Comment[mr]=केडीई करिता अरेषीय व्हिडीओ संपादक
|
||||
Comment[nb]=Videoredigeringsprogram for KDE med dataklipping
|
||||
Comment[nl]=Niet-lineaire video-bewerker voor KDE
|
||||
Comment[nn]=Program for ikkje-lineær videoredigering
|
||||
Comment[pl]=Nieliniowy edytor wideo dla KDE
|
||||
Comment[pt]=Editor de vídeo não-linear para o KDE
|
||||
Comment[pt_BR]=Editor de vídeo não-linear para o KDE
|
||||
@@ -139,6 +142,7 @@ Keywords[fr]=montage;vidéo;audio;mlt;kde;
|
||||
Keywords[gl]=editing;edición;video;vídeo;audio;son;mlt;kde;
|
||||
Keywords[it]=editing;video;audio;mlt;kde;
|
||||
Keywords[nl]=bewerken;video;audio;mlt;kde;
|
||||
Keywords[nn]=redigering;video;lyd;mlt;kde;
|
||||
Keywords[pl]=edytowanie;video;wideo;filmy;audio;dźwięk;mlt;kde;
|
||||
Keywords[pt]=edição;vídeo;áudio;MLT;kde;
|
||||
Keywords[pt_BR]=edição;vídeo;áudio;mlt;kde;
|
||||
|
||||
@@ -29,7 +29,6 @@
|
||||
#include <KGuiItem>
|
||||
#include <KTar>
|
||||
#include <QDebug>
|
||||
#include <KIO/MkdirJob>
|
||||
#include <KJobWidgets>
|
||||
#include <kio/directorysizejob.h>
|
||||
#include <KMessageWidget>
|
||||
@@ -53,7 +52,7 @@ ArchiveWidget::ArchiveWidget(const QString &projectName, const QDomDocument &doc
|
||||
setAttribute(Qt::WA_DeleteOnClose);
|
||||
setupUi(this);
|
||||
setWindowTitle(i18n("Archive Project"));
|
||||
archive_url->setUrl(QUrl(QDir::homePath()));
|
||||
archive_url->setUrl(QUrl::fromLocalFile(QDir::homePath()));
|
||||
connect(archive_url, SIGNAL(textChanged(QString)), this, SLOT(slotCheckSpace()));
|
||||
connect(this, SIGNAL(archivingFinished(bool)), this, SLOT(slotArchivingFinished(bool)));
|
||||
connect(this, SIGNAL(archiveProgress(int)), this, SLOT(slotArchivingProgress(int)));
|
||||
@@ -232,7 +231,7 @@ ArchiveWidget::ArchiveWidget(const QUrl &url, QWidget * parent):
|
||||
files_list->setHidden(true);
|
||||
label->setText(i18n("Extract to"));
|
||||
setWindowTitle(i18n("Open Archived Project"));
|
||||
archive_url->setUrl(QUrl(QDir::homePath()));
|
||||
archive_url->setUrl(QUrl::fromLocalFile(QDir::homePath()));
|
||||
buttonBox->button(QDialogButtonBox::Apply)->setText(i18n("Extract"));
|
||||
connect(buttonBox->button(QDialogButtonBox::Apply), SIGNAL(clicked()), this, SLOT(slotStartExtracting()));
|
||||
buttonBox->button(QDialogButtonBox::Apply)->setEnabled(true);
|
||||
@@ -325,12 +324,12 @@ void ArchiveWidget::generateItems(QTreeWidgetItem *parentItem, const QStringList
|
||||
bool isSlideshow = parentItem->data(0, Qt::UserRole).toString() == QLatin1String("slideshows");
|
||||
foreach(const QString & file, items) {
|
||||
QTreeWidgetItem *item = new QTreeWidgetItem(parentItem, QStringList() << file);
|
||||
fileName = QUrl(file).fileName();
|
||||
fileName = QUrl::fromLocalFile(file).fileName();
|
||||
if (isSlideshow) {
|
||||
// we store each slideshow in a separate subdirectory
|
||||
item->setData(0, Qt::UserRole, ix);
|
||||
ix++;
|
||||
QUrl slideUrl(file);
|
||||
QUrl slideUrl = QUrl::fromLocalFile(file);
|
||||
QDir dir(slideUrl.adjusted(QUrl::RemoveFilename).path());
|
||||
if (slideUrl.fileName().startsWith(QLatin1String(".all."))) {
|
||||
// mimetype slideshow (for example *.png)
|
||||
@@ -410,12 +409,12 @@ void ArchiveWidget::generateItems(QTreeWidgetItem *parentItem, const QMap <QStri
|
||||
QTreeWidgetItem *item = new QTreeWidgetItem(parentItem, QStringList() << file);
|
||||
// Store the clip's id
|
||||
item->setData(0, Qt::UserRole + 2, it.key());
|
||||
fileName = QUrl(file).fileName();
|
||||
fileName = QUrl::fromLocalFile(file).fileName();
|
||||
if (isSlideshow) {
|
||||
// we store each slideshow in a separate subdirectory
|
||||
item->setData(0, Qt::UserRole, ix);
|
||||
ix++;
|
||||
QUrl slideUrl(file);
|
||||
QUrl slideUrl = QUrl::fromLocalFile(file);
|
||||
QDir dir(slideUrl.adjusted(QUrl::RemoveFilename).path());
|
||||
if (slideUrl.fileName().startsWith(QLatin1String(".all."))) {
|
||||
// mimetype slideshow (for example *.png)
|
||||
@@ -455,7 +454,7 @@ void ArchiveWidget::generateItems(QTreeWidgetItem *parentItem, const QMap <QStri
|
||||
item->setData(0, Qt::UserRole + 1, slideImages);
|
||||
item->setData(0, Qt::UserRole + 3, totalSize);
|
||||
m_requestedSize += totalSize;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (filesList.contains(fileName)) {
|
||||
// we have 2 files with same name
|
||||
@@ -528,7 +527,7 @@ bool ArchiveWidget::slotStartArchiving(bool firstPass)
|
||||
QTreeWidgetItem *parentItem;
|
||||
bool isSlideshow = false;
|
||||
int items = 0;
|
||||
|
||||
|
||||
// We parse all files going into one folder, then start the copy job
|
||||
for (int i = 0; i < files_list->topLevelItemCount(); ++i) {
|
||||
parentItem = files_list->topLevelItem(i);
|
||||
@@ -538,12 +537,11 @@ bool ArchiveWidget::slotStartArchiving(bool firstPass)
|
||||
}
|
||||
if (parentItem->childCount() > 0) {
|
||||
if (parentItem->data(0, Qt::UserRole).toString() == QLatin1String("slideshows")) {
|
||||
QUrl slideFolder(archive_url->url().path() + QDir::separator() + "slideshows");
|
||||
QUrl slideFolder = QUrl::fromLocalFile(archive_url->url().path() + "/slideshows");
|
||||
if (isArchive) m_foldersList.append(QStringLiteral("slideshows"));
|
||||
else {
|
||||
KIO::MkdirJob *job = KIO::mkdir(slideFolder);
|
||||
KJobWidgets::setWindow(job, QApplication::activeWindow());
|
||||
if (!job->exec()) {
|
||||
QDir dir(slideFolder.path());
|
||||
if (!dir.mkpath(QStringLiteral("."))) {
|
||||
KMessageBox::sorry(this, i18n("Cannot create directory %1", slideFolder.path()));
|
||||
}
|
||||
}
|
||||
@@ -553,7 +551,7 @@ bool ArchiveWidget::slotStartArchiving(bool firstPass)
|
||||
files_list->setCurrentItem(parentItem);
|
||||
parentItem->setExpanded(true);
|
||||
destPath = parentItem->data(0, Qt::UserRole).toString() + '/';
|
||||
destUrl = QUrl(archive_url->url().path() + QDir::separator() + destPath);
|
||||
destUrl = QUrl::fromLocalFile(archive_url->url().path() + "/" + destPath);
|
||||
QTreeWidgetItem *item;
|
||||
for (int j = 0; j < parentItem->childCount(); ++j) {
|
||||
item = parentItem->child(j);
|
||||
@@ -562,10 +560,10 @@ bool ArchiveWidget::slotStartArchiving(bool firstPass)
|
||||
items++;
|
||||
if (isSlideshow) {
|
||||
destPath += item->data(0, Qt::UserRole).toString() + '/';
|
||||
destUrl = QUrl(archive_url->url().path() + QDir::separator() + destPath);
|
||||
destUrl = QUrl::fromLocalFile(archive_url->url().path() + QDir::separator() + destPath);
|
||||
QStringList srcFiles = item->data(0, Qt::UserRole + 1).toStringList();
|
||||
for (int k = 0; k < srcFiles.count(); ++k) {
|
||||
files << QUrl(srcFiles.at(k));
|
||||
files << QUrl::fromLocalFile(srcFiles.at(k));
|
||||
}
|
||||
item->setDisabled(true);
|
||||
if (parentItem->indexOfChild(item) == parentItem->childCount() - 1) {
|
||||
@@ -575,7 +573,7 @@ bool ArchiveWidget::slotStartArchiving(bool firstPass)
|
||||
break;
|
||||
}
|
||||
else if (item->data(0, Qt::UserRole).isNull()) {
|
||||
files << QUrl(item->text(0));
|
||||
files << QUrl::fromLocalFile(item->text(0));
|
||||
}
|
||||
else {
|
||||
// We must rename the destination file, since another file with same name exists
|
||||
@@ -583,7 +581,7 @@ bool ArchiveWidget::slotStartArchiving(bool firstPass)
|
||||
if (isArchive) {
|
||||
m_filesList.insert(item->text(0), destPath + item->data(0, Qt::UserRole).toString());
|
||||
}
|
||||
else m_duplicateFiles.insert(QUrl(item->text(0)), QUrl(destUrl.path() + QDir::separator()+ item->data(0, Qt::UserRole).toString()));
|
||||
else m_duplicateFiles.insert(QUrl::fromLocalFile(item->text(0)), QUrl::fromLocalFile(destUrl.path() + "/" + item->data(0, Qt::UserRole).toString()));
|
||||
}
|
||||
}
|
||||
if (!isSlideshow) parentItem->setDisabled(true);
|
||||
@@ -596,9 +594,9 @@ bool ArchiveWidget::slotStartArchiving(bool firstPass)
|
||||
slotArchivingFinished(NULL, true);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
if (destPath.isEmpty()) {
|
||||
if (m_duplicateFiles.isEmpty()) return false;
|
||||
if (m_duplicateFiles.isEmpty()) return false;
|
||||
QMapIterator<QUrl, QUrl> i(m_duplicateFiles);
|
||||
if (i.hasNext()) {
|
||||
i.next();
|
||||
@@ -623,9 +621,8 @@ bool ArchiveWidget::slotStartArchiving(bool firstPass)
|
||||
slotStartArchiving(false);
|
||||
}
|
||||
else {
|
||||
KIO::MkdirJob *job = KIO::mkdir(destUrl);
|
||||
KJobWidgets::setWindow(job, QApplication::activeWindow());
|
||||
if (!job->exec()) {
|
||||
QDir dir(destUrl.path());
|
||||
if (!dir.mkpath(QStringLiteral("."))) {
|
||||
KMessageBox::sorry(this, i18n("Cannot create directory %1", destUrl.path()));
|
||||
}
|
||||
m_copyJob = KIO::copy (files, destUrl, KIO::HideProgressInfo);
|
||||
@@ -689,26 +686,26 @@ bool ArchiveWidget::processProjectFile()
|
||||
for (int i = 0; i < files_list->topLevelItemCount(); ++i) {
|
||||
QTreeWidgetItem *parentItem = files_list->topLevelItem(i);
|
||||
if (parentItem->childCount() > 0) {
|
||||
destUrl = QUrl(archive_url->url().path() + QDir::separator() + parentItem->data(0, Qt::UserRole).toString());
|
||||
destUrl = QUrl::fromLocalFile(archive_url->url().path() + QDir::separator() + parentItem->data(0, Qt::UserRole).toString());
|
||||
bool isSlideshow = parentItem->data(0, Qt::UserRole).toString() == QLatin1String("slideshows");
|
||||
for (int j = 0; j < parentItem->childCount(); ++j) {
|
||||
item = parentItem->child(j);
|
||||
QUrl src(item->text(0));
|
||||
QUrl src = QUrl::fromLocalFile(item->text(0));
|
||||
QUrl dest = destUrl;
|
||||
if (isSlideshow) {
|
||||
dest = QUrl(destUrl.path() + QDir::separator() + item->data(0, Qt::UserRole).toString() + '/' + src.fileName());
|
||||
dest = QUrl::fromLocalFile(destUrl.path() + QDir::separator() + item->data(0, Qt::UserRole).toString() + "/" + src.fileName());
|
||||
}
|
||||
else if (item->data(0, Qt::UserRole).isNull()) {
|
||||
dest = QUrl(destUrl.path() + QDir::separator() + src.fileName());
|
||||
dest = QUrl::fromLocalFile(destUrl.path() + QDir::separator() + src.fileName());
|
||||
}
|
||||
else {
|
||||
dest = QUrl(destUrl.path() + QDir::separator() + item->data(0, Qt::UserRole).toString());
|
||||
dest = QUrl::fromLocalFile(destUrl.path() + "/" + item->data(0, Qt::UserRole).toString());
|
||||
}
|
||||
m_replacementList.insert(src, dest);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
QDomElement mlt = m_doc.documentElement();
|
||||
QString root = mlt.attribute(QStringLiteral("root")) + '/';
|
||||
|
||||
@@ -726,12 +723,12 @@ bool ArchiveWidget::processProjectFile()
|
||||
QDomElement e = prods.item(i).toElement();
|
||||
if (e.isNull()) continue;
|
||||
if (e.hasAttribute(QStringLiteral("resource"))) {
|
||||
QUrl src(e.attribute(QStringLiteral("resource")));
|
||||
QUrl src = QUrl::fromLocalFile(e.attribute(QStringLiteral("resource")));
|
||||
QUrl dest = m_replacementList.value(src);
|
||||
if (!dest.isEmpty()) e.setAttribute(QStringLiteral("resource"), dest.path());
|
||||
}
|
||||
if (e.hasAttribute(QStringLiteral("kdenlive:proxy")) && e.attribute(QStringLiteral("kdenlive:proxy")) != QLatin1String("-")) {
|
||||
QUrl src(e.attribute(QStringLiteral("kdenlive:proxy")));
|
||||
QUrl src = QUrl::fromLocalFile(e.attribute(QStringLiteral("kdenlive:proxy")));
|
||||
QUrl dest = m_replacementList.value(src);
|
||||
if (!dest.isEmpty()) e.setAttribute(QStringLiteral("kdenlive:proxy"), dest.path());
|
||||
}
|
||||
@@ -789,7 +786,7 @@ bool ArchiveWidget::processProjectFile()
|
||||
m_archiveThread = QtConcurrent::run(this, &ArchiveWidget::createArchive);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
QString path = archive_url->url().path() + QDir::separator() + m_name + ".kdenlive";
|
||||
QFile file(path);
|
||||
if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
|
||||
@@ -876,9 +873,8 @@ void ArchiveWidget::slotStartExtracting()
|
||||
}
|
||||
QFileInfo f(m_extractUrl.path());
|
||||
m_requestedSize = f.size();
|
||||
KIO::MkdirJob *job = KIO::mkdir(archive_url->url());
|
||||
KJobWidgets::setWindow(job, QApplication::activeWindow());
|
||||
if (!job->exec()) {
|
||||
QDir dir(archive_url->url().path());
|
||||
if (!dir.mkpath(QStringLiteral("."))) {
|
||||
KMessageBox::sorry(this, i18n("Cannot create directory %1", archive_url->url().path()));
|
||||
}
|
||||
slotDisplayMessage(QStringLiteral("system-run"), i18n("Extracting..."));
|
||||
|
||||
@@ -24,6 +24,7 @@ Name[lv]=MLT repertuārs
|
||||
Name[mr]=MLT प्लेलिस्ट
|
||||
Name[nb]=MLT-spilleliste
|
||||
Name[nl]=MLT-afspeellijst
|
||||
Name[nn]=MLT-speleliste
|
||||
Name[pl]=Lista odtwarzania MLT
|
||||
Name[pt]=Lista de Reprodução MLT
|
||||
Name[pt_BR]=Lista de Reprodução MLT
|
||||
|
||||
Reference in New Issue
Block a user