Compare commits

...

9 Commits

Author SHA1 Message Date
Julius Künzel
03170f45d2 Supplement to "Disable pip on Flatpak (we bundle the deps there)"
(Commit f9ef095b97)

(cherry picked from commit d34c03e636)
2022-07-03 19:36:37 +02:00
Julius Künzel
1d82251684 Fix syntax error
(cherry picked from commit 6ce98a1519)
2022-07-03 19:36:23 +02:00
Julius Künzel
13b4602571 [Python Interface] Disable pip on Flatpak (we bundle the deps there)
This fixes a regression that blocks otio and sst features while
complaining about missing pip3

(cherry picked from commit f9ef095b97)
2022-07-03 19:36:01 +02:00
Heiko Becker
390af55450 GIT_SILENT Update Appstream for new release 2022-07-01 20:57:43 +02:00
Heiko Becker
331bc423da GIT_SILENT Upgrade release service version to 22.04.3. 2022-07-01 20:34:29 +02:00
Jean-Baptiste Mardelle
e77e578e1f Fix type (spotted by erjiang) 2022-06-29 08:51:51 +02:00
Jean-Baptiste Mardelle
59a39a977d Fix effect parameter spin box incrementing twice on mouse wheel 2022-06-29 08:51:24 +02:00
Jean-Baptiste Mardelle
5c9135c962 Fix compilation - wrong change committed 2022-06-29 08:50:40 +02:00
Jean-Baptiste Mardelle
aefb843254 Fix bug and warning calculating available mix duration when no frame is available 2022-06-29 08:50:31 +02:00
7 changed files with 38 additions and 22 deletions

View File

