mirror of
https://invent.kde.org/multimedia/kdenlive
synced 2025-12-06 08:20:01 +01:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
159a547758 | ||
|
|
358092bcca | ||
|
|
42e9741644 | ||
|
|
11e4fdec16 | ||
|
|
31f196d1f6 | ||
|
|
94654e4e7b | ||
|
|
3a8cf0952c |
@@ -1,6 +1,6 @@
|
||||
project(kdenlive)
|
||||
|
||||
SET(BASE_VERSION 0.7.7)
|
||||
SET(BASE_VERSION 0.7.7.1)
|
||||
|
||||
OPTION(RELEASE_BUILD "Remove compilation date to version, use for stable releases (default off)" ON)
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules )
|
||||
|
||||
3074
po/pl/kdenlive.po
3074
po/pl/kdenlive.po
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
add_subdirectory( widgets )
|
||||
add_subdirectory( mimetypes )
|
||||
|
||||
find_package(Nepomuk)
|
||||
macro_optional_find_package(Nepomuk)
|
||||
|
||||
if (Nepomuk_FOUND)
|
||||
INCLUDE_DIRECTORIES(NEPOMUK_INCLUDES )
|
||||
|
||||
@@ -227,7 +227,7 @@ void EffectStackEdit::transferParamDesc(const QDomElement d, int in, int out)
|
||||
m_valueItems[paramName+"complex"] = pl;
|
||||
connect(pl, SIGNAL(parameterChanged()), this, SLOT(collectAllParameters()));
|
||||
} else if (type == "geometry") {
|
||||
Geometryval *geo = new Geometryval(m_profile, m_frameSize);
|
||||
Geometryval *geo = new Geometryval(m_profile, m_frameSize, m_in);
|
||||
geo->setupParam(pa, minFrame, maxFrame);
|
||||
m_vbox->addWidget(geo);
|
||||
m_valueItems[paramName+"geometry"] = geo;
|
||||
@@ -339,7 +339,7 @@ void EffectStackEdit::transferParamDesc(const QDomElement d, int in, int out)
|
||||
|
||||
void EffectStackEdit::slotSeekToPos(int pos)
|
||||
{
|
||||
emit seekTimeline(pos - m_in);
|
||||
emit seekTimeline(pos);
|
||||
}
|
||||
|
||||
wipeInfo EffectStackEdit::getWipeInfo(QString value)
|
||||
|
||||
@@ -28,14 +28,15 @@
|
||||
#include <QInputDialog>
|
||||
|
||||
|
||||
Geometryval::Geometryval(const MltVideoProfile profile, QPoint frame_size, QWidget* parent) :
|
||||
Geometryval::Geometryval(const MltVideoProfile profile, QPoint frame_size, int startPoint, QWidget* parent) :
|
||||
QWidget(parent),
|
||||
m_profile(profile),
|
||||
m_paramRect(NULL),
|
||||
m_geom(NULL),
|
||||
m_path(NULL),
|
||||
m_fixedMode(false),
|
||||
m_frameSize(frame_size)
|
||||
m_frameSize(frame_size),
|
||||
m_startPoint(startPoint)
|
||||
{
|
||||
setupUi(this);
|
||||
QVBoxLayout* vbox = new QVBoxLayout(widget);
|
||||
@@ -324,7 +325,7 @@ void Geometryval::slotSyncCursor()
|
||||
|
||||
void Geometryval::slotPositionChanged(int pos, bool seek)
|
||||
{
|
||||
if (seek && KdenliveSettings::transitionfollowcursor()) emit seekToPos(pos);
|
||||
if (seek && KdenliveSettings::transitionfollowcursor()) emit seekToPos(pos + m_startPoint);
|
||||
spinPos->setValue(pos);
|
||||
m_helper->setValue(pos);
|
||||
Mlt::GeometryItem item;
|
||||
|
||||
@@ -41,7 +41,7 @@ class Geometryval : public QWidget, public Ui::Geometryval
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit Geometryval(const MltVideoProfile profile, QPoint frame_size, QWidget* parent = 0);
|
||||
explicit Geometryval(const MltVideoProfile profile, QPoint frame_size, int startPoint = 0, QWidget* parent = 0);
|
||||
virtual ~Geometryval();
|
||||
QDomElement getParamDesc();
|
||||
QString getValue() const;
|
||||
@@ -65,6 +65,7 @@ private:
|
||||
Ui::GeometryPosition_UI m_view;
|
||||
void updateTransitionPath();
|
||||
double m_dar;
|
||||
int m_startPoint;
|
||||
QGraphicsView *m_sceneview;
|
||||
|
||||
public slots:
|
||||
|
||||
@@ -383,7 +383,7 @@ void KeyframeEdit::slotAdjustKeyframeInfo(bool seek)
|
||||
sl->setValue(keyframe_list->item(item->row(), col)->text().toInt());
|
||||
sl->blockSignals(false);
|
||||
}
|
||||
if (KdenliveSettings::keyframeseek() && seek) emit seekToPos(keyframe_pos->value());
|
||||
if (KdenliveSettings::keyframeseek() && seek) emit seekToPos(keyframe_pos->value() - m_min);
|
||||
}
|
||||
|
||||
void KeyframeEdit::slotAdjustKeyframePos(int value)
|
||||
@@ -394,7 +394,7 @@ void KeyframeEdit::slotAdjustKeyframePos(int value)
|
||||
else val = m_timecode.getTimecodeFromFrames(value);
|
||||
keyframe_list->verticalHeaderItem(item->row())->setText(val);
|
||||
slotGenerateParams(item->row(), -1);
|
||||
if (KdenliveSettings::keyframeseek()) emit seekToPos(value);
|
||||
if (KdenliveSettings::keyframeseek()) emit seekToPos(value - m_min);
|
||||
}
|
||||
|
||||
void KeyframeEdit::slotAdjustKeyframeValue(int /*value*/)
|
||||
|
||||
@@ -344,32 +344,32 @@ void TrackView::parseDocument(QDomDocument doc)
|
||||
QDomElement base = MainWindow::transitions.getEffectByTag(mlt_service, transitionId).cloneNode().toElement();
|
||||
|
||||
for (int k = 0; k < transitionparams.count(); k++) {
|
||||
p = transitionparams.item(k).toElement();
|
||||
if (!p.isNull()) {
|
||||
QString paramName = p.attribute("name");
|
||||
QString paramValue = p.text();
|
||||
p = transitionparams.item(k).toElement();
|
||||
if (!p.isNull()) {
|
||||
QString paramName = p.attribute("name");
|
||||
QString paramValue = p.text();
|
||||
|
||||
QDomNodeList params = base.elementsByTagName("parameter");
|
||||
if (paramName != "a_track" && paramName != "b_track") for (int i = 0; i < params.count(); i++) {
|
||||
QDomElement e = params.item(i).toElement();
|
||||
if (!e.isNull() && e.attribute("tag") == paramName) {
|
||||
if (e.attribute("type") == "double") {
|
||||
QString factor = e.attribute("factor", "1");
|
||||
if (factor != "1") {
|
||||
double fact;
|
||||
if (factor.startsWith('%')) {
|
||||
fact = ProfilesDialog::getStringEval(m_doc->mltProfile(), factor);
|
||||
} else fact = factor.toDouble();
|
||||
double val = paramValue.toDouble() * fact;
|
||||
paramValue = QString::number(val);
|
||||
QDomNodeList params = base.elementsByTagName("parameter");
|
||||
if (paramName != "a_track" && paramName != "b_track") for (int i = 0; i < params.count(); i++) {
|
||||
QDomElement e = params.item(i).toElement();
|
||||
if (!e.isNull() && e.attribute("tag") == paramName) {
|
||||
if (e.attribute("type") == "double") {
|
||||
QString factor = e.attribute("factor", "1");
|
||||
if (factor != "1") {
|
||||
double fact;
|
||||
if (factor.startsWith('%')) {
|
||||
fact = ProfilesDialog::getStringEval(m_doc->mltProfile(), factor);
|
||||
} else fact = factor.toDouble();
|
||||
double val = paramValue.toDouble() * fact;
|
||||
paramValue = QString::number(val);
|
||||
}
|
||||
}
|
||||
e.setAttribute("value", paramValue);
|
||||
break;
|
||||
}
|
||||
e.setAttribute("value", paramValue);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*QDomDocument doc;
|
||||
doc.appendChild(doc.importNode(base, true));
|
||||
|
||||
@@ -70,7 +70,7 @@ Transition::Transition(const ItemInfo info, int transitiontrack, double fps, QDo
|
||||
if (m_automaticTransition) m_parameters.setAttribute("automatic", 1);
|
||||
else if (m_parameters.attribute("automatic") == "1") m_automaticTransition = true;
|
||||
if (m_parameters.attribute("force_track") == "1") m_forceTransitionTrack = true;
|
||||
m_name = m_parameters.elementsByTagName("name").item(0).toElement().text();
|
||||
m_name = i18n(m_parameters.elementsByTagName("name").item(0).toElement().text().toUtf8().data());
|
||||
m_secondClip = 0;
|
||||
|
||||
//m_referenceClip->addTransition(this);
|
||||
@@ -92,16 +92,18 @@ Transition *Transition::clone()
|
||||
return tr;
|
||||
}
|
||||
|
||||
QString Transition::transitionName() const
|
||||
{
|
||||
return m_name;
|
||||
}
|
||||
|
||||
QString Transition::transitionTag() const
|
||||
{
|
||||
return m_parameters.attribute("tag");
|
||||
}
|
||||
|
||||
QStringList Transition::transitionInfo() const
|
||||
{
|
||||
QStringList info;
|
||||
info << m_name << m_parameters.attribute("tag") << m_parameters.attribute("id");
|
||||
return info;
|
||||
}
|
||||
|
||||
bool Transition::isAutomatic() const
|
||||
{
|
||||
return m_automaticTransition;
|
||||
@@ -125,7 +127,7 @@ void Transition::setTransitionParameters(const QDomElement params)
|
||||
m_parameters = params;
|
||||
if (m_parameters.attribute("force_track") == "1") setForcedTrack(true, m_parameters.attribute("transition_btrack").toInt());
|
||||
else if (m_parameters.attribute("force_track") == "0") setForcedTrack(false, m_parameters.attribute("transition_btrack").toInt());
|
||||
m_name = m_parameters.elementsByTagName("name").item(0).toElement().text();
|
||||
m_name = i18n(m_parameters.elementsByTagName("name").item(0).toElement().text().toUtf8().data());
|
||||
update();
|
||||
}
|
||||
|
||||
|
||||
@@ -54,8 +54,8 @@ public:
|
||||
bool hasClip(const ClipItem * clip) const;
|
||||
bool belongsToClip(const ClipItem * clip) const;
|
||||
bool invertedTransition() const;
|
||||
QString transitionName() const;
|
||||
QString transitionTag() const;
|
||||
QStringList transitionInfo() const;
|
||||
OPERATIONTYPE operationMode(QPointF pos);
|
||||
//const QMap < QString, QString > transitionParameters() const;
|
||||
void setTransitionParameters(const QDomElement params);
|
||||
|
||||
@@ -42,7 +42,7 @@ TransitionSettings::TransitionSettings(QWidget* parent) :
|
||||
connect(m_effectEdit, SIGNAL(seekTimeline(int)), this, SIGNAL(seekTimeline(int)));
|
||||
setEnabled(false);
|
||||
|
||||
QMap<QString, QStringList> transitionsList;
|
||||
QList<QStringList> transitionsList;
|
||||
int max = MainWindow::transitions.effectNames().count();
|
||||
QStringList transitionInfo;
|
||||
int ix = 0;
|
||||
@@ -50,11 +50,13 @@ TransitionSettings::TransitionSettings(QWidget* parent) :
|
||||
for (; ix < max; ix++) {
|
||||
transitionInfo = MainWindow::transitions.effectIdInfo(ix);
|
||||
transitionInfo << QString::number(ix);
|
||||
transitionsList.insert(transitionInfo.at(0).toLower(), transitionInfo);
|
||||
transitionsList.append(transitionInfo);
|
||||
}
|
||||
ix = 0;
|
||||
foreach(const QStringList &value, transitionsList) {
|
||||
transitionList->addItem(value.at(0));
|
||||
QStringList data = value;
|
||||
if (!data.isEmpty()) data.removeLast();
|
||||
transitionList->addItem(value.at(0), data);
|
||||
transitionList->setItemData(ix, MainWindow::transitions.getInfoFromIndex(value.last().toInt()), Qt::ToolTipRole);
|
||||
ix++;
|
||||
}
|
||||
@@ -150,7 +152,7 @@ void TransitionSettings::slotTransitionItemSelected(Transition* t, int nextTrack
|
||||
if (!t->forcedTrack()) transitionTrack->setCurrentIndex(0);
|
||||
else transitionTrack->setCurrentIndex(m_tracksCount + 1 - t->transitionEndTrack());
|
||||
transitionTrack->blockSignals(false);
|
||||
int ix = transitionList->findText(t->transitionName(), Qt::MatchExactly);
|
||||
int ix = transitionList->findData(t->transitionInfo(), Qt::UserRole, Qt::MatchExactly);
|
||||
m_usedTransition = t;
|
||||
if (ix != -1) {
|
||||
transitionList->blockSignals(true);
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
#include <QTimer>
|
||||
|
||||
const double recommendedMltVersion = 50;
|
||||
static const char version[] = VERSION;
|
||||
static const char kdenlive_version[] = VERSION;
|
||||
|
||||
Wizard::Wizard(bool upgrade, QWidget *parent) :
|
||||
QWizard(parent)
|
||||
@@ -48,7 +48,7 @@ Wizard::Wizard(bool upgrade, QWidget *parent) :
|
||||
page1->setTitle(i18n("Welcome"));
|
||||
QLabel *label;
|
||||
if (upgrade)
|
||||
label = new QLabel(i18n("Your Kdenlive version was upgraded to version %1. Please take some time to review the basic settings", QString(version).section(' ', 0, 0)));
|
||||
label = new QLabel(i18n("Your Kdenlive version was upgraded to version %1. Please take some time to review the basic settings", QString(kdenlive_version).section(' ', 0, 0)));
|
||||
else
|
||||
label = new QLabel(i18n("This is the first time you run Kdenlive. This wizard will let you adjust some basic settings, you will be ready to edit your first movie in a few seconds..."));
|
||||
label->setWordWrap(true);
|
||||
@@ -581,7 +581,7 @@ bool Wizard::isOk() const
|
||||
|
||||
void Wizard::slotShowWebInfos()
|
||||
{
|
||||
KRun::runUrl(KUrl("http://kdenlive.org/discover/" + QString(version).section(' ', 0, 0)), "text/html", this);
|
||||
KRun::runUrl(KUrl("http://kdenlive.org/discover/" + QString(kdenlive_version).section(' ', 0, 0)), "text/html", this);
|
||||
}
|
||||
|
||||
#include "wizard.moc"
|
||||
|
||||
Reference in New Issue
Block a user