removed effect controls and viewer ui files
This commit is contained in:
+109
-109
@@ -11,7 +11,7 @@
|
||||
#include "panels/viewer.h"
|
||||
#include "ui/viewerwidget.h"
|
||||
#include "project/sequence.h"
|
||||
#include "ui_effectcontrols.h"
|
||||
#include "ui/resizablescrollbar.h"
|
||||
|
||||
#include <QLabel>
|
||||
#include <QMouseEvent>
|
||||
@@ -27,44 +27,44 @@ long KeyframeView::adjust_row_keyframe(EffectRow* row, long time) {
|
||||
|
||||
KeyframeView::KeyframeView(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
visible_in(0),
|
||||
visible_out(0),
|
||||
visible_in(0),
|
||||
visible_out(0),
|
||||
mousedown(false),
|
||||
dragging(false),
|
||||
keys_selected(false),
|
||||
select_rect(false),
|
||||
select_rect(false),
|
||||
x_scroll(0),
|
||||
y_scroll(0),
|
||||
scroll_drag(false)
|
||||
y_scroll(0),
|
||||
scroll_drag(false)
|
||||
{
|
||||
setFocusPolicy(Qt::ClickFocus);
|
||||
setMouseTracking(true);
|
||||
|
||||
setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(show_context_menu(const QPoint&)));
|
||||
setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(show_context_menu(const QPoint&)));
|
||||
}
|
||||
|
||||
void KeyframeView::show_context_menu(const QPoint& pos) {
|
||||
if (selected_rows.size() > 0) {
|
||||
QMenu menu(this);
|
||||
QAction* linear = menu.addAction("Linear");
|
||||
linear->setData(KEYFRAME_TYPE_LINEAR);
|
||||
QAction* smooth = menu.addAction("Smooth");
|
||||
smooth->setData(KEYFRAME_TYPE_SMOOTH);
|
||||
/*QAction* bezier = menu.addAction("Bezier");
|
||||
bezier->setData(KEYFRAME_TYPE_BEZIER);*/
|
||||
connect(&menu, SIGNAL(triggered(QAction*)), this, SLOT(menu_set_key_type(QAction*)));
|
||||
menu.exec(mapToGlobal(pos));
|
||||
}
|
||||
if (selected_rows.size() > 0) {
|
||||
QMenu menu(this);
|
||||
QAction* linear = menu.addAction("Linear");
|
||||
linear->setData(KEYFRAME_TYPE_LINEAR);
|
||||
QAction* smooth = menu.addAction("Smooth");
|
||||
smooth->setData(KEYFRAME_TYPE_SMOOTH);
|
||||
/*QAction* bezier = menu.addAction("Bezier");
|
||||
bezier->setData(KEYFRAME_TYPE_BEZIER);*/
|
||||
connect(&menu, SIGNAL(triggered(QAction*)), this, SLOT(menu_set_key_type(QAction*)));
|
||||
menu.exec(mapToGlobal(pos));
|
||||
}
|
||||
}
|
||||
|
||||
void KeyframeView::menu_set_key_type(QAction* a) {
|
||||
ComboAction* ca = new ComboAction();
|
||||
for (int i=0;i<selected_rows.size();i++) {
|
||||
ca->append(new SetInt(&selected_rows.at(i)->keyframe_types[selected_keyframes.at(i)], a->data().toInt()));
|
||||
}
|
||||
undo_stack.push(ca);
|
||||
update();
|
||||
ComboAction* ca = new ComboAction();
|
||||
for (int i=0;i<selected_rows.size();i++) {
|
||||
ca->append(new SetInt(&selected_rows.at(i)->keyframe_types[selected_keyframes.at(i)], a->data().toInt()));
|
||||
}
|
||||
undo_stack.push(ca);
|
||||
update();
|
||||
}
|
||||
|
||||
void KeyframeView::paintEvent(QPaintEvent*) {
|
||||
@@ -99,7 +99,7 @@ void KeyframeView::paintEvent(QPaintEvent*) {
|
||||
bool keyframe_selected = keyframeIsSelected(row, k);
|
||||
long keyframe_frame = adjust_row_keyframe(row, row->keyframe_times.at(k));
|
||||
if (dragging && keyframe_selected) keyframe_frame += frame_diff;
|
||||
draw_keyframe(p, row->keyframe_types.at(k), getScreenPointFromFrame(panel_effect_controls->zoom, keyframe_frame) - x_scroll, keyframe_y, keyframe_selected);
|
||||
draw_keyframe(p, row->keyframe_types.at(k), getScreenPointFromFrame(panel_effect_controls->zoom, keyframe_frame) - x_scroll, keyframe_y, keyframe_selected);
|
||||
}
|
||||
|
||||
rows.append(row);
|
||||
@@ -113,7 +113,7 @@ void KeyframeView::paintEvent(QPaintEvent*) {
|
||||
if (max_width < width()) {
|
||||
p.fillRect(QRect(max_width, 0, width(), height()), QColor(0, 0, 0, 64));
|
||||
}
|
||||
panel_effect_controls->ui->horizontalScrollBar->setMaximum(qMax(max_width - width(), 0));
|
||||
panel_effect_controls->horizontalScrollBar->setMaximum(qMax(max_width - width(), 0));
|
||||
header->set_visible_in(visible_in);
|
||||
|
||||
int playhead_x = getScreenPointFromFrame(panel_effect_controls->zoom, sequence->playhead-visible_in) - x_scroll;
|
||||
@@ -129,9 +129,9 @@ void KeyframeView::paintEvent(QPaintEvent*) {
|
||||
draw_selection_rectangle(p, QRect(rect_select_x, rect_select_y, rect_select_w, rect_select_h));
|
||||
}
|
||||
|
||||
/*if (mouseover && mouseover_row < rowY.size()) {
|
||||
/*if (mouseover && mouseover_row < rowY.size()) {
|
||||
draw_keyframe(p, getScreenPointFromFrame(panel_effect_controls->zoom, mouseover_frame - visible_in), rowY.at(mouseover_row), true);
|
||||
}*/
|
||||
}*/
|
||||
}
|
||||
|
||||
bool KeyframeView::keyframeIsSelected(EffectRow *row, int keyframe) {
|
||||
@@ -173,98 +173,98 @@ void KeyframeView::set_y_scroll(int s) {
|
||||
}
|
||||
|
||||
void KeyframeView::draw_keyframe(QPainter &p, int type, int x, int y, bool darker) {
|
||||
int color = (darker) ? 100 : 160;
|
||||
p.setPen(QColor(0, 0, 0));
|
||||
p.setBrush(QColor(color, color, color));
|
||||
int color = (darker) ? 100 : 160;
|
||||
p.setPen(QColor(0, 0, 0));
|
||||
p.setBrush(QColor(color, color, color));
|
||||
|
||||
switch (type) {
|
||||
case KEYFRAME_TYPE_LINEAR:
|
||||
{
|
||||
QPoint points[KEYFRAME_POINT_COUNT] = {QPoint(x-KEYFRAME_SIZE, y), QPoint(x, y-KEYFRAME_SIZE), QPoint(x+KEYFRAME_SIZE, y), QPoint(x, y+KEYFRAME_SIZE)};
|
||||
p.drawPolygon(points, KEYFRAME_POINT_COUNT);
|
||||
}
|
||||
break;
|
||||
case KEYFRAME_TYPE_SMOOTH:
|
||||
p.drawEllipse(QPoint(x, y), KEYFRAME_SIZE, KEYFRAME_SIZE);
|
||||
break;
|
||||
}
|
||||
switch (type) {
|
||||
case KEYFRAME_TYPE_LINEAR:
|
||||
{
|
||||
QPoint points[KEYFRAME_POINT_COUNT] = {QPoint(x-KEYFRAME_SIZE, y), QPoint(x, y-KEYFRAME_SIZE), QPoint(x+KEYFRAME_SIZE, y), QPoint(x, y+KEYFRAME_SIZE)};
|
||||
p.drawPolygon(points, KEYFRAME_POINT_COUNT);
|
||||
}
|
||||
break;
|
||||
case KEYFRAME_TYPE_SMOOTH:
|
||||
p.drawEllipse(QPoint(x, y), KEYFRAME_SIZE, KEYFRAME_SIZE);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void KeyframeView::resize_move(double d) {
|
||||
header->update_zoom(header->get_zoom()*d);
|
||||
header->update_zoom(header->get_zoom()*d);
|
||||
}
|
||||
|
||||
void KeyframeView::mousePressEvent(QMouseEvent *event) {
|
||||
rect_select_x = event->x();
|
||||
rect_select_y = event->y();
|
||||
rect_select_x = event->x();
|
||||
rect_select_y = event->y();
|
||||
|
||||
if (panel_timeline->tool == TIMELINE_TOOL_HAND || event->buttons() & Qt::MiddleButton) {
|
||||
scroll_drag = true;
|
||||
return;
|
||||
}
|
||||
if (panel_timeline->tool == TIMELINE_TOOL_HAND || event->buttons() & Qt::MiddleButton) {
|
||||
scroll_drag = true;
|
||||
return;
|
||||
}
|
||||
|
||||
int mouse_x = event->x() + x_scroll;
|
||||
int mouse_y = event->y();
|
||||
int row_index = -1;
|
||||
int keyframe_index = -1;
|
||||
long frame_diff = 0;
|
||||
long frame_min = getFrameFromScreenPoint(panel_effect_controls->zoom, mouse_x-KEYFRAME_SIZE);
|
||||
drag_frame_start = getFrameFromScreenPoint(panel_effect_controls->zoom, mouse_x);
|
||||
long frame_max = getFrameFromScreenPoint(panel_effect_controls->zoom, mouse_x+KEYFRAME_SIZE);
|
||||
for (int i=0;i<rowY.size();i++) {
|
||||
if (mouse_y > rowY.at(i)-KEYFRAME_SIZE-KEYFRAME_SIZE && mouse_y < rowY.at(i)+KEYFRAME_SIZE+KEYFRAME_SIZE) {
|
||||
EffectRow* row = rows.at(i);
|
||||
for (int j=0;j<row->keyframe_times.size();j++) {
|
||||
long eval_keyframe_time = row->keyframe_times.at(j)-row->parent_effect->parent_clip->clip_in+(row->parent_effect->parent_clip->timeline_in-visible_in);
|
||||
if (eval_keyframe_time >= frame_min && eval_keyframe_time <= frame_max) {
|
||||
long eval_frame_diff = qAbs(eval_keyframe_time - drag_frame_start);
|
||||
if (keyframe_index == -1 || eval_frame_diff < frame_diff) {
|
||||
row_index = i;
|
||||
keyframe_index = j;
|
||||
frame_diff = eval_frame_diff;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
bool already_selected = false;
|
||||
keys_selected = false;
|
||||
if (keyframe_index > -1) already_selected = keyframeIsSelected(rows.at(row_index), keyframe_index);
|
||||
if (!already_selected) {
|
||||
if (!(event->modifiers() & Qt::ShiftModifier)) {
|
||||
selected_rows.clear();
|
||||
selected_keyframes.clear();
|
||||
}
|
||||
if (keyframe_index > -1) {
|
||||
selected_rows.append(rows.at(row_index));
|
||||
selected_keyframes.append(keyframe_index);
|
||||
}
|
||||
}
|
||||
int mouse_x = event->x() + x_scroll;
|
||||
int mouse_y = event->y();
|
||||
int row_index = -1;
|
||||
int keyframe_index = -1;
|
||||
long frame_diff = 0;
|
||||
long frame_min = getFrameFromScreenPoint(panel_effect_controls->zoom, mouse_x-KEYFRAME_SIZE);
|
||||
drag_frame_start = getFrameFromScreenPoint(panel_effect_controls->zoom, mouse_x);
|
||||
long frame_max = getFrameFromScreenPoint(panel_effect_controls->zoom, mouse_x+KEYFRAME_SIZE);
|
||||
for (int i=0;i<rowY.size();i++) {
|
||||
if (mouse_y > rowY.at(i)-KEYFRAME_SIZE-KEYFRAME_SIZE && mouse_y < rowY.at(i)+KEYFRAME_SIZE+KEYFRAME_SIZE) {
|
||||
EffectRow* row = rows.at(i);
|
||||
for (int j=0;j<row->keyframe_times.size();j++) {
|
||||
long eval_keyframe_time = row->keyframe_times.at(j)-row->parent_effect->parent_clip->clip_in+(row->parent_effect->parent_clip->timeline_in-visible_in);
|
||||
if (eval_keyframe_time >= frame_min && eval_keyframe_time <= frame_max) {
|
||||
long eval_frame_diff = qAbs(eval_keyframe_time - drag_frame_start);
|
||||
if (keyframe_index == -1 || eval_frame_diff < frame_diff) {
|
||||
row_index = i;
|
||||
keyframe_index = j;
|
||||
frame_diff = eval_frame_diff;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
bool already_selected = false;
|
||||
keys_selected = false;
|
||||
if (keyframe_index > -1) already_selected = keyframeIsSelected(rows.at(row_index), keyframe_index);
|
||||
if (!already_selected) {
|
||||
if (!(event->modifiers() & Qt::ShiftModifier)) {
|
||||
selected_rows.clear();
|
||||
selected_keyframes.clear();
|
||||
}
|
||||
if (keyframe_index > -1) {
|
||||
selected_rows.append(rows.at(row_index));
|
||||
selected_keyframes.append(keyframe_index);
|
||||
}
|
||||
}
|
||||
|
||||
if (selected_rows.size() > 0) {
|
||||
keys_selected = true;
|
||||
}
|
||||
if (selected_rows.size() > 0) {
|
||||
keys_selected = true;
|
||||
}
|
||||
|
||||
update();
|
||||
update();
|
||||
|
||||
if (event->button() == Qt::LeftButton) {
|
||||
mousedown = true;
|
||||
}
|
||||
if (event->button() == Qt::LeftButton) {
|
||||
mousedown = true;
|
||||
}
|
||||
}
|
||||
|
||||
void KeyframeView::mouseMoveEvent(QMouseEvent* event) {
|
||||
if (panel_timeline->tool == TIMELINE_TOOL_HAND) {
|
||||
setCursor(Qt::OpenHandCursor);
|
||||
} else {
|
||||
unsetCursor();
|
||||
}
|
||||
if (scroll_drag) {
|
||||
panel_effect_controls->ui->horizontalScrollBar->setValue(panel_effect_controls->ui->horizontalScrollBar->value() + rect_select_x - event->pos().x());
|
||||
panel_effect_controls->ui->verticalScrollBar->setValue(panel_effect_controls->ui->verticalScrollBar->value() + rect_select_y - event->pos().y());
|
||||
rect_select_x = event->pos().x();
|
||||
rect_select_y = event->pos().y();
|
||||
} else if (mousedown) {
|
||||
if (panel_timeline->tool == TIMELINE_TOOL_HAND) {
|
||||
setCursor(Qt::OpenHandCursor);
|
||||
} else {
|
||||
unsetCursor();
|
||||
}
|
||||
if (scroll_drag) {
|
||||
panel_effect_controls->horizontalScrollBar->setValue(panel_effect_controls->horizontalScrollBar->value() + rect_select_x - event->pos().x());
|
||||
panel_effect_controls->verticalScrollBar->setValue(panel_effect_controls->verticalScrollBar->value() + rect_select_y - event->pos().y());
|
||||
rect_select_x = event->pos().x();
|
||||
rect_select_y = event->pos().y();
|
||||
} else if (mousedown) {
|
||||
int mouse_x = event->x() + x_scroll;
|
||||
if (keys_selected) {
|
||||
// move keyframes
|
||||
@@ -333,7 +333,7 @@ void KeyframeView::mouseMoveEvent(QMouseEvent* event) {
|
||||
select_rect = true;
|
||||
}
|
||||
update();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void KeyframeView::mouseReleaseEvent(QMouseEvent*) {
|
||||
@@ -347,8 +347,8 @@ void KeyframeView::mouseReleaseEvent(QMouseEvent*) {
|
||||
|
||||
select_rect = false;
|
||||
dragging = false;
|
||||
mousedown = false;
|
||||
scroll_drag = false;
|
||||
mousedown = false;
|
||||
scroll_drag = false;
|
||||
panel_timeline->snapped = false;
|
||||
update();
|
||||
}
|
||||
|
||||
+68
-66
@@ -9,96 +9,98 @@
|
||||
#define RESIZE_HANDLE_SIZE 10
|
||||
|
||||
ResizableScrollBar::ResizableScrollBar(QWidget *parent) :
|
||||
QScrollBar(parent),
|
||||
resize_init(false),
|
||||
resize_proc(false)
|
||||
QScrollBar(parent),
|
||||
resize_init(false),
|
||||
resize_proc(false)
|
||||
{
|
||||
setMouseTracking(true);
|
||||
setSingleStep(20);
|
||||
setMaximum(0);
|
||||
setMouseTracking(true);
|
||||
}
|
||||
|
||||
bool ResizableScrollBar::is_resizing() {
|
||||
return resize_proc;
|
||||
return resize_proc;
|
||||
}
|
||||
|
||||
void ResizableScrollBar::resizeEvent(QResizeEvent *event) {
|
||||
setPageStep(event->size().width());
|
||||
setPageStep(event->size().width());
|
||||
}
|
||||
|
||||
void ResizableScrollBar::mousePressEvent(QMouseEvent *e) {
|
||||
if (resize_init) {
|
||||
QStyleOptionSlider opt;
|
||||
initStyleOption(&opt);
|
||||
if (resize_init) {
|
||||
QStyleOptionSlider opt;
|
||||
initStyleOption(&opt);
|
||||
|
||||
QRect sr = style()->subControlRect(QStyle::CC_ScrollBar, &opt,
|
||||
QStyle::SC_ScrollBarSlider, this);
|
||||
QRect sr = style()->subControlRect(QStyle::CC_ScrollBar, &opt,
|
||||
QStyle::SC_ScrollBarSlider, this);
|
||||
|
||||
resize_proc = true;
|
||||
resize_start = e->pos().x();
|
||||
resize_proc = true;
|
||||
resize_start = e->pos().x();
|
||||
|
||||
resize_start_max = maximum();
|
||||
resize_start_width = sr.width();
|
||||
} else {
|
||||
QScrollBar::mousePressEvent(e);
|
||||
}
|
||||
resize_start_max = maximum();
|
||||
resize_start_width = sr.width();
|
||||
} else {
|
||||
QScrollBar::mousePressEvent(e);
|
||||
}
|
||||
}
|
||||
|
||||
void ResizableScrollBar::mouseMoveEvent(QMouseEvent *e) {
|
||||
QStyleOptionSlider opt;
|
||||
initStyleOption(&opt);
|
||||
QStyleOptionSlider opt;
|
||||
initStyleOption(&opt);
|
||||
|
||||
QRect sr = style()->subControlRect(QStyle::CC_ScrollBar, &opt,
|
||||
QStyle::SC_ScrollBarSlider, this);
|
||||
QRect gr = style()->subControlRect(QStyle::CC_ScrollBar, &opt,
|
||||
QStyle::SC_ScrollBarGroove, this);
|
||||
QRect sr = style()->subControlRect(QStyle::CC_ScrollBar, &opt,
|
||||
QStyle::SC_ScrollBarSlider, this);
|
||||
QRect gr = style()->subControlRect(QStyle::CC_ScrollBar, &opt,
|
||||
QStyle::SC_ScrollBarGroove, this);
|
||||
|
||||
if (resize_proc) {
|
||||
int diff = (e->pos().x() - resize_start);
|
||||
if (resize_top) diff = -diff;
|
||||
double scale = double(sr.width())/double(sr.width()+diff);
|
||||
if (!qIsInf(scale) && !qIsNull(scale)) {
|
||||
emit resize_move(scale);
|
||||
resize_start = e->pos().x();
|
||||
if (resize_proc) {
|
||||
int diff = (e->pos().x() - resize_start);
|
||||
if (resize_top) diff = -diff;
|
||||
double scale = double(sr.width())/double(sr.width()+diff);
|
||||
if (!qIsInf(scale) && !qIsNull(scale)) {
|
||||
emit resize_move(scale);
|
||||
resize_start = e->pos().x();
|
||||
|
||||
if (resize_top) {
|
||||
int slider_min = gr.x();
|
||||
int slider_max = gr.right() - (sr.width()+diff);
|
||||
int val = QStyle::sliderValueFromPosition(minimum(), maximum(), e->pos().x() - slider_min, slider_max - slider_min, opt.upsideDown);
|
||||
if (resize_top) {
|
||||
int slider_min = gr.x();
|
||||
int slider_max = gr.right() - (sr.width()+diff);
|
||||
int val = QStyle::sliderValueFromPosition(minimum(), maximum(), e->pos().x() - slider_min, slider_max - slider_min, opt.upsideDown);
|
||||
|
||||
setValue(val);
|
||||
} else {
|
||||
setValue(qRound(value() * scale));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
bool new_resize_init = false;
|
||||
setValue(val);
|
||||
} else {
|
||||
setValue(qRound(value() * scale));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
bool new_resize_init = false;
|
||||
|
||||
if ((orientation() == Qt::Horizontal && e->pos().x() > sr.left()-RESIZE_HANDLE_SIZE && e->pos().x() < sr.left()+RESIZE_HANDLE_SIZE)
|
||||
|| (orientation() == Qt::Vertical && e->pos().y() > sr.top()-RESIZE_HANDLE_SIZE && e->pos().y() < sr.top()+RESIZE_HANDLE_SIZE)) {
|
||||
new_resize_init = true;
|
||||
resize_top = true;
|
||||
} else if ((orientation() == Qt::Horizontal && e->pos().x() > sr.right()-RESIZE_HANDLE_SIZE && e->pos().x() < sr.right()+RESIZE_HANDLE_SIZE)
|
||||
|| (orientation() == Qt::Vertical && e->pos().y() > sr.bottom()-RESIZE_HANDLE_SIZE && e->pos().y() < sr.bottom()+RESIZE_HANDLE_SIZE)) {
|
||||
new_resize_init = true;
|
||||
resize_top = false;
|
||||
}
|
||||
if ((orientation() == Qt::Horizontal && e->pos().x() > sr.left()-RESIZE_HANDLE_SIZE && e->pos().x() < sr.left()+RESIZE_HANDLE_SIZE)
|
||||
|| (orientation() == Qt::Vertical && e->pos().y() > sr.top()-RESIZE_HANDLE_SIZE && e->pos().y() < sr.top()+RESIZE_HANDLE_SIZE)) {
|
||||
new_resize_init = true;
|
||||
resize_top = true;
|
||||
} else if ((orientation() == Qt::Horizontal && e->pos().x() > sr.right()-RESIZE_HANDLE_SIZE && e->pos().x() < sr.right()+RESIZE_HANDLE_SIZE)
|
||||
|| (orientation() == Qt::Vertical && e->pos().y() > sr.bottom()-RESIZE_HANDLE_SIZE && e->pos().y() < sr.bottom()+RESIZE_HANDLE_SIZE)) {
|
||||
new_resize_init = true;
|
||||
resize_top = false;
|
||||
}
|
||||
|
||||
if (resize_init != new_resize_init) {
|
||||
if (new_resize_init) {
|
||||
setCursor(Qt::SizeHorCursor);
|
||||
} else {
|
||||
unsetCursor();
|
||||
}
|
||||
resize_init = new_resize_init;
|
||||
}
|
||||
if (resize_init != new_resize_init) {
|
||||
if (new_resize_init) {
|
||||
setCursor(Qt::SizeHorCursor);
|
||||
} else {
|
||||
unsetCursor();
|
||||
}
|
||||
resize_init = new_resize_init;
|
||||
}
|
||||
|
||||
QScrollBar::mouseMoveEvent(e);
|
||||
}
|
||||
QScrollBar::mouseMoveEvent(e);
|
||||
}
|
||||
}
|
||||
|
||||
void ResizableScrollBar::mouseReleaseEvent(QMouseEvent *e) {
|
||||
if (resize_proc) {
|
||||
resize_proc = false;
|
||||
} else {
|
||||
QScrollBar::mouseReleaseEvent(e);
|
||||
}
|
||||
if (resize_proc) {
|
||||
resize_proc = false;
|
||||
} else {
|
||||
QScrollBar::mouseReleaseEvent(e);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user