@@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.16)
# KDE Application Version, managed by release script
set (RELEASE_SERVICE_VERSION_MAJOR "22")
set (RELEASE_SERVICE_VERSION_MINOR "04")
set (RELEASE_SERVICE_VERSION_MICRO "2")
set (RELEASE_SERVICE_VERSION_MICRO "3")
set(KDENLIVE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")

View File

@@ -242,10 +242,10 @@
</ul>
</description>
<releases>
<release version="22.04.3" date="2022-07-07"/>
<release version="22.04.2" date="2022-06-09"/>
<release version="22.04.1" date="2022-05-12"/>
<release version="22.04.0" date="2022-04-21"/>
<release version="21.12.3" date="2022-03-03"/>
</releases>
<url type="homepage">https://kdenlive.org/</url>
<url type="bugtracker">https://bugs.kde.org</url>

View File

@@ -647,7 +647,7 @@ const QSize ClipController::getFrameSize() const
width = m_masterProducer->get_int("kdenlive:original.width");
}
if (height == 0) {
width = m_masterProducer->get_int("kdenlive:original.height");
height = m_masterProducer->get_int("kdenlive:original.height");
}
if (width > 0 && height > 0) {
return QSize(width, height);

View File

@@ -42,23 +42,28 @@ PythonDependencyMessage::PythonDependencyMessage(QWidget *parent, AbstractPython
}
});
connect(m_interface, &AbstractPythonInterface::dependenciesMissing, this, [&](const QStringList &messages){
m_installAction->setEnabled(true);
m_installAction->setText(i18n("Install missing dependencies"));
addAction(m_installAction);
connect(m_interface, &AbstractPythonInterface::dependenciesMissing, this, [&](const QStringList &messages) {
if (!m_interface->installDisabled()) {
m_installAction->setEnabled(true);
m_installAction->setText(i18n("Install missing dependencies"));
addAction(m_installAction);
}
doShowMessage(messages.join(QStringLiteral("\n")), KMessageWidget::Warning);
});
connect(m_interface, &AbstractPythonInterface::proposeUpdate, this, [&](const QString &message){
// only allow upgrading python modules once
m_installAction->setText(i18n("Check for update"));
m_installAction->setEnabled(true);
addAction(m_installAction);
doShowMessage(message, KMessageWidget::Warning);
});
if (!m_interface->installDisabled()) {
connect(m_interface, &AbstractPythonInterface::proposeUpdate, this, [&](const QString &message) {
// only allow upgrading python modules once
m_installAction->setText(i18n("Check for update"));
m_installAction->setEnabled(true);
addAction(m_installAction);
doShowMessage(message, KMessageWidget::Warning);
});
}
connect(m_interface, &AbstractPythonInterface::dependenciesAvailable, this, [&](){
if (!m_updated) {
connect(m_interface, &AbstractPythonInterface::dependenciesAvailable, this, [&]() {
if (!m_updated && !m_interface->installDisabled()) {
// only allow upgrading python modules once
m_installAction->setText(i18n("Check for update"));
m_installAction->setEnabled(true);
@@ -109,6 +114,7 @@ AbstractPythonInterface::AbstractPythonInterface(QObject *parent)
: QObject{parent}
, m_dependencies()
, m_versions(new QMap<QString, QString>())
, m_disableInstall(pCore->packageType() == QStringLiteral("flatpak"))
, m_scripts(new QMap<QString, QString>())
{
addScript(QStringLiteral("checkpackages.py"));
@@ -138,7 +144,7 @@ bool AbstractPythonInterface::checkSetup()
"listed in PATH environment variable"));
return false;
}
if (m_pip3Exec.isEmpty()) {
if (m_pip3Exec.isEmpty() && !m_disableInstall) {
emit setupError(i18n("Cannot find pip3, please install it on your system.\n"
"If already installed, check it is installed in a directory "
"listed in PATH environment variable"));
@@ -242,6 +248,9 @@ int AbstractPythonInterface::versionToInt(const QString &version) {
void AbstractPythonInterface::checkVersions(bool signalOnResult)
{
if (installDisabled()) {
return;
}
QString output = runPackageScript(QStringLiteral("--details"));
if (output.isEmpty()) {
return;

View File

@@ -46,6 +46,7 @@ public:
QString runScript(const QString &scriptpath, QStringList args = {}, const QString &firstarg = {});
QString pythonExec() { return m_pyExec; };
void proposeMaybeUpdate(const QString &dependency, const QString &minVersion);
bool installDisabled() { return m_disableInstall; };
friend class PythonDependencyMessage;
@@ -55,6 +56,7 @@ private:
QMap<QString, QString> m_dependencies;
QStringList m_missing;
QMap<QString, QString> *m_versions;
bool m_disableInstall;
void installMissingDependencies();
QString locateScript(const QString &script);

View File

@@ -938,9 +938,12 @@ bool TimelineModel::mixClip(int idToMove, const QString &mixId, int delta)
}
// Make sure we have enough space in clip to resize
// leftMax is the maximum frames we have to expand first clip on the right
leftMax = m_allClips[s]->getPlaytime();
leftMax = m_allClips[previousClip]->m_endlessResize
? m_allClips[s]->getPlaytime()
: qMin(m_allClips[s]->getPlaytime(), m_allClips[previousClip]->getMaxDuration() - m_allClips[previousClip]->getOut() - 1);
// rightMax is the maximum frames we have to expand second clip on the left
rightMax = m_allClips[previousClip]->getPlaytime();
rightMax = m_allClips[s]->m_endlessResize ? m_allClips[previousClip]->getPlaytime()
: qMin(m_allClips[previousClip]->getPlaytime(), m_allClips[s]->getIn());
if (getTrackById_const(selectedTrack)->hasStartMix(previousClip)) {
int spaceBeforeMix = m_allClips[s]->getPosition() - (m_allClips[previousClip]->getPosition() + m_allClips[previousClip]->getMixDuration());
rightMax = rightMax == -1 ? spaceBeforeMix : qMin(rightMax, spaceBeforeMix);
@@ -965,9 +968,10 @@ bool TimelineModel::mixClip(int idToMove, const QString &mixId, int delta)
// Mix at end of selected clip
// Make sure we have enough space in clip to resize
// leftMax is the maximum frames we have to expand first clip on the right
leftMax = m_allClips[nextClip]->getPlaytime();
leftMax = m_allClips[s]->m_endlessResize ? m_allClips[nextClip]->getPlaytime()
: qMin(m_allClips[nextClip]->getPlaytime(), m_allClips[s]->getMaxDuration() - m_allClips[s]->getOut() - 1);
// rightMax is the maximum frames we have to expand second clip on the left
rightMax = m_allClips[s]->getPlaytime();
rightMax = m_allClips[nextClip]->m_endlessResize ? m_allClips[s]->getPlaytime() : qMin(m_allClips[s]->getPlaytime(), m_allClips[nextClip]->getIn());
if (getTrackById_const(selectedTrack)->hasStartMix(s)) {
int spaceBeforeMix = m_allClips[nextClip]->getPosition() - (m_allClips[s]->getPosition() + m_allClips[s]->getMixDuration());
rightMax = rightMax == -1 ? spaceBeforeMix : qMin(rightMax, spaceBeforeMix);

View File

@@ -175,7 +175,8 @@ bool DragValue::eventFilter(QObject *watched, QEvent *event)
m_label->slotValueDec();
}
// Stop processing, event accepted
return false;
event->accept();
return true;
}
return QObject::eventFilter(watched, event);
}