View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0005298 | ardour | bugs | public | 2013-01-22 18:42 | 2015-09-18 15:29 |
| Reporter | colinf | Assigned To | colinf | ||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Summary | 0005298: <Shift>+<Tab> to rename previous track not working | ||||
| Description | <Shift>+<Tab> when renaming a track used to jump back to allow renaming of the previous track. This doesn't work any more: it jumps forward to the next trreack, just as if shift hadn't been pressed. | ||||
| Tags | No tags attached. | ||||
|
|
semi-intentional (i.e. lazy) :) who the hell wants to go backwards? |
|
|
:) I do, if I mistype a track name but don't spot it until I've tabbed to the next one... |
|
2013-01-23 16:45
|
shift-tab-renames-previous-track.patch (2,011 bytes)
Index: gtk2_ardour/time_axis_view.cc
===================================================================
--- gtk2_ardour/time_axis_view.cc (revision 13974)
+++ gtk2_ardour/time_axis_view.cc (working copy)
@ -578,6 +579,8 @@
* ev->state.
*/
case GDK_ISO_Left_Tab:
+ end_name_edit (RESPONSE_ACCEPT, true);
+ return true;
case GDK_Tab:
end_name_edit (RESPONSE_ACCEPT);
return true;
@@ -611,7 +614,7 @@
name_entry->signal_key_release_event().connect (sigc::mem_fun (*this, &TimeAxisView::name_entry_key_release), false);
name_entry->signal_focus_out_event().connect (sigc::mem_fun (*this, &TimeAxisView::name_entry_focus_out));
name_entry->set_text (name_label.get_text());
- name_entry->signal_activate().connect (sigc::bind (sigc::mem_fun (*this, &TimeAxisView::end_name_edit), RESPONSE_OK));
+ name_entry->signal_activate().connect (sigc::bind (sigc::mem_fun (*this, &TimeAxisView::end_name_edit), RESPONSE_OK, false));
if (name_label.is_ancestor (name_hbox)) {
name_hbox.remove (name_label);
@@ -628,7 +631,7 @@
}
void
-TimeAxisView::end_name_edit (int response)
+TimeAxisView::end_name_edit (int response, bool reverse)
{
if (!name_entry) {
return;
@@ -669,8 +672,15 @@
if (i != allviews.end()) {
do {
- if (++i == allviews.end()) {
- return;
+ if (reverse) {
+ if (i-- == allviews.begin()) {
+ i = allviews.end();
+ i--;
+ }
+ } else {
+ if (++i == allviews.end()) {
+ i = allviews.begin();
+ }
}
RouteTimeAxisView* rtav = dynamic_cast<RouteTimeAxisView*>(*i);
Index: gtk2_ardour/time_axis_view.h
===================================================================
--- gtk2_ardour/time_axis_view.h (revision 13974)
+++ gtk2_ardour/time_axis_view.h (working copy)
@@ -228,7 +228,7 @@
Gtk::Entry* name_entry;
void begin_name_edit ();
- void end_name_edit (int);
+ void end_name_edit (int, bool reverse=false);
/* derived classes can override these */
|
|
|
Well, since I'm so lazy I hate having to reach for my mouse to jump back a track when I make a typo, here's a fix. It also makes tabbing off the last track jump back to the first, & vice-versa: I don't know whether that's an improvement, but it makes sense to me. Does that look OK to you? |
|
|
implemented it myself, now in svn rev 13982 |
|
|
Thanks for indulging me, that makes more sense than my effort. Do you think the 'wrap-around' between last & first is worth doing, or do you think it's a bad idea? |
|
|
i normally like wraparound but in this case i think it is probably a bad idea. |
|
|
This is working again now. |
|
|
Closing old issues reported by me: these have long since been fixed. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2013-01-22 18:42 | colinf | New Issue | |
| 2013-01-23 16:20 | paul | Note Added: 0014577 | |
| 2013-01-23 16:45 | colinf | Note Added: 0014578 | |
| 2013-01-23 16:45 | colinf | File Added: shift-tab-renames-previous-track.patch | |
| 2013-01-23 16:51 | colinf | Note Added: 0014579 | |
| 2013-01-23 20:33 | paul | Note Added: 0014582 | |
| 2013-01-23 20:33 | paul | Status | new => feedback |
| 2013-01-24 10:35 | colinf | Note Added: 0014585 | |
| 2013-01-24 12:32 | paul | Note Added: 0014588 | |
| 2013-01-24 16:47 | colinf | Note Added: 0014593 | |
| 2013-01-24 16:47 | colinf | Status | feedback => resolved |
| 2013-01-24 16:47 | colinf | Resolution | open => fixed |
| 2013-01-24 16:47 | colinf | Assigned To | => colinf |
| 2015-09-18 15:29 | colinf | Note Added: 0017319 | |
| 2015-09-18 15:29 | colinf | Status | resolved => closed |