summaryrefslogtreecommitdiff
path: root/Libraries/LibGUI
AgeCommit message (Collapse)Author
2020-03-19LibGUI: Remove G prefix from macrosTibor Nagy
2020-03-19LibGUI: Remove friend classes of TextDocumentLineTibor Nagy
They were unused. Also GTextEditor doesn't exist anymore and GCC was silently ignoring this declaration.
2020-03-19LibGUI: Remove remaining G prefixesTibor Nagy
2020-03-18HackStudio: Expand project tree view by defaultOriko
2020-03-16LibGUI: Add a ThemeChange eventOriko
2020-03-16LibGUI: Use themes for syntax highlightingOriko
2020-03-14LibGUI: Highlight new JS tokensOriko
2020-03-13LibGUI: Add missing copyright headersOriko
2020-03-13LibGUI: Add Javascript syntax highlighterOriko
2020-03-13LibGUI: Abstract token pair matchingOriko
2020-03-12HackStudio: Abstract over syntax highlighterOriko
2020-03-12LibGUI: Add underlines to highlightingOriko
2020-03-12LibGUI: Take scroll offset into account on ItemView rubberband selectionTibor Nagy
Same kind of issue as #1271.
2020-03-12LibGUI: Parse #include statements separatelyOriko
2020-03-12LibGUI: Track window visibility with a separate flag (#1424)Alex Muscar
See https://github.com/SerenityOS/serenity/pull/1410 for the motivation.
2020-03-11LibGUI: Don't update windows that aren't visible (#1410)Alex Muscar
Because the ID of a hidden window is 0, the window server will fail to update them when the system theme is changed. This manifests when an application has multiple windows, some of which are hidden, and the system theme is changed (see https://github.com/SerenityOS/serenity/issues/1378). This PR changes the window code to ignore update messages if the window has the ID 0--is hidden. Ideally the window ID would not change, and visibility would be managed separately.
2020-03-11LibGUI: Skip non-font files in the FontDatabase constructorTibor Nagy
2020-03-11LibGUI: Highlight various number literalsOriko
2020-03-11LibGUI: Fix overflow crash in highlighterOriko
2020-03-11LibGUI: Syntax highlight string escape sequencesOriko
2020-03-11LibGUI: Clear old syntax highlightingOriko
2020-03-08Userspace: Add missing #includes now that AK/StdLibExtras.h is smallerAndreas Kling
2020-03-08AK: Add global FlatPtr typedef. It's u32 or u64, based on sizeof(void*)Andreas Kling
Use this instead of uintptr_t throughout the codebase. This makes it possible to pass a FlatPtr to something that has u32 and u64 overloads.
2020-03-08LibGUI: Fix null-termination of TextDocumentLineTibor Nagy
2020-03-07LibGUI: Move Icon and FontDatabase into the GUI namespaceShannon Booth
We also clean up some old references to the old G prefixed GUI classes This also fixes a potential bug with using: C_OBJECT_ABSTRACT(GAbstractButton) instead of C_OBJECT_ABSTRACT(AbstractButton)
2020-03-07LibCore: Remove all remaining C prefix referencesShannon Booth
LibCore's GZip is also moved into the Core namespace with this change.
2020-03-05LibGUI: Fix missing equality checks in Window::did_remove_widget()Andreas Kling
We should only detach from the cursor tracking widgets on unparenting if they were the same widget that's being unparented! Thanks to @agoose77 for spotting this! Fixes #1354.
2020-03-05LibGUI: Fix group name columns in FileSystemModelTibor Nagy
2020-03-05LibGUI: Implement set_property() on Widget and AbstractButtonAndreas Kling
This makes it possible for an RPC client to modify some interesting widget properties.
2020-03-05LibGUI: Make the ModelEditingDelegate constructor protectedAndreas Kling
2020-03-05LibGUI: Forget some of Window's widgets eagerly on widget unparentingAndreas Kling
Previously the focused widget would only get cleared on replacement or on destruction (being a WeakPtr and all.) This could lead to window dispatching events to a focused widget after it had been removed from the window's widget tree. The same issue existed for the hovered widget, etc. So this patch makes sure that we eagerly clear the various widget pointers in Window immediately when they are removed from the window's widget tree.
2020-03-05LibGUI+Inspector: Highlight the currently remotely inspected widgetAndreas Kling
This patch adds a magenta rectangle around the currently inspected widget. This allows you to browse an app's widget tree somewhat visually using the Inspector. :^)
2020-03-05LibGUI: Make the default window title "GUI::Window"Andreas Kling
Instead of "GWindow", that is. :^)
2020-03-05LibGUI: Make Layout a Core::Object and add basic serializationAndreas Kling
This allows you to view layouts (as data) in Inspector.
2020-03-04LibGUI: Ignore keyboard and mouse events in disabled widgetsAndreas Kling
2020-03-04LibGUI: Remove unused GUI::Widget::click_event()Andreas Kling
2020-03-04LibGUI: TextEditor should paint text with disabled color when disabledAndreas Kling
2020-03-04LibGUI: Don't use Core::Object::add() to instantiate dialogsAndreas Kling
Now that add() returns a WidgetType&, we can't rely on the parent of a GUI::Dialog to still keep it alive after exec() returns. This happens because exec() will call remove_from_parent() on itself before returning. And so we go back to the old idiom for creating a GUI::Dialog centered above a specific window. Just call GUI::Dialog::construct(), passing the "parent" window as the last parameter.
2020-03-04LibCore: Make Core::Object::add<ChildType> return a ChildType&Andreas Kling
Since the returned object is now owned by the callee object, we can simply vend a ChildType&. This allows us to use "." instead of "->" at the call site, which is quite nice. :^)
2020-03-04LibGUI: Use GUI::Window::set_main_widget<WidgetType>() in clientsAndreas Kling
2020-03-04LibGUI: Use set_layout<LayoutType>() in lots of client codeAndreas Kling
2020-03-03LibGUI: Some more convenience functions for constructing widgetsAndreas Kling
This patch adds two new API's: - WidgetType& GUI::Window::set_main_widget<WidgetType>(); This creates a new main widget for a window, assigns it, and returns it to you as a WidgetType&. - LayoutType& GUI::Widget::set_layout<LayoutType>(); Same basic idea, creates a new layout, assigns it, and returns it to you as a LayoutType&.
2020-03-03LibGUI: Save some more state from AbstractButtonAndreas Kling
The more stuff we save in save_to() overrides, the more interesting it becomes inspecting GUI programs. :^)
2020-03-03LibGUI: Remove Button& parameter from Button::on_click hookAndreas Kling
There was but a single user of this parameter and it's a bit tedious to write it out every time, so let's get rid of it.
2020-03-03AK: Make quick_sort() a little more ergonomicAndreas Kling
Now it actually defaults to "a < b" comparison, instead of forcing you to provide a trivial less-than comparator. Also you can pass in any collection type that has .begin() and .end() and we'll sort it for you.
2020-03-02LibGUI: Fix broken TreeView rendering with more than two columnsAndreas Kling
The computation of the tree column x offset was not taking padding into account. This patch fixes that and collects the logic in a helper.
2020-03-01AK: Remove unnecessary casts to size_t, after Vector changesAndreas Kling
Now that Vector uses size_t, we can remove a whole bunch of redundant casts to size_t.
2020-02-28LibC: Move shbuf_* API's to <serenity.h>Andreas Kling
2020-02-28Kernel+LibC: Rename shared buffer syscalls to use a prefixAndreas Kling
This feels a lot more consistent and Unixy: create_shared_buffer() => shbuf_create() share_buffer_with() => shbuf_allow_pid() share_buffer_globally() => shbuf_allow_all() get_shared_buffer() => shbuf_get() release_shared_buffer() => shbuf_release() seal_shared_buffer() => shbuf_seal() get_shared_buffer_size() => shbuf_get_size() Also, "shared_buffer_id" is shortened to "shbuf_id" all around.
2020-02-27LibGUI: Disable the ColumnsView subview in MultiView for nowAndreas Kling
This is causing FilePicker to log a bunch of debug noise due to the missing support for tree models in SortingProxyModel and it's not helping anyone so let's just disable it. This needs fixing in SortingProxyModel.