summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibGUI
AgeCommit message (Collapse)Author
2021-04-06LibGUI: Fix typo in AutocompleteBox::showItamar
2021-04-06LibGUI: Tweak order of common location buttons in FilePickerAndreas Kling
Let's put the root directory up top so the buttons are in order of directory specificity.
2021-04-06LibGUI: Make FilePicker's common location buttons checkableAndreas Kling
We now use the checked state of these buttons to indicate that you are in that specific folder. The checked state is updated automagically no matter how you navigate the file system. :^)
2021-04-06LibGUI: Add shortcuts to common locations in GUI::FilePickerAndreas Kling
This patch adds a handy set of buttons on the left hand side that can take you to common locations such as: - Your home directory - Your desktop directory - The root directory
2021-04-05LibGUI: Add ability to assign a menu to a GUI::ButtonAndreas Kling
When a button has a menu, it opens the menu on mousedown and the menu gains input focus immediately. While the menu is open, the button is painted in a pressed state.
2021-04-05WindowServer+LibGUI: Notify clients when menus become visible/hiddenAndreas Kling
This will allow clients to react to these events.
2021-04-05LibGUI: Use normalized TextRange for early empty string checkMaciej Zygmanowski
Fixes #6141. Allows to copy "backward" selections.
2021-04-05LibGUI: Do AbstractView::set_column_hidden() => set_column_visible()Andreas Kling
This API felt backwards, so let's change it.
2021-04-04LibGUI: Add GUI::CommonActions::make_properties_action()Andreas Kling
Many apps want a "Properties" action with the same icon and shortcut.
2021-04-04WindowServer+LibGUI: Rename WindowType::MenuApplet => AppletAndreas Kling
2021-04-04Everywhere: Replace uses of GUI::Desktop's on_rect_change and remove itLinus Groh
2021-04-04LibGUI: Add ScreenRectChangeEvent and deliver it to windows and widgetsLinus Groh
Having to rely on GUI::Desktop's on_rect_change is quite limiting and a bit awkward (continuing to use it would mean having to setup the callback in every application using a webview) - we need a better way of letting widgets know of a screen rect change automatically. The specific use case will be IPWV/OOPWV which need to keep track of the screen rect and notify the WebContent service of any change (which on its own deliberately can't interact with WindowServer at all). It'll also be useful for notification windows and the taskbar, which currently both rely on the GUI::Desktop callback but will now be able to listen and react to the event themselves.
2021-04-03LibGUI: Don't try to paint items in model-less IconView :^)Andreas Kling
Fixes #6079.
2021-04-02LibGUI: Subtract layout margin when placing items along secondary axisAndreas Kling
While space distribution along the primary axis of a BoxLayout is pretty sophisticated, the secondary axis is very simple: we simply center the widget. However, this doesn't always look very nice if we don't take margins into account, so make sure we subtract them from the rect we do all the centering within.
2021-04-02LibGUI: Always outline selected date and paint today's date boldthankyouverycool
Fixes selected dates and today's date not painting correctly when viewed from adjacent months
2021-04-02LibGUI+Calendar: Inherit from Frame classthankyouverycool
Fixes incorrect painting with variable thickness and cuts down on some layout boilerplate.
2021-03-30WindowServer+LibGUI: Plumb mouse/enter/leave events to applet windowsAndreas Kling
Since applet windows live in the applet area window, the AppletManager has to keep track of which applet is hovered and send the appropriate enter/leave events to the applet windows. This makes applet tooltips work again. :^)
2021-03-30WindowServer+Taskbar: Show applets in taskbar :^)Andreas Kling
WindowServer now collects applet windows into an "applet area" which is really just a window that a WM (window management) client can position via IPC. This is rather hackish, and I think we should come up with a better architecture eventually, but this brings back the missing applets since the global menu where they used to live is gone.
2021-03-30EditingEngine: Don't jump to the beginning or end of a non-existant wordone-some
Previously, when jumping to the next word on the last column of a line, or when jumping to the previous word on the first column, it would crash. This checks if that is the case, and if so, will do nothing.
2021-03-30LibGUI+Calendar: Add new month and year views to Calendarthankyouverycool
And overhaul resize and paint events to fix layout edge cases in which Calendar wasn't filling its parent widget completely. Ensures month views always display prior month days for click navigation. Converts Calendar app layout to GML.
2021-03-30LibGUI: Don't inflate icon text rects beyond available widththankyouverycool
Fixes wrapped text candidates not first eliding
2021-03-29LibGUI+WindowServer: Keep canonical WindowType enum in WindowServerAndreas Kling
Having the same enum in two places was annoying. Let's just "using" the WindowServer::WindowType enum into the GUI namespace.
2021-03-29LibGUI: Add transient option to show dotfiles in FilePickerTimothy Flynn
This is particularly useful when wanting to open files in ~/.config from the Text Editor. The option is currently not persistent, but could be hooked into File Manager's configuration.
2021-03-29TextEditor: Adjust AutoCompleteBox's position to the scroll heightItamar
2021-03-29LibGUI: Enable the use of font properties through GMLEdgar Araújo
You can now specify the font, font_size, font_weight and font_type (fixed_width/normal) through GML
2021-03-29LibGUI: Remove the necessity to have empty {} on GML objectsEdgar Araújo
This simplifies GML syntax when the object doesn't have any childs or properties
2021-03-29LibGUI: Fix IconView selection with FlowDirection::TopToBottomTom
While iterating the items contained by the rubberband we need to skip the correct number of items either vertically or horizontally, depending on which direction the items flow. Fixes #5993
2021-03-28LibGUI: Register GUI::StackWidget with GMLAnotherTest
2021-03-28LibGUI: Make GUI::Widget::event() protectedAndreas Kling
2021-03-27LibGUI: Return symlink fallback icon if target icon cannot be determinedLinus Groh
This is the case for symlinks that point to themselves, for example - previously the returned icon would be empty. Fixes #5978. Fixes #5979.
2021-03-26LibGUI: Show human readable size in filemanagerFederico Guerinoni
The size is visible only in TableView mode of the filemanager.
2021-03-26LibGUI: Allow assigning a value to a specific index in JsonArrayModelTimothy Flynn
2021-03-25WindowServer+LibGUI: Remove the global menubar :^)Andreas Kling
This leaves menu applets running but invisible, and that's a regression we need to take care of obviously. But not today, because it's getting too late.
2021-03-25LibGUI: Make it possible to tweak icon spacing on a GUI::ButtonAndreas Kling
This is the space between the icon and the text on buttons that have both icon and text.
2021-03-25Userland: Turn all application menus into window menus :^)Andreas Kling
2021-03-25WindowServer+LibGfx: Show menus in windows! :^)Andreas Kling
This patch begins the transition away from the global menu towards per-window menus instead. The global menu looks neat, but has always felt clunky, and there are a number of usability problems with it, especially in programs with multiple windows. You can now call GUI::Window::set_menubar() to add a menubar to your window. It will be specific to that one window only.
2021-03-25LibGUI: Add GUI::MenuBar::menubar_id()Andreas Kling
Just exposing the menubar ID on the WindowServer side.
2021-03-25TextEditor: Visualize leading whitespacelucastarche
2021-03-25TextEditor: Added a setter for soft_tab_widthlucastarche
2021-03-24LibGUI: Process pending window updates after handling input eventsTom
Since input events may trigger window portions to be invalidated, rather than making a round trip to WindowServer to get paint events we can simply fake an immediate paint event and update the window contents more quickly. Improves #5881
2021-03-23LibGUI: Remove one ancient GMENU_DEBUG debug logAndreas Kling
2021-03-23HackStudio+LanguageServers/Cpp: Show scope of symbols in LocatorItamar
2021-03-22NotificationServer: Close connection on notification closeNick Johnson
When the notification was closed, the connection was kept around. This caused the core event loop to take up nearly all CPU, so instead of checking the connection we clear it on close and add state variables to check state.
2021-03-22Notification: Use RefPtr for connectionNick Johnson
With this RefPtr, we can initialize the connection to the NotificationServer upon showing the notification. With this, we can prevent double shows and updates or closes before showing.
2021-03-22LibGUI+Notification: Add mutable notificationsNick Johnson
This commit puts all of the remaining pieces in place. This adds a mechanism to update the text, title, and icon of an image. If an image is not provided, the default ladybug will be shown.
2021-03-22Notification: Prevent showing a closed windowNick Johnson
If a notification was closed, the connection will now be dead. To prevent inconsistencies between when a user closes a notification and when an application closes an applicated, check if the notification has been closed before allowing any action.
2021-03-22LibGUI+Notification: Add notification closingNick Johnson
Closing a notification will now allow it to be shown again, as m_showing being false means it can be re-shown.
2021-03-22LibGUI+Notification: Use lifetime connectionNick Johnson
In order to allow notifications to be updated, we will create a persistent connection for the lifetime of the notification.
2021-03-22LibGUI: Allow ItemListModel to have 2D itemsAnotherTest
This makes it possible to use it as a model for e.g. TableViews.
2021-03-22LibGUI: Add a few missing classes to the forwarding headerAnotherTest