View Issue Details

IDProjectCategoryView StatusLast Update
0001307ardourfeaturespublic2007-01-26 19:58
Reporteroofus Assigned Topaul  
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
PlatformCentrino 1.6GHz LaptopOSLinuxOS VersionMandriva 2007
Summary0001307: Speed up track naming by hitting tab when naming a track, which moves focus to the next track name.
DescriptionSpeed up track naming by hitting tab when naming a track, which moves focus to the next track name, high lighted.
Steps To ReproduceClick in a track name. The name is high lighted.
After a new name has been typed hit the tab key.
The next track name is now high lighted.
Type the new name for this track.
Hit tab.
Repeat until finished.

This would speed up session setup with large track counts.
TagsNo tags attached.

Activities

2006-11-12 07:47

 

ardour-b1307-r1114.patch (1,520 bytes)   
Index: gtk2_ardour/time_axis_view.cc
===================================================================
--- gtk2_ardour/time_axis_view.cc	(revision 1114)
+++ gtk2_ardour/time_axis_view.cc	(working copy)
@@ -374,7 +374,38 @@
 TimeAxisView::name_entry_key_release (GdkEventKey* ev)
 {
 	switch (ev->keyval) {
+	case GDK_Escape:
+		name_entry.select_region (0,0);
+		controls_ebox.grab_focus ();
+		name_entry_changed ();
+		return true;
 	case GDK_Tab:
+	case GDK_ISO_Left_Tab:
+		name_entry_changed ();
+		PublicEditor::TrackViewList *allviews = editor.get_valid_views (NULL);
+		if (allviews) {
+			PublicEditor::TrackViewList::iterator i = find (allviews->begin(), allviews->end(), this);
+			if (i != allviews->end()) {
+				if(ev->keyval == GDK_ISO_Left_Tab) { 
+					/* Shift+Tab pressed, go to previous visible entry... */
+					while (i-- != allviews->begin()) {
+						if ((*i != NULL) && !((*i)->hidden())) {
+							(*i)->name_entry.grab_focus();
+							break;
+						}
+					}
+				} else {
+					/* Tab pressed, go to next visible entry... */
+					while (++i != allviews->end()) {
+						if ((*i != NULL) && !((*i)->hidden())) {
+							(*i)->name_entry.grab_focus();
+							break;
+						}
+					}
+				}
+			}
+		}
+		return true;
 	case GDK_Up:
 	case GDK_Down:
 		name_entry_changed ();
@@ -424,6 +455,7 @@
 	last_name_entry_key_press_event = 0;
 	name_entry_key_timeout.disconnect ();
 	name_entry.set_name ("EditorTrackNameDisplay");
+	name_entry.select_region (0,0);
 	
 	/* do the real stuff */
 
ardour-b1307-r1114.patch (1,520 bytes)   

brianahr

2006-11-12 07:48

developer   ~0002753

Added a patch to fix(?) this. Also handles the Shift+Tab case, to go to the previous visible entry.

oofus

2006-11-12 14:08

developer   ~0002754

I tried applying your patch, but unfortunately it fails during compilation with the following errors.

gtk2_ardour/time_axis_view.cc: In member function ‘bool TimeAxisView::name_entry_key_release(GdkEventKey*)’:
gtk2_ardour/time_axis_view.cc:409: error: jump to case label
gtk2_ardour/time_axis_view.cc:385: error: crosses initialization of ‘std::list<TimeAxisView*, std::allocator<TimeAxisView*> >* allviews’
gtk2_ardour/time_axis_view.cc:410: error: jump to case label
gtk2_ardour/time_axis_view.cc:385: error: crosses initialization of ‘std::list<TimeAxisView*, std::allocator<TimeAxisView*> >* allviews’
gtk2_ardour/time_axis_view.cc:414: error: jump to case label
gtk2_ardour/time_axis_view.cc:385: error: crosses initialization of ‘std::list<TimeAxisView*, std::allocator<TimeAxisView*> >* allviews’
scons: *** [gtk2_ardour/time_axis_view.o] Error 1
scons: building terminated because of errors.

Thanks

oofus

2006-12-18 23:05

developer   ~0002913

This is implemented now.

paul

2006-12-19 20:49

administrator   ~0002929

see notes.

Issue History

Date Modified Username Field Change
2006-11-08 00:41 oofus New Issue
2006-11-12 07:47 brianahr File Added: ardour-b1307-r1114.patch
2006-11-12 07:48 brianahr Note Added: 0002753
2006-11-12 14:08 oofus Note Added: 0002754
2006-12-18 23:05 oofus Note Added: 0002913
2006-12-19 20:49 paul Status new => resolved
2006-12-19 20:49 paul Resolution open => fixed
2006-12-19 20:49 paul Assigned To => paul
2006-12-19 20:49 paul Note Added: 0002929
2007-01-26 19:58 oofus Status resolved => closed