summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-05-31 00:44:24 +0200
committerCarl Hetherington <cth@carlh.net>2021-05-31 00:44:57 +0200
commit8a0ab373363c34daf5d926e951ee79fc422fdb3d (patch)
tree09c0252505036b09203fa272c35c07090f6ac173
parent5b27212aa670a5555b64d2123bb70673987564b4 (diff)
Tweak behaviour of crop link buttons (#2034).
Now if you change left and click "link" the right will follow it, and vice versa.
-rwxr-xr-xhacks/gl/modernbin0 -> 57392 bytes
-rw-r--r--src/wx/video_panel.cc16
-rw-r--r--src/wx/video_panel.h3
3 files changed, 17 insertions, 2 deletions
diff --git a/hacks/gl/modern b/hacks/gl/modern
new file mode 100755
index 000000000..1ecb3fff5
--- /dev/null
+++ b/hacks/gl/modern
Binary files differ
diff --git a/src/wx/video_panel.cc b/src/wx/video_panel.cc
index ef111f7ec..f1b6a006b 100644
--- a/src/wx/video_panel.cc
+++ b/src/wx/video_panel.cc
@@ -712,20 +712,29 @@ VideoPanel::scale_custom_edit_clicked ()
void
VideoPanel::left_right_link_clicked ()
{
- right_crop_changed ();
+ if (_left_changed_last) {
+ left_crop_changed ();
+ } else {
+ right_crop_changed ();
+ }
}
void
VideoPanel::top_bottom_link_clicked ()
{
- bottom_crop_changed ();
+ if (_top_changed_last) {
+ top_crop_changed ();
+ } else {
+ bottom_crop_changed ();
+ }
}
void
VideoPanel::left_crop_changed ()
{
+ _left_changed_last = true;
if (_left_right_link->GetValue()) {
for (auto i: _parent->selected_video()) {
i->video->set_right_crop (i->video->left_crop());
@@ -737,6 +746,7 @@ VideoPanel::left_crop_changed ()
void
VideoPanel::right_crop_changed ()
{
+ _left_changed_last = false;
if (_left_right_link->GetValue()) {
for (auto i: _parent->selected_video()) {
i->video->set_left_crop (i->video->right_crop());
@@ -748,6 +758,7 @@ VideoPanel::right_crop_changed ()
void
VideoPanel::top_crop_changed ()
{
+ _top_changed_last = true;
if (_top_bottom_link->GetValue()) {
for (auto i: _parent->selected_video()) {
i->video->set_bottom_crop (i->video->top_crop());
@@ -759,6 +770,7 @@ VideoPanel::top_crop_changed ()
void
VideoPanel::bottom_crop_changed ()
{
+ _top_changed_last = false;
if (_top_bottom_link->GetValue()) {
for (auto i: _parent->selected_video()) {
i->video->set_top_crop (i->video->bottom_crop());
diff --git a/src/wx/video_panel.h b/src/wx/video_panel.h
index 2304e5e0b..2e394e4fc 100644
--- a/src/wx/video_panel.h
+++ b/src/wx/video_panel.h
@@ -95,4 +95,7 @@ private:
wxButton* _edit_colour_conversion_button;
wxStaticText* _range_label;
wxChoice* _range;
+
+ bool _left_changed_last = true;
+ bool _top_changed_last = true;
};