Commit graph

581 commits

Author SHA1 Message Date
Andreas Kling
d343fb2429 AK: Rename Retainable.h => RefCounted.h. 2019-06-21 18:58:45 +02:00
Andreas Kling
550b0b062b AK: Rename RetainPtr.h => RefPtr.h, Retained.h => NonnullRefPtr.h. 2019-06-21 18:45:59 +02:00
Andreas Kling
90b1354688 AK: Rename RetainPtr => RefPtr and Retained => NonnullRefPtr. 2019-06-21 18:37:47 +02:00
Andreas Kling
77b9fa89dd AK: Rename Retainable => RefCounted.
(And various related renames that go along with it.)
2019-06-21 15:30:03 +02:00
Andreas Kling
da475ce3f5 LibGUI: Refactor the keyboard activation code a bit to use WeakPtr<GWidget>. 2019-06-21 10:09:57 +02:00
Andreas Kling
940eb1bbeb
Merge pull request #173 from faissaloo/serenity-keys
SerenityKeys
2019-06-16 22:37:33 +02:00
faissaloo
54005e6942 GWindow: Get rid of superflous variable 2019-06-16 21:07:55 +01:00
faissaloo
55e115b0cd LibGUI: clang-format 2019-06-16 21:01:51 +01:00
faissaloo
770907f90c GWindow: Cleanup 2019-06-16 16:55:39 +01:00
Andreas Kling
1db169244a GSpinBox: The initial text should be "0". 2019-06-16 15:08:52 +02:00
faissaloo
b635c3db54 Merge remote-tracking branch 'origin/master' into serenity-keys 2019-06-15 21:55:17 +01:00
faissaloo
50fd9ed383 GWindow: Hide SerenityKeys when window is deselected 2019-06-15 21:53:25 +01:00
Andreas Kling
d7756fc09f LibGUI: Add an "exclusive" property to GAbstractButtons.
This makes checkable buttons exclusive with other checkable buttons in the
same parent widget. Basically like radio buttons. This should probably be
used to implement GRadioButton once it's a bit more mature.
2019-06-12 05:57:26 +02:00
faissaloo
6e0e9481a4 GWindow: Make SerenityKeys labels look better 2019-06-09 17:01:25 +01:00
faissaloo
185bff6714 GWindow: SerenityKeys refactor 2019-06-08 15:13:16 +01:00
Andreas Kling
39d1a9ae66 Meta: Tweak .clang-format to not wrap braces after enums. 2019-06-07 17:13:23 +02:00
Andreas Kling
7ad8790d80 LibGUI: Run clang-format on everything. 2019-06-07 11:46:02 +02:00
Andreas Kling
a2a6bb93bc GScrollBar: Use increment/decrement naming consistently. 2019-06-07 10:56:30 +02:00
Andreas Kling
164742f316 GScrollBar: Keep scrolling while pushing down increment/decrement button. 2019-06-07 10:43:10 +02:00
Andreas Kling
0ece5fee14 GTextEditor: Set the vertical scrollbar step size to the line height.
This makes us scroll one line at a time.
2019-06-07 10:42:59 +02:00
faissaloo
d449cda3d8 GWindow: Highlight for multicharacter SerenityKeys 2019-06-03 21:04:50 +01:00
Robin Burchell
ab004f73bf Painter: Reduce the number of draw_text overloads to only involve StringView
No more char + int sequences, as that's literally what StringView is for.
2019-06-03 20:27:05 +02:00
Robin Burchell
1024dfa81a StringViewize a bunch of things -- mostly LibGUI 2019-06-03 20:27:05 +02:00
faissaloo
053f41f4f9 GWindow: Leave SerenityKey mode if non-existent keybind is used 2019-06-03 18:13:41 +01:00
faissaloo
72264661fd GWindow: Add SerenityKeys minimum functionality 2019-06-03 16:03:19 +01:00
Andreas Kling
51581c21fc WindowServer+LibGUI: Add a way to bring a window to the front.
GWindow::move_to_front() can now be used to move a window to the top of
the window stack.

