Members of the KDE Community are recommended to subscribe to the kde-community mailing list at https://mail.kde.org/mailman/listinfo/kde-community to allow them to participate in important discussions and receive other important announcements

Reintroduce switch param type

parent 97076e46
......@@ -14,6 +14,7 @@ set(kdenlive_SRCS
assets/view/widgets/abstractparamwidget.cpp
#assets/view/widgets/animationwidget.cpp
assets/view/widgets/boolparamwidget.cpp
assets/view/widgets/switchparamwidget.cpp
assets/view/widgets/doubleparamwidget.cpp
assets/view/widgets/colorwheel.cpp
assets/view/widgets/slidewidget.cpp
......
......@@ -21,6 +21,7 @@
#include "animationwidget.h"
#include "assets/model/assetparametermodel.hpp"
#include "boolparamwidget.hpp"
#include "switchparamwidget.hpp"
#include "lumaliftgainparam.hpp"
#include "doubleparamwidget.hpp"
#include "geometryeditwidget.hpp"
......@@ -101,6 +102,9 @@ AbstractParamWidget *AbstractParamWidget::construct(const std::shared_ptr<AssetP
case ParamType::Wipe:
widget = new SlideWidget(model, index, parent);
break;
case ParamType::Switch:
widget = new SwitchParamWidget(model, index, parent);
break;
case ParamType::Animated:
case ParamType::RestrictedAnim:
// widget = new AnimationWidget(model, index, range, parent);
......@@ -108,7 +112,6 @@ AbstractParamWidget *AbstractParamWidget::construct(const std::shared_ptr<AssetP
// case ParamType::KeyframeParam:
// widget = new KeyframeEdit(model, index, parent);
// break;
case ParamType::Switch:
case ParamType::Addedgeometry:
case ParamType::Curve:
case ParamType::Bezier_spline:
......
/***************************************************************************
* Copyright (C) 2018 by Jean-Baptiste Mardelle *
* This file is part of Kdenlive. See www.kdenlive.org. *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) version 3 or any later version accepted by the *
* membership of KDE e.V. (or its successor approved by the membership *
* of KDE e.V.), which shall act as a proxy defined in Section 14 of *
* version 3 of the license. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
***************************************************************************/
#include "switchparamwidget.hpp"
#include "assets/model/assetparametermodel.hpp"
SwitchParamWidget::SwitchParamWidget(std::shared_ptr<AssetParameterModel> model, QModelIndex index, QWidget *parent)
: AbstractParamWidget(std::move(model), index, parent)
{
setupUi(this);
// setup the comment
QString name = m_model->data(m_index, AssetParameterModel::NameRole).toString();
QString comment = m_model->data(m_index, AssetParameterModel::CommentRole).toString();
setToolTip(comment);
m_labelComment->setText(comment);
m_widgetComment->setHidden(true);
// setup the name
m_labelName->setText(m_model->data(m_index, Qt::DisplayRole).toString());
// set check state
slotRefresh();
// emit the signal of the base class when appropriate
connect(this->m_checkBox, &QCheckBox::stateChanged, [this](int) {
emit valueChanged(m_index, m_checkBox->isChecked() ? m_model->data(m_index, AssetParameterModel::MaxRole).toString() : m_model->data(m_index, AssetParameterModel::MinRole).toString(), true); });
}
void SwitchParamWidget::slotShowComment(bool show)
{
if (!m_labelComment->text().isEmpty()) {
m_widgetComment->setVisible(show);
}
}
void SwitchParamWidget::slotRefresh()
{
m_checkBox->setChecked(m_model->data(m_index, AssetParameterModel::ValueRole) == m_model->data(m_index, AssetParameterModel::MaxRole));
}
void SwitchParamWidget::slotSetRange(QPair<int, int>)
{
}
/***************************************************************************
* Copyright (C) 2018 by Jean-Baptiste Mardelle *
* This file is part of Kdenlive. See www.kdenlive.org. *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) version 3 or any later version accepted by the *
* membership of KDE e.V. (or its successor approved by the membership *
* of KDE e.V.), which shall act as a proxy defined in Section 14 of *
* version 3 of the license. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
***************************************************************************/
#ifndef SWITCHPARAMWIDGET_H
#define SWITCHPARAMWIDGET_H
#include "abstractparamwidget.hpp"
#include "ui_boolparamwidget_ui.h"
#include <QWidget>
/** @brief This class represents a parameter that requires
the user to choose tick a checkbox
*/
class SwitchParamWidget : public AbstractParamWidget, public Ui::BoolParamWidget_UI
{
Q_OBJECT
public:
/** @brief Constructor for the widgetComment
@param name String containing the name of the parameter
@param comment Optional string containing the comment associated to the parameter
@param checked Boolean indicating wether the checkbox should initially be checked
@param parent Parent widget
*/
SwitchParamWidget(std::shared_ptr<AssetParameterModel> model, QModelIndex index, QWidget *parent);
public slots:
/** @brief Toggle the comments on or off
*/
void slotShowComment(bool show) override;
/** @brief refresh the properties to reflect changes in the model
*/
void slotRefresh() override;
/** @brief update the clip's in/out point
*/
void slotSetRange(QPair<int, int>) override;
};
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment