half way through keyframes data

This commit is contained in:
itsmattkc
2018-08-19 15:53:35 +10:00
parent dacf0efd9a
commit 859a17dfda
22 changed files with 352 additions and 238 deletions
+25 -1
View File
@@ -4,6 +4,8 @@
#include <QMenu>
#include <QDebug>
#include <QVBoxLayout>
#include <QResizeEvent>
#include <QScrollBar>
#include "panels/panels.h"
#include "effects/effect.h"
@@ -28,6 +30,12 @@ EffectControls::EffectControls(QWidget *parent) :
init_transitions();
clear_effects(false);
ui->headers->snapping = false;
ui->effects_area->parent_widget = ui->scrollArea;
ui->effects_area->keyframe_area = ui->keyframeView;
ui->effects_area->header = ui->headers;
connect(ui->keyframeScroller->verticalScrollBar(), SIGNAL(valueChanged(int)), ui->scrollArea->verticalScrollBar(), SLOT(setValue(int)));
}
EffectControls::~EffectControls() {
@@ -182,9 +190,18 @@ void EffectControls::load_effects() {
}
connect(container, SIGNAL(deselect_others(QWidget*)), this, SLOT(deselect_all_effects(QWidget*)));
connect(container, SIGNAL(visibleChanged()), ui->keyframeView, SLOT(reload()));
}
}
}
if (selected_clips.size() > 0) {
// ui->scrollArea->setMinimumWidth(ui->effects_area->width());
/*ui->effects_area->layout()->update();
ui->effects_area->layout()->activate();
qDebug() << ui->effects_area->height();
ui->keyframeView->resize(ui->keyframeView->width(), ui->effects_area->height());*/
ui->keyframeView->setMinimumHeight(ui->effects_area->height());
ui->keyframeView->setEnabled(true);
ui->keyframeView->visible_in = effects_in;
ui->keyframeView->visible_out = effects_out;
@@ -266,3 +283,10 @@ bool EffectControls::is_focused() {
}
return false;
}
EffectsArea::EffectsArea(QWidget* parent) : QWidget(parent) {}
void EffectsArea::resizeEvent(QResizeEvent *event) {
parent_widget->setMinimumWidth(sizeHint().width());
keyframe_area->setMinimumHeight(height() - header->height());
}
+11
View File
@@ -8,6 +8,17 @@ struct Clip;
class QMenu;
class Effect;
class TimelineHeader;
class QScrollArea;
class KeyframeView;
class EffectsArea : public QWidget {
public:
EffectsArea(QWidget* parent = 0);
void resizeEvent(QResizeEvent *event);
QScrollArea* parent_widget;
KeyframeView* keyframe_area;
TimelineHeader* header;
};
namespace Ui {
class EffectControls;
+122 -92
View File
@@ -40,44 +40,62 @@
<number>0</number>
</property>
<item>
<widget class="QScrollArea" name="scrollArea">
<property name="widgetResizable">
<bool>true</bool>
<widget class="QSplitter" name="splitter_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>619</width>
<height>489</height>
</rect>
<property name="childrenCollapsible">
<bool>false</bool>
</property>
<widget class="QScrollArea" name="scrollArea">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QVBoxLayout" name="verticalLayout_8">
<property name="spacing">
<number>0</number>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOn</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>225</width>
<height>477</height>
</rect>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QSplitter" name="splitter">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="childrenCollapsible">
<bool>false</bool>
</property>
<widget class="QWidget" name="effects_area" native="true">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="EffectsArea" name="effects_area" native="true">
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
@@ -399,69 +417,75 @@
</item>
</layout>
</widget>
<widget class="QScrollArea" name="scrollArea_2">
</item>
</layout>
</widget>
</widget>
<widget class="QScrollArea" name="keyframeScroller">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOn</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOn</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents_2">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>376</width>
<height>475</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="TimelineHeader" name="headers" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>1</horstretch>
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="widgetResizable">
<bool>true</bool>
<property name="minimumSize">
<size>
<width>0</width>
<height>15</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::ClickFocus</enum>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents_2">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>388</width>
<height>487</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="TimelineHeader" name="headers" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>15</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::ClickFocus</enum>
</property>
</widget>
</item>
<item>
<widget class="KeyframeView" name="keyframeView" native="true"/>
</item>
</layout>
</widget>
</widget>
</widget>
</item>
</layout>
</item>
<item>
<widget class="KeyframeView" name="keyframeView" native="true"/>
</item>
</layout>
</widget>
</widget>
</widget>
</item>
@@ -481,6 +505,12 @@
<header>ui/timelineheader.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>EffectsArea</class>
<extends>QWidget</extends>
<header>panels/effectcontrols.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections/>
+1 -1
View File
@@ -394,7 +394,7 @@ void Timeline::delete_selection(bool ripple_delete) {
}
int lerp(int a, int b, double t) {
return ((1.0 - t) * a) + (t * b);
return ((1.0 - t) * a) + (t * b);
}
void Timeline::set_zoom(bool in) {