We use this in Terminal to bring the settings window to the front if it
already exists when it's requested, in case it's hiding behind something.
2019-06-01 20:10:37 +02:00
Andreas Kling
fdf3608c8a Update Badge<T> instantiations to simply be {}. 2019-05-31 15:44:04 +02:00
Robin Burchell
0dc9af5f7e Add clang-format file
Also run it across the whole tree to get everything using the One True Style.
We don't yet run this in an automated fashion as it's a little slow, but
there is a snippet to do so in makeall.sh.
2019-05-28 17:31:20 +02:00
Andreas Kling
ca4d65ba59 LibGUI: Add a GListView widget.
GListView displays a single column of data from a GModel.
2019-05-27 21:44:39 +02:00
Christopher Dumas
e3f81bce49 IRC client setttings, Terminal settings, more WM settings 2019-05-27 21:40:53 +02:00
Robin Burchell
9d2b08e06e LibCore: Add CDirIterator, and use it in everything rather than readdir 2019-05-27 15:27:23 +02:00
Andreas Kling
3873c51781 LibCore: Add CObject::for_each_child_of_type<T>()
Use this to iterate over all the GRadioButtons in a group.
2019-05-27 04:18:24 +02:00
Andreas Kling
0c85d3dba9 LibCore+LibGUI: Add is<T>(CObject&) and to<T>(CObject&) helpers. 2019-05-27 04:06:01 +02:00
Andreas Kling
723ba91f74 LibGUI: Add GWidget::for_each_child_widget(callback). 2019-05-27 03:52:33 +02:00
Andreas Kling
3654c33c56 GFilePicker: Add a preview pane on the right-hand side for image previews.
Currently the preview pane is always open, but maybe it should be something
you can configure, or something that happens automagically.
2019-05-27 01:55:04 +02:00
faissaloo
6ac8aab941 GFilePicker: Return paths as FileSystemPath rather than String 2019-05-26 22:52:09 +02:00
Faissal Bensefia
411cdf067b AK: Implement String::to_int (#99) 2019-05-26 04:08:36 +02:00
Robin Burchell
9b2fb47136 GTextEditor: Take frame size into account when setting clip rect
The ruler right does not include the (already translated) frame size.
Take that into account too, otherwise we overdraw the ruler.

Fixes #23.
2019-05-26 02:46:26 +02:00
Andreas Kling
90dbf689c0 LibGUI: Unbreak popup menus, now that invalid menus have ID -1. 2019-05-26 01:07:56 +02:00
Andreas Kling
cca510162e GButton: Align the button text according to text_alignment().
Added a Rect::align_within(other_rect, alignment) helper that seemed useful.
2019-05-25 20:15:52 +02:00
Andreas Kling
83aa785c57 GSlider: Oops, fix typo in previous commit. 2019-05-25 13:44:37 +02:00
Andreas Kling
d12857fc36 LibGUI: Notify widgets when their enabled state changes.
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 13:40:57 +02:00
Andreas Kling
817ac9c22b LibGUI: Elide the text in GCheckBox and GRadioButton when low on space. 2019-05-25 04:01:22 +02:00
Christopher Dumas
957f8b84f2 WindowServer: Make it possible to turn off window title bars (#88)
Also, Launcher now does not use titlebars.
Only check if titlebar should be shown if the window type works with that.
2019-05-24 23:37:23 +02:00
Andreas Kling
cb9134a2ca GSlider: Ignore mouse events when disabled. 2019-05-24 23:03:11 +02:00
Andreas Kling
ac7e02d984 GLabel: Paint the text with a disabled look when appropriate.
Also turn on right-side text elision in all cases by default.
2019-05-24 23:00:36 +02:00
Andreas Kling
b0ccd04a9c LibGUI: When tabbing between focusable widgets, skip over disabled ones. 2019-05-24 22:57:05 +02:00
Andreas Kling
c62be7bb2b LibGUI: Share code for text painting in GAbstractButton.
This gives all the GAbstractButton a consistent disabled appearance.
2019-05-24 22:54:37 +02:00
Andreas Kling
149b7f92a7 Demos: Start working on a simple WidgetGallery app.
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 22:47:41 +02:00
Andreas Kling
508007f1dd GRadioButton: Draw a focus rect when focused. 2019-05-24 17:41:22 +02:00