summaryrefslogtreecommitdiff
path: root/Libraries/LibGUI
AgeCommit message (Collapse)Author
2020-04-10LibGUI: Add ColorInput componentHüseyin ASLITÜRK
ColorInput is a new GUI component for selecting color using ColorPicker dialog. It is simplify usage of ColorPicker dialog and more elegant view of current selected color.
2020-04-09LibGUI: Keep still-valid indexes in selection after a model updateAndreas Kling
This is a stop-gap patch solution for the annoying problem of models being bad at updating. At least the process table will retain your selection in SystemMonitor now.
2020-04-07LibGUI: Thumbnail keep the aspect ratio of the original file.VAN BOSSUYT Nicolas
2020-04-07LibGUI: Center the icon in ItemView when smaller than 32px.VAN BOSSUYT Nicolas
2020-04-07Resources: Added filetype icon for object, library, text and unknown.VAN BOSSUYT Nicolas
2020-04-07AK: Allow %m.nf specifier for double/float in printf to set fraction withEmanuel Sprung
This patch adds the missing part for the printf of double values to specify the length of the fraction part. For GVariant, a default of %.2 is used.
2020-04-06LibGUI: Added the new icons to FileSystemModel.VAN BOSSUYT Nicolas
2020-04-06Meta: Add missing copyright headersAndreas Kling
2020-04-06LibGUI: Add remove_tab and on_change to TabWidgetOriko
2020-04-04LibGUI: Add MenuBar::add_menu(name)Andreas Kling
This allows us to construct menus in a more natural way: auto& file_menu = menubar->add_menu("File"); file_menu.add_action(...); Instead of the old way: auto file_menu = GUI::Menu::construct(); file_menu->add_action(...); menubar->add_menu(file_menu);
2020-04-04LibGUI: Make GUI::TabWidget::add_tab<T>() return a T&Andreas Kling
Since the newly constructed sub-widget is owned by the TabWidget, we can simply return a T& here. :^)
2020-04-04LibGUI: Fix CppLexer assertion on incomplete #include statementsAndreas Kling
Thanks to @NotKyon for reporting this bug with a solid analysis. Fixes #1488.
2020-04-04LibGUI: Move ColorPicker's helper classes fully into ColorPicker.cppAndreas Kling
Since these are not used by the outside world, no need to expose them.
2020-04-04LibGUI: Add color palette and custom color selection in the ColorPickerHüseyin ASLITÜRK
2020-04-03LibGUI: Clear any hovered index when the cursor leaves an AbstractViewAndreas Kling
2020-03-30LibGUI: Fix index invalidationSergey Bugaev
When the model gets updated, we have to let go of the old indexes, because they're invalid from that moment on. Fixes https://github.com/SerenityOS/serenity/issues/1541
2020-03-30LibGUI: Brighten icons when hovering items in item viewsAndreas Kling
View classes now track their hovered item and paint them in a slightly brighter shade to liven up the user interface. :^)
2020-03-30LibGUI: Brighten buttons when hovering over them :^)Andreas Kling
2020-03-30WindowServer+NotificationServer: Vertical title bar for notificationsAndreas Kling
This patch adds a specialized window type for notifications. They now have a title bar on the right-hand side, with a close button. This removes the need for the "Done" button in notifications, giving us a bit more horizontal space overall. Design based on a mock-up from @xTibor :^)
2020-03-30LibGUI: AboutDialog now inherits the icon of its parent windowTibor Nagy
2020-03-29WindowServer: Use Gfx::ShareableBitmap for SetWindowIconBitmapAndreas Kling
2020-03-29LibGfx+LibIPC: Add Gfx::ShareableBitmap, a bitmap for easy IPC usageAndreas Kling
With this patch, it's now possible to pass a Gfx::ShareableBitmap in an IPC message. As long as the message itself is synchronous, the bitmap will be adopted by the receiving end, and disowned by the sender nicely without any accounting effort like we've had to do in the past. Use this in NotificationServer to allow sending arbitrary bitmaps as icons instead of paths-to-icons.
2020-03-29LibGUI: Make Label::set_icon() take a const Gfx::Bitmap*Andreas Kling
2020-03-29LibGUI: Desktop, add methods for set background color and wallpaper modeHüseyin ASLITÜRK
2020-03-29LibGUI: ComboBox, add "set_selected_index" methodHüseyin ASLITÜRK
Easy way to set selected item.
2020-03-27LibGUI: Add store(), add() and remove() methods to JsonArrayModelEmanuel Sprung
This patchset adds the methods to alter an JSON model and store it back to the disk.
2020-03-26NotificationServer: Allow showing an icon in notificationsAndreas Kling
We currently use icon paths for this because I didn't want to deal with implementing icon bitmap sharing right now. In the future it would be better to post a bitmap somehow instead of a path.
2020-03-26LibGUI: Make a new connection to NotificationServer each timeAndreas Kling
Since NotificationServer is a spawn-on-demand + die-when-not-used type of service, we can't expect a singleton connection to it to remain open and useful. We solve this for now by making a new IPC connection for every new notification sent. Maybe there's a better solution for this.
2020-03-22WindowServer+LibGUI: Add a way to get notified at display refresh rateAndreas Kling
This patch adds GUI::DisplayLink, a mechanism for registering callbacks that will fire at the display refresh rate. Note that we don't actually know the screen refresh rate, but this is instead completely driven by WindowServer's compositing timer. For all current intents and purposes it does the job well enough. :^)
2020-03-22LibGUI: Allow constructing Variant from FlyStringAndreas Kling
2020-03-22LibGUI: Don't spam WindowServer with SetWindowOverrideCursor messagesAndreas Kling
Remember the override cursor in GUI::Window and avoid sending a message to WindowServer when possible. This removes a lot of synchronous IPC between Browser and WindowServer, which noticeably improves DOM event responsiveness. :^)
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