Tab key can't be assigned to a shortcut

Forums

Greets,

I just tried assigning my Tab key to Edit/Track/Height/Reset but the key is not accepted. Would supporting the Tab key be an easy thing to do?

Independent of my preference to use the Tab key, I'll also take a shot at explaining what I'd really like to do....

It would be great if a new Edit/Track/Height/Minimize option would be made available which operated as a toggle between Minimize and "Previous Height". That way, the user would essentially end up with a "fold-like" capability.

Thoughts?

P.S. I just noticed there's a bit of overlap between the contents the Edit/Track and Track menus.

Permalink

correct, I'll see if it's possible to have the Tab key bypassed.

there's a bit of overlap between the contents the Edit/Track and Track menus.

they do not overlap, they are the same menu (as are the Clip menus).

byee

Permalink

Tab alone is not possible, sorry.

the least you may have is Ctrl+Tab, but quite frankly it hugely depends on the DE in charge, whether it has some other modifier+Tab already globally assigned (eg. Alt+Tab for switching across application windows, which is quite usual on every DE...)

byee

I think minimize/maximize would be more useful and what was really requested.
I miss that functionality too.

Something like:

MinimizeMaximize {

  If CurrentSize > MinimumSize {
    setProperty(MaximizeTo = CurrentSize);
    TrackHeight ( MinimumSize );
  }

  If (CurrentSize == MinimumSize) AND PropertyExists(MaximizeTo) {
    TrackHeight ( Property(MaximizeTo) );
  }

  If (CurrentSize == MinimumSize) AND PropertyDoesNotExist(MaximizeTo) {

// Since we can't know what the previous height was,
// since that height could have been reached using keyboard shortcuts, mouse, etc.
// and the user expects it to be maximized, we maximize it to the default height.
// I think that would be acceptable behavior for the user.
// Keeping track height states for all tracks would allow for perfectly accurate behavior,
// but it seems absurd to me to set all that up for such a small feature.

   TrackHeight ( DefaultSize );
  }

}

First of all, I know you're on vacation and that it's meant to be enjoyed. It's not urgent at all :).

It's not working as expected... but let's go step by step:

1_
I think I didn't express myself correctly. The word wasn't maximize, but restore.
The idea is for it to work like an on/off button.

2_
Your answer made me realize that you could also add a maximize function that would expand/restore the track height to the maximum height of the workspace. This would be useful when using Qtractor as an audio editor (I know it isn't, but... for many tasks I prefer it to Audacity).

3_
I tried implementing the minimize function... but, as always, C++ is too finicky for me. It doesn't accept setProperty like that, outright, as I'd like. However, the desired logic is as follows:

// Minimize current track height.
void qtractorMainForm::trackHeightMinimize (void)
{
	qtractorTrack *pTrack = nullptr;
	if (m_pTracks)
		pTrack = m_pTracks->currentTrack();
	if (pTrack == nullptr)
		return;

#ifdef CONFIG_DEBUG
	qDebug("qtractorMainForm::trackHeightMinimize()");
#endif

	const int iVerticalZoom = m_pSession->verticalZoom();

///////////////////// Changes

	const int iZoomTrackHeightMin = (iVerticalZoom * qtractorTrack::HeightMin) / 100;
	const int iZoomTrackHeightBase = (iVerticalZoom * qtractorTrack::HeightBase) / 100;	
	const int iZoomTrackHeightCurrent = (iVerticalZoom * pTrack->zoomHeight()) / 100;
	
	
	if (iZoomTrackHeightCurrent > iZoomTrackHeightMin) {
		pTrack->setProperty("RestoreHeightTo", iZoomTrackHeightCurrent);
		const int iZoomHeight = iZoomTrackHeightMin;
	}

	if (iZoomTrackHeightCurrent <= iZoomTrackHeightMin ){
		// To restore default to base, in case there is no previous height record
        	if (!ptrack->property("RestoreHeightTo").isValid()) {
			pTrack->setProperty("RestoreHeightTo", iZoomTrackHeightBase);
		}
		const int iZoomHeight =  pTrack->property("RestoreHeightTo");
	}


	m_pSession->execute(
		new qtractorResizeTrackCommand(pTrack, iZoomHeight));
}

Yea, just to add to the energy here. It'd be nice to have a single binding which added as a toggle between minimize and restore. Keep in mind, my definition of "restore" might be better thought of as "revert" since I'm suggesting it to mean "the height set prior to being minimized". I just happen to like the word "restore". Of course, that also implies that previous height (on a track by track basis) would then need to be persisted which may come at too high a cost to bother with. If so, toggling between "Minimize" and "Reset" would absolutely suffice. The real trick here is to end up with a single binding that acts as a toggle so separate bindings for these two related operations wouldn't have to be used.

Add new comment

The content of this field is kept private and will not be shown publicly.

Markdown

  • Parses markdown and converts it to HTML.
  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type='1 A I'> <li> <dl> <dt> <dd> <h2 id='jump-*'> <h3 id> <h4 id> <h5 id> <h6 id> <img src alt height width> <strike> <pre> <p> <br>
  • Lines and paragraphs break automatically.

Filtered HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <b> <i> <pre> <img src alt height width> <strike>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
File attachments
Unlimited number of files can be uploaded to this field.
2 MB limit.
Allowed types: jpg jpeg gif png txt doc docx xls xlsx pdf ppt pps odt ods odp zip gz bz2 xz patch diff wav ogg flac ogv mp4 qtz.