Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-05-25 | LibGUI: Notify widgets when their enabled state changes. | Andreas Kling | |
This is done by dispatching a (synchronous) "EnabledChange" event that can be picked up in change_event(). Use this event to kick widgets out of their "being pressed"-type modes if the user is interacting with them while the state is programmatically changed. | |||
2019-05-25 | LibGUI: Elide the text in GCheckBox and GRadioButton when low on space. | Andreas Kling | |
2019-05-24 | WindowServer: Make it possible to turn off window title bars (#88) | Christopher Dumas | |
Also, Launcher now does not use titlebars. Only check if titlebar should be shown if the window type works with that. | |||
2019-05-24 | GSlider: Ignore mouse events when disabled. | Andreas Kling | |
2019-05-24 | GLabel: Paint the text with a disabled look when appropriate. | Andreas Kling | |
Also turn on right-side text elision in all cases by default. | |||
2019-05-24 | LibGUI: When tabbing between focusable widgets, skip over disabled ones. | Andreas Kling | |
2019-05-24 | LibGUI: Share code for text painting in GAbstractButton. | Andreas Kling | |
This gives all the GAbstractButton a consistent disabled appearance. | |||
2019-05-24 | Demos: Start working on a simple WidgetGallery app. | Andreas Kling | |
It's good to have a place where we can try out all the different widgets. This needs some more work on a nice layout, and should also include more of the widgets. :^) | |||
2019-05-24 | GRadioButton: Draw a focus rect when focused. | Andreas Kling | |
2019-05-24 | LibGUI: Make GCheckBox inherit from GAbstractButton. | Andreas Kling | |
2019-05-24 | LibGUI: Add a GAbstractButton base class for button widgets. | Andreas Kling | |
This patch moves GButton and GRadioButton to inherit from it. This allows them to share code for mouse event handling, etc. | |||
2019-05-24 | LibGUI: Don't crash when updating menu item that's not in the window server ↵ | Christopher Dumas | |
(#83) Don't crash when updating menu item that's not in the window server. Menu Items begin with an invalid ID of -1, and only get a valid ID if the menu they are attached to is added to the window server. They don't send updates to the server unless they have a valid ID. Fixes #82 | |||
2019-05-24 | LibGUI: Add a GRadioButton widget. | Andreas Kling | |
Radio buttons are automagically exclusive with other radio button children of the same parent. :^) | |||
2019-05-21 | GWindow: Only flip the window backing stores once per paint event. | Andreas Kling | |
2019-05-20 | GEventLoop: Make the WindowServer connection use a blocking socket. | Andreas Kling | |
2019-05-20 | Kernel: Report EAGAIN from read() on a non-blocking socket if the buffer is ↵ | Robin Burchell | |
empty This is not EOF, and never should have been so -- can trip up other code when porting. Also updates LibGUI and WindowServer which both relied on the old behaviour (and didn't work without changes). There may be others, but I didn't run into them with a quick inspection. | |||
2019-05-17 | WindowServer: Add support for fullscreen windows. | Andreas Kling | |
Fullscreen windows are rendered alone and above everything else when they are active, and as part of the regular window stack order when something else is active. Currently windows cannot be made fullscreen after-the-fact, but must have the fullscreen flag included in their CreateWindow message. It should not possible to interact with the menu, taskbar or window frame while the active window is fullscreened. :^) | |||
2019-05-17 | Build: Install most headers to Root (and libcore.a/libgui.a) | Robin Burchell | |
This makes out-of-tree linking possible. And at the same time, add a CMakeToolchain.txt file that can be used to build arbitrary cmake-using applications on Serenity by pointing to the CMAKE_TOOLCHAIN_FILE when running cmake: -DCMAKE_TOOLCHAIN_FILE=~/code/serenity/Toolchain/CMakeToolchain.txt | |||
2019-05-17 | GInputBox: Use whichever is greater: the approximate size of the title, or ↵ | Robin Burchell | |
the label's text Might be an idea to add a minimum size constrain in window server instead, since it knows the exact dimensions? But this is a simple fix that seems to do the job. | |||
2019-05-16 | GFilePicker: Remove the frame around the little toolbar. | Andreas Kling | |
2019-05-16 | GButton: Only draw focus rect if there is a caption text. | Andreas Kling | |
2019-05-16 | GFilePicker: Make the path selected accessible externally | Robin Burchell | |
2019-05-16 | GTextEditor: Introduce triple click to select all | Robin Burchell | |
2019-05-16 | GTextEditor: Minor cleanup | Robin Burchell | |
Remove an unnecessary layer of nesting | |||
2019-05-16 | WindowServer/GMenu: Adjust the popup position to fit the window inside the ↵ | Robin Burchell | |
screen Rather than passing a "top_anchored" bool. Fixes #22. | |||
2019-05-15 | Move double click events from LibGUI to the window server | Robin Burchell | |
2019-05-15 | GButton: Allow triggering a "click" by pressing Return when focused. | Andreas Kling | |
2019-05-15 | LibGUI: Support cycling through focusable widgets with Tab and Shift-Tab. | Andreas Kling | |
2019-05-14 | GEventLoop: Rename s_event_fd => s_windowserver_fd. | Andreas Kling | |
2019-05-13 | WindowServer+LibGUI: Handle mouse wheel deltas in the mouse event stream. | Andreas Kling | |
The wheel events will end up in GWidget::mousewheel_event(GMouseEvent&) on the client-side. This patch also implements basic wheel scrolling in GScrollableWidget via this mechanism. :^) | |||
2019-05-12 | Change String&& arguments to const String& in a couple of places. | Andreas Kling | |
String&& is more nuisance than anything, and the codegen improvement is basically negligible since the underlying type is already retainable. | |||
2019-05-11 | GTableView: Update content size immediately on column show/hide. | Andreas Kling | |
2019-05-11 | GTableView: Don't include hidden columns in content width. | Andreas Kling | |
2019-05-10 | GLayout: Default to 4 pixels of spacing(). | Andreas Kling | |
2019-05-10 | GToolBar: Make the framed appearance optional. | Andreas Kling | |
2019-05-10 | LibGUI+WindowServer: Improve checkmark appearance. | Andreas Kling | |
2019-05-10 | GDialog: If no parent window is provided, center dialog on screen. | Andreas Kling | |
2019-05-10 | GTableView: Headers were not usable when the view was scrolled. | Andreas Kling | |
2019-05-10 | GTableView: Make it possible to hide/show columns from a context menu. | Andreas Kling | |
Show a context menu when right clicking the headers of a GTableView, and allow the user to hide/show individual columns. | |||
2019-05-10 | Kernel: Add a writev() syscall for writing multiple buffers in one go. | Andreas Kling | |
We then use this immediately in the WindowServer/LibGUI communication in order to send both message + optional "extra data" with a single syscall. | |||
2019-05-09 | GFilePicker: Add a "new directory" button. | Andreas Kling | |
2019-05-09 | GFilePicker: More work on the file picker, adding a location textbox. | Andreas Kling | |
2019-05-09 | GFilePicker: Add a button for moving up to parent directory. | Andreas Kling | |
2019-05-09 | LibGUI: Remove GModel activations to GAbstractView. | Andreas Kling | |
Now you can hook activation via GAbstractView::on_activation. The design still isn't quite right, we should eventually move the selection away from the model somehow. | |||
2019-05-09 | GLayout: Add a simple spacer concept; dummy item that expands-to-fit. | Andreas Kling | |
A spacer can be inserted anywhere in a layout and will simply expand to fill the available space. This is useful for pushing widgets into place. :^) | |||
2019-05-09 | LibGUI: Start working on a file picker dialog (GFilePicker). | Andreas Kling | |
Have LibGUI adopt GDirectoryModel from FileManager since it fits perfectly for the needs of a file picker. | |||
2019-05-08 | LibGUI: Add some missing class_name() overrides to GDialog and subclasses. | Andreas Kling | |
2019-05-08 | GMessageBox: Add icons to message boxes with 3 standard ones to choose from. | Andreas Kling | |
2019-05-08 | GGroupBox: Rename "name" property to "title" | Andreas Kling | |
2019-05-08 | GTextEditor: Add a readonly mode. | Andreas Kling | |