Page MenuHome

All-In-One My Previous Patches In One Place + Extras
Needs ReviewPublic

Authored by Abid Maqbool (cto.abid) on May 13 2019, 5:14 AM.

Details

Summary

Background

Due to short time, I will updates all my patches here and plus some extras missing features. It's often difficult to switch to diff related patch for some same functionality.

So in this patch all the codding is mixed, but I will try my best to differentiate diff features.

Included Patches

Working Ideas

Precious Request: Let join with me & help me if you have some confusion or idea related to this

I have last day, to work on this project & overall here on Blender's Community. Best of luck....

Diff Detail

Event Timeline

I 'am currently working on the project. I will update all the info, demos & details about features here in comments section...

Until now, many of the features are implemented in the patch below:

Features

  • Active Element addition (use as a starting point of some actions, like box-selection, arrow-key navigation or open/close children elms)
  • Sync Selection for box-selection in Outliner
  • To make new active element in 3d Viewport while using box-select in Outliner the last (e.g. for box-selection top-to-bottom, last and so on for bottom-to-top first in new selection)

Demo

Add box-selection using mouse feature.

Controls

  • Click & Drag -> New selection
  • Shift + Click & Drag -> Add Selection
  • Ctrl + Click & Drag -> Subtract Selection

Demo

Other small improvements

  • to make element De-Active when deselecting elements with Ctrl key if within box-selection area
  • to make element De-Active when new selection is executed if exists outside of box-selection area

Implement Sequence Selection in Outliner.

Controls

Shift + Mouse Click -> Select range of item from active elem to last selected item

Shift + Mouse Click -> Only Select last element when no active elem already & deselects rest of elements

Demo

I'm slightly confused by what is meant to be included here or not.

  • keyboard navigation appears not to work at all
  • Ctrl-clicking to extend selections doesn't appear to work

@William Reynish (billreynish) I am updating one-by-one. You can see previously I 'have updated the patch about 5 time. any time one feature. I 'am almost done.... the features which you have mentioned missing, i 'am currently working on them.

@William Reynish (billreynish) I 'am in confusion, you have mentioned Ctrl-clicking to extend selections doesn't appear to work.

Shift-clicking to select all items in between works, but Ctrl-clicking to extend the selection as before is not working. I thought that was part of the plan/design?

It’s just not so clear which parts are supported in this patch vs which parts are not. It would be helpful I think if the description makes it more clear what this does and doesn’t do so it’s easier to understand the scope.

Note that these changes would be for Blender 2.81. We don't have time anymore to add new UI features for 2.80 that weren't planned already a while ago, we try to freeze the UI this week.

Yes, indeed. I presume this could potentially be added to a new Outliner branch, and be merged with the Outliner GSOC which could extend and add more things on top of this.

Implement Others related controls with Sequence Selection

Changes

Shift + Click -> Sequence Selection

Ctrl + Click -> Select/Deselect Selection (Extended Selection)

Alt + Click -> Recursive Selection

Ctrl + Alt + Click -> Extended Recursive Selection

Demo

I will try my best to add all those features, which I already implemented in others patch. and also i present in the idea section.

But again I have only this day for this, I will implement all those features i can implement in this day

I don't know what the community do with this code, I am only doing this because i don't want to loss my works. I thinks maybe it helps for other developers. It's your responsibility to continue this project if necessary. I will not care any more about that's.......

Extending Selection Ctrl + Mouse Click is implemented in the pre Diff.

Demo of the implementation

Okay, Ctrl-clicking now works to extend selections without selecting the in-between items.

I'm still a bit confused about keyboard navigation: It seems like it says it should be included here, but it doesn't seem to work?

Up/down arrow just jumps to keyframes here still.

Implement navigating selection with arrow key in Outliner

Controls

Up Arrow -> Selects Up one element against Active Element

-> Selects First Item if no active elem

Down Arrow -> Selects Down one element against Active Element

-> Selects Last Item if no active elem

Demo with some other Actions

@William Reynish (billreynish) Now checks! It's should works now!!!

Demo with other controls:

Sorry! to taking you in confusion. But again in previous comments i 'have not mentioned about Arrow key navigation. I mean i already told that i 'am uploading one by one... thanks

Is it possible to edit comment???

Edit: Re-tested - arrow key navigation works, but includes the same fatal issue as in the separate patch: Blender crashes when you reach the last item in the list and hit arrow down.

William Reynish (billreynish) requested changes to this revision.May 13 2019, 2:34 PM

There's a crash when using keyboard navigation arrowing down when the last Outliner item is selected.

This revision now requires changes to proceed.May 13 2019, 2:34 PM

@William Reynish (billreynish) But in may case it's works correctly! If you can find some error in Console. If you can provide some more info. Or capture on-screen video so i can understand. Really it works fine for me. Otherwise how can i capture the video???

It crashes consistently here, every time I reach the first or last item and continue with the arrow keys:

Bus error: 10
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

Video demo:

It might be useful if others can test this on other platforms, to check if the crash is OS-specific. I am on macOS Mojave 10.14.

I try hundred of time by using different methods also in different modes it works find, without even any little warning.

I think it's your setup prob, maybe some other codding conflicts. Others wise if you can imagen what could be the prob.

Implement Open/Close Elements Function

Intro

Open or Close elements in Outliner with Left/Right Arrow Keys

Controls

Right Arrow -> Open active element

Left Arrow -> Close active element

Shift + Right Arrow -> Open all nested elements against active element

Shift + Left Arrow -> Close all nested elements against active element

Condition

Active element must exists

Demo

A very confusing error have been resolved. It's looks like this:

It's often comes up when navigating the item in Outliner using Arrow Keys (Up/Down). It's comes up when navigating the item which are expended using nested open method e.g. shift + left/right arrow, shift + enter, or numpad +/- etc.

When it's generate

When the elements are open using nested open technique in Outliner e.g. Shift + Enter and navigating through items.

Possible events where it's may generate the error

  • Shift + Enter
  • Shift + Left/right arrow
  • Numpad +/-
  • Shift + Click on litter arrow (before parent elem)

When it's comes up

It's comes up when we want to move one down item (down arrow) against very last sub item of elem.

e.g. last item in camera, cube etc.

Causes of the error

The cause of this error is the previous blender's code. actually we are assigning some TSE_CLOSED tag in a wrong way. e.g. also assigns some value to element which have no sub children. by doing this the relation b/w elements disturbs which causes the error to come up.

Effecting after the error resolve

After resolving the error, now arrow key works correctly without any error i think...

Demo

@William Reynish (billreynish) You should check the patch now. I think this Diff resolves the error which you are telling about (crashes after the very last element). and let me know about that's. thanks...

Reset the active selection behavior, e.g to make last selected item active when extending selection with mouse click