This is compatible with how TextMate 1.x works. We identify empty lines because we want to ignore them when finding the last line in an indented block, though this commit should not break that, unless the language in question have one of the folding patterns match empty lines and have also enabled indent based foldings.
This should return the content excluding borders and is used to create an image when dragging tabs. Long-term we probably should create a special drag image rather than ask the tab to draw itself.
Integrate visually file manager header in tab bar when tabs above document
option in on. If tabs above document are off then use default gradient L&F.
Bottom divider for file browser header view is not integrated in header for
easier control if it is shown or not.
Previously we would still perform layout on the tabs to the left since with tabs having equal width, the layout should result in the same. Now that we compress tabs, the layout can change.
In theory the user could close a tab, have the mouse remain inside the tab bar, and then perform an action that changes the underlying tabs, which would then leave us with tab item views that need layout.
This seems appropriate given that label font is used below toolbar icons and the tick marks on a slider. Here we use it below the available colors.
We also use it for OakCreateSmallLabel() which is only used for status messages in the registration window.
We now center most things and baseline align text controls. Previously we would stretch all controls to full height which wouldn’t guarantee that e.g. pop-up buttons would properly align with the text fields.
We now use the control content font as this seems to be meant for content shown in tables. We use the standard size (of 12 points) for the headings and set the result rows to use 11 point.
The number of matches is shown with the label font as that is semantically a small font used for placing labels next to things.
This way when asking for a fitting size we get back the minimum size with all but the centering constraint met (and minimized).
In theory the compression resistance for the text field only need to be NSLayoutPriorityFittingSizeCompression+1 but for reasons I do not yet understand, we need to set it higher than NSLayoutPriorityDefaultLow, otherwise the fitting width will occasionally be 64.