View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0003222 | ardour | features | public | 2010-06-03 19:24 | 2020-04-19 20:14 |
| Reporter | lincoln | Assigned To | paul | ||
| Priority | normal | Severity | feature | Reproducibility | N/A |
| Status | closed | Resolution | fixed | ||
| Target Version | 3.0-beta1 | ||||
| Summary | 0003222: [PATCH] Additional range expand/shrink mode for scroomer | ||||
| Description | Scroomer does not have a nice way to grow/shrink a range whilst keeping the present range centred in the midi view. It would be nice to be able to expand/shrink the range at both ends without having to adjust the upper and lower range handle individually. | ||||
| Tags | No tags attached. | ||||
|
2010-06-03 19:24
|
scroomer-pinch-mode.patch (2,152 bytes)
Index: libs/gtkmm2ext/scroomer.cc
===================================================================
--- libs/gtkmm2ext/scroomer.cc (revision 7223)
+++ libs/gtkmm2ext/scroomer.cc (working copy)
@@ -103,17 +103,33 @@
unzoomed_val = max(unzoomed_val, adj.get_lower());
break;
case Handle1:
+
unzoomed_page += scale * fract * range;
unzoomed_page = min(unzoomed_page, adj.get_upper() - unzoomed_val);
unzoomed_page = max(unzoomed_page, min_page_size);
+
+ if (pinch){
+ temp = unzoomed_val + unzoomed_page;
+ unzoomed_val -= scale * fract * range * 0.5;
+ unzoomed_val = min(unzoomed_val, temp - min_page_size);
+ unzoomed_val = max(unzoomed_val, adj.get_lower());
+ }
+
break;
case Handle2:
temp = unzoomed_val + unzoomed_page;
unzoomed_val += scale * fract * range;
unzoomed_val = min(unzoomed_val, temp - min_page_size);
unzoomed_val = max(unzoomed_val, adj.get_lower());
-
+
unzoomed_page = temp - unzoomed_val;
+
+ if (pinch){
+
+ unzoomed_page -= scale * fract * range;
+ }
+
+ unzoomed_page = min(unzoomed_page, adj.get_upper() - unzoomed_val);
unzoomed_page = max(unzoomed_page, min_page_size);
break;
default:
@@ -178,28 +194,18 @@
val = unzoomed_val;
page = unzoomed_page;
}
-
+
adj.set_page_size(page);
+ adj.set_value(val);
+ adj.value_changed();
- if (val == adj.get_value()) {
- adj.value_changed();
- }
-
- if (val < adj.get_lower()) {
- adj.value_changed();
- } else if (val > adj.get_upper()) {
- adj.value_changed();
- } else {
- adj.set_value(val);
- }
-
return true;
}
bool
Scroomer::on_button_press_event (GdkEventButton* ev)
{
- if (ev->button == 1) {
+ if (ev->button == 1 || ev->button == 3) {
Component comp = point_in(ev->y);
if (comp == Total || comp == None) {
@@ -212,7 +218,13 @@
unzoomed_val = adj.get_value();
unzoomed_page = adj.get_page_size();
grab_window = ev->window;
+ pinch = false;
+
+ if (ev->button == 3){
+ pinch = true;
+ }
}
+
return false;
}
@@ -229,7 +241,7 @@
return true;
}
- if (ev->button != 1) {
+ if (ev->button != 1 && ev->button != 3) {
return true;
}
|
|
|
Added patch to implement this, right click on the scroomer handles to activate. |
|
2010-06-03 19:30
|
scroomer-pinch-mode-pt2.patch (340 bytes)
Index: libs/gtkmm2ext/gtkmm2ext/scroomer.h =================================================================== --- libs/gtkmm2ext/gtkmm2ext/scroomer.h (revision 7223) +++ libs/gtkmm2ext/gtkmm2ext/scroomer.h (working copy) @@ -81,6 +81,7 @@ double grab_y; double unzoomed_val; double unzoomed_page; + bool pinch; }; } // namespace |
|
|
Added second patch that must be applied with the first patch. |
|
|
nice idea. applied rev 7786 |
|
|
Issue has been closed automatically, by Trigger Close Plugin. Feel free to re-open with additional information if you think the issue is not resolved. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2010-06-03 19:24 | lincoln | New Issue | |
| 2010-06-03 19:24 | lincoln | File Added: scroomer-pinch-mode.patch | |
| 2010-06-03 19:25 | lincoln | Note Added: 0008149 | |
| 2010-06-03 19:30 | lincoln | File Added: scroomer-pinch-mode-pt2.patch | |
| 2010-06-03 19:31 | lincoln | Note Added: 0008150 | |
| 2010-07-21 02:28 | cth103 | cost | => 0.00 |
| 2010-07-21 02:28 | cth103 | Target Version | => 3.0-beta1 |
| 2010-07-21 02:28 | cth103 | Summary | Additional range expand/shrink mode for scroomer => [PATCH] Additional range expand/shrink mode for scroomer |
| 2010-09-16 16:19 | paul | Note Added: 0009066 | |
| 2010-09-16 16:19 | paul | Status | new => resolved |
| 2010-09-16 16:19 | paul | Resolution | open => fixed |
| 2010-09-16 16:19 | paul | Assigned To | => paul |
| 2020-04-19 20:14 | system | Note Added: 0022117 | |
| 2020-04-19 20:14 | system | Status | resolved => closed |