corrected labelsliders on footage viewer and fixed #141

This commit is contained in:
itsmattkc
2018-10-18 15:25:20 +11:00
parent b8deb5d415
commit 43540821a3
5 changed files with 15 additions and 5 deletions
+1
View File
@@ -40,6 +40,7 @@ SpeedDialog::SpeedDialog(QWidget *parent) : QDialog(parent) {
grid->addWidget(new QLabel("Duration:"), 2, 0);
duration = new LabelSlider();
duration->set_display_type(LABELSLIDER_FRAMENUMBER);
duration->set_frame_rate(sequence->frame_rate);
grid->addWidget(duration, 2, 1);
main_layout->addLayout(grid);
+2
View File
@@ -347,6 +347,8 @@ void Viewer::set_sequence(bool main, Sequence *s) {
init_audio(seq);
if (!null_sequence) {
ui->currentTimecode->set_frame_rate(seq->frame_rate);
playback_updater.setInterval(qFloor(1000 / seq->frame_rate));
update_playhead_timecode(seq->playhead);
+6 -2
View File
@@ -3,7 +3,6 @@
#include "project/undo.h"
#include "panels/viewer.h"
#include "io/config.h"
#include "project/sequence.h"
#include <QMouseEvent>
#include <QInputDialog>
@@ -11,6 +10,7 @@
#include <QDebug>
LabelSlider::LabelSlider(QWidget* parent) : QLabel(parent) {
frame_rate = 30;
decimal_places = 1;
drag_start = false;
drag_proc = false;
@@ -25,6 +25,10 @@ LabelSlider::LabelSlider(QWidget* parent) : QLabel(parent) {
display_type = LABELSLIDER_NORMAL;
}
void LabelSlider::set_frame_rate(double d) {
frame_rate = d;
}
void LabelSlider::set_display_type(int type) {
display_type = type;
setText(valueToString(internal_value));
@@ -59,7 +63,7 @@ QString LabelSlider::valueToString(double v) {
return "---";
} else {
switch (display_type) {
case LABELSLIDER_FRAMENUMBER: return frame_to_timecode(v, config.timecode_view, (sequence != NULL) ? sequence->frame_rate : 30);
case LABELSLIDER_FRAMENUMBER: return frame_to_timecode(v, config.timecode_view, frame_rate);
case LABELSLIDER_PERCENT: return QString::number((v*100), 'f', decimal_places) + "%";
}
return QString::number(v, 'f', decimal_places);
+3
View File
@@ -13,6 +13,7 @@ class LabelSlider : public QLabel
Q_OBJECT
public:
LabelSlider(QWidget* parent = 0);
void set_frame_rate(double d);
void set_display_type(int type);
void set_value(double v, bool userSet);
void set_default_value(double v);
@@ -48,6 +49,8 @@ private:
bool set;
int display_type;
double frame_rate;
signals:
void valueChanged();
};
+3 -3
View File
@@ -259,7 +259,7 @@ void TimelineWidget::dragEnterEvent(QDragEnterEvent *event) {
}
} else {
entry_point = panel_timeline->getTimelineFrameFromScreenPoint(pos.x());
panel_timeline->drag_frame_start = entry_point + panel_timeline->getTimelineFrameFromScreenPoint(50);
panel_timeline->drag_frame_start = entry_point + getFrameFromScreenPoint(panel_timeline->zoom, 50);
panel_timeline->drag_track_start = (bottom_align) ? -1 : 0;
predicted_new_frame_rate = sequence->frame_rate;
}
@@ -347,14 +347,14 @@ void TimelineWidget::dragEnterEvent(QDragEnterEvent *event) {
} else if (config.enable_drag_files_to_timeline && event->mimeData()->hasUrls()) {
// TODO for this to work, we need a way to abort PreviewGenerator
event->accept();
/*event->accept();
qDebug() << "TODO get data for:";
QList<QUrl> urls = event->mimeData()->urls();
if (!urls.isEmpty()) {
for (int i=0;i<urls.size();i++) {
qDebug() << (urls.at(i).toLocalFile());
}
}
}*/
}
}