Age | Commit message (Collapse) | Author |
|
|
|
This closes #2848.
|
|
Converts the buttons of these widgets into ControlBoxButtons.
|
|
ControlBoxButton consolidates the paint_event for buttons
used in composite box widgets like ComboBox and SpinBox. Its
button bitmaps are built with create_from_ascii like WindowFrame
and ScrollBar controls, making theming more uniform.
|
|
|
|
|
|
GUI::FileSystemModel can now be told to display (or not display) files
whose name start with a dot (other than . and ..)
|
|
Gives a more compact, uniform appearance to input boxes.
|
|
Better visual feedback when sliders won't budge.
|
|
|
|
Similar to MessageBox::show, this encourages passing in a window.
|
|
Since the vast majority of message boxes should be modal, require
the parent window to be passed in, which can be nullptr for the
rare case that they don't. By it being the first argument, the
default arguments also don't need to be explicitly stated in most
cases, and it encourages passing in a parent window handle.
Fix up several message boxes that should have been modal.
|
|
Since FilePicker almost always should be modal, add the parent
window as mandatory first argument.
|
|
|
|
* The parent information is necessary by the Taskbar to be able to
determine a modal window's parent
* Minimize and maximize modal window stacks together
|
|
Unnecessary since the inclusion of window accessories.
|
|
|
|
Accessory windows are windows that, when activated, will activate
their parent and bring all other accessory windows of that parent
to the front of the window stack. Accessory windows can only be
active input windows. The accessory window's parent is always the
active window regardless of whether it is also the active input
window.
In order to route input correctly, input is now sent to the active
input window, which can be any accessory window or their parent,
or any regular window.
|
|
Also assert indexes are valid in a few more places.
Finally fixes https://github.com/SerenityOS/serenity/issues/1440 and
https://github.com/SerenityOS/serenity/issues/2787 :^)
|
|
Adds a new highlighting effect to the actively selected row in
ComboBox ListView. ComboBoxEditor can now be controlled with
page up, page down, and the up and down arrow keys. ESC and loss
of focus now cause comboboxes to close. Now activates on mouseup
as well as return.
|
|
Adds a new, more restrictive read-only state to TextEditor which
forbids copying, selecting, editor cursors, and context menus.
Provides a unique appearance on focus which accomodates ComboBox
widgets. All TextEditor modes are now accessed by enum and
set_mode() which sets the editor to Editable, ReadOnly or
DisplayOnly. Updates applications still using set_readonly().
|
|
Reports changes on the active/inactive state of a window.
|
|
|
|
|
|
|
|
If the application can't open more than one file, we should not
allow the user to select multiple.
|
|
|
|
This implements the following optimizations:
* Rather than clearing a HashTable of selected items and re-populating
it every time the selection rectangle changes, determine the delta
by only examining the items that might be in the area where the
selection may have changed compared to the previous area. Then
only add/remove selection items as needed.
* When painting, only query and paint the items actually visible.
Also, keep a local cache of item information such as calculated
rectangles and selection state, so it doesn't have to be calculated
over and over again.
|
|
This solves a problem where the SortingProxyModel doesn't
receive the on_update call because other code overwrote
the handler later on.
|
|
Changes the shortcut to expand and collapse subtrees from alt to
ctrl+right/left arrows in TreeView. The current shortcuts conflict
with applications that already have navigation controls bound to alt
like file manager.
|
|
This prevents redundant calls to on_toggle for the same indices when
subtrees are collapsed or expanded.
|
|
fixed #2576
|
|
context menu
By specifying an optional Action for Menu::popup an application
can specify what item should be displayed as a default item.
|
|
The currently selected directory now displays an open folder icon
in the directory tree.
|
|
Alt+arrow toggles are now captured.
|
|
In order to calculate a thumb size that is a representation
of the visible portion (page) of the content, that information
needs to be taken into account.
|
|
view
If selecting in a large icon view, and dragging the mouse outside
of the widget, or close to the border of it, start scrolling
automatically. This allows for selecting large amount of items
that exceed the amount that can be displayed.
|
|
|
|
|
|
|
|
|
|
This adds a function to expose the index and open/close state
of expandible nodes in TreeView.
|
|
This just makes everything nicer.
|
|
This function relies on visible_content_rect() which could previously
return rectangles with negative size. This was causing TableViews to
scroll down a little bit when assigning a model to them.
Also tweak the logic so we scroll a 0x0 rect into view, giving a
slightly nicer final position.
|
|
This allows you to specify a role to sort by. Defaults to Role::Sort.
Also reordered the Role enum so that Role::Custom is last.
|
|
|
|
|
|
During app teardown, the Application object may be destroyed before
something else, and so having Application::the() return a reference was
obscuring the truth about its lifetime.
This patch makes the API more honest by returning a pointer. While
this makes call sites look a bit more sketchy, do note that the global
Application pointer only becomes null during app teardown.
|
|
Having this on the stack makes whole-program teardown iffy. Turning it
into a Core::Object allows anyone who needs it to extends its lifetime.
|
|
This makes the selected (currently shown in bold) item in HackStudio's
project file view show up at the correct position.
|