summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-24LibGUI: Fix laggy mouse selection in TextEditor widgetAndreas Kling
We were letting the automatic scrolling timer drive all selection updates to fix an unwanted acceleration that was happening. However, if a mousemove occurs *within* the editor widget, we should just handle it right then and there.
2020-04-24LibGUI: Shrink GUI::Splitter by 1 pixel to make it look just rightAndreas Kling
Splitters were slightly oversized to work around the fact that we were ignoring 2px on both sides of them. Now that the whole splitter can be interacted with, we can lose 1px of fat and look great! :^)
2020-04-24FileManager: Set content margin of DirectoryView to same as childrenAndreas Kling
2020-04-24LibGUI: Introduce widget content margins + improve splittersAndreas Kling
A GUI::Widget can now set an optional content margin (4x0 by default.) Pixels in the content margin will be ignored for hit testing purposes. Use this to allow frame-like widgets (like GUI::Frame!) to ignore any mouse events in the frame area, and instead let those go to parent. This allows GUI::Splitter to react "sooner" to mouse events that were previously swallowed by the child widgets instead of ending up in the splitter. The net effect is that 2 more pixels on each side of a splitter handle are now interactive and usable for splitting! :^)
2020-04-24WindowServer: Don't allow activating disabled menu items with keyboardAndreas Kling
2020-04-24WindowServer: Fix name typo in descend_into_submenu_at_hovered_item()Andreas Kling
2020-04-24WindowServer: Skip over disabled menu items during keyboard navigationAndreas Kling
2020-04-24Base: Tweak ladybug iconAndreas Kling
2020-04-24LibGUI: When removing a TabWidget tab, activate the next tabAndreas Kling
2020-04-24LibJS: Add Array.prototype.findKesse Jones
2020-04-24QuickShow: Properly hide toolbar on toggle actionLinus Groh
Similar to fullscreen mode we need to hide the toolbar's container.
2020-04-24QuickShow: Hide toolbar container in fullscreen modeLinus Groh
If we just hide the toolbar itself, its container is still visible and taking up space at the top of the screen.
2020-04-24Browser+LibWeb: Open link in new tab on Ctrl+Click :^)Andreas Kling
2020-04-24Browser: Scope tab-specific actions to the tab itselfAndreas Kling
This makes LibGUI choose the correct action depending on which tab is currently active (technically which tab is *focused*.) Fixes #1935.
2020-04-24LibGUI: Grant focus when activating a new stack/tab child widgetAndreas Kling
This makes opening a tab actually focus the opened tab.
2020-04-24LibGUI: Search the entire focus chain for shortcut actionsAndreas Kling
Instead of only looking in the focused widget, we now also look in the ancestor chain of that widget for any ancestor with a registered action for the given shortcut. This makes it possible for parent widgets to capture action activations while one of their children is focused.
2020-04-24Browser: Open links with target="_blank" in new tabLinus Groh
2020-04-24LibWeb: Pass link target to HtmlView's on_link_click callbackLinus Groh
2020-04-24LibJS: Add TokenType::TemplateLiteralLinus Groh
This is required for template literals - we're not quite there yet, but at least the parser can now tell us when this token is encountered - currently this yields "Unexpected token Invalid". Not really helpful. The character is a "backtick", but as we already have TokenType::{StringLiteral,RegexLiteral} this seemed like a fitting name. This also enables syntax highlighting for template literals in the js REPL and LibGUI's JSSyntaxHighlighter.
2020-04-24LibJS: Fix ObjectExpression::execute()Linus Groh
Change from code review changed key() and value() getters - forgot to update this...
2020-04-23LibJS: Implement computed properties in object expressionsLinus Groh
2020-04-23LibJS: Require colon in object expression for non-identifier keysLinus Groh
{foo} is valid - {"foo"} or {1} is not.
2020-04-23LibJS: Fix left shift operatorLinus Groh
Typo causing it to compute lhs << lhs, not lhs << rhs as expected.
2020-04-23Browser: Add "next tab" and "previous tab" actionsAndreas Kling
Now you can switch between the open tabs with Ctrl+PgUp and Ctrl+PgDn
2020-04-23LibGUI: Add TabWidget functions to activate next/previous tabAndreas Kling
2020-04-23Browser: Add "Close tab" action (Ctrl+W) :^)Andreas Kling
Note that this is a little bit unreliable with the keyboard shortcut since LibGUI can get confused about which Action it's supposed to use as each Browser::Tab has its own "close tab" action. This will need to be fixed in LibGUI.
2020-04-23Browser: Add "New tab" action (Ctrl+T) :^)Andreas Kling
This also introduces a WindowActions collection of actions that are not specific to the currently open tab, but nevertheless part of its menus.
2020-04-23Browser: Start implementing tabbed browsing! :^)Andreas Kling
This patch moves most of the Browser UI into a Tab class. The main UI now mainly consists of a GUI::TabWidget that Tab objects are added to. I'm going with the "tabs on top" style here, since I like how it makes it feel like each tab has its own UI controls (which it actually does!)
2020-04-23LibGUI: Add TabWidget::set_tab_title(Widget&, StringView)Andreas Kling
This lets you change the title of a tab after creating it.
2020-04-23LibGUI: Tweak default ScrollBar size to make arrow icons centered :^)Andreas Kling
2020-04-23Base: Nudge Redmond theme closer to the Windows 95 colors :^)Andreas Kling
2020-04-23Help: Sort the manual pages alphabeticallyAndreas Kling
Fixes #1258.
2020-04-23LibJS: Implement 'in' operatorLinus Groh
2020-04-23LibJS: Implement bitwise unsigned right shift operator (>>>)Linus Groh
2020-04-23LibJS: Implement bitwise right shift operator (>>)Linus Groh
2020-04-23LibJS: Implement bitwise left shift operator (<<)Linus Groh
2020-04-23LibJS: Add Math.pow()Linus Groh
2020-04-23LibJS: Add Array.prototype.includesKesse Jones
2020-04-23WindowServer: Don't allow resize-grabbing window underneath title barAndreas Kling
2020-04-23QuickShow: Draw GUI::Frame parts of QSWidgetAndreas Kling
We were forgetting to draw the frame. :^)
2020-04-23Base: Tweak filetype-javascript icon and add 32x32 versionAndreas Kling
2020-04-23LibGUI: Make StatusBar 2px shorter vertically for a snugger fitAndreas Kling
2020-04-23HexEditor: Fill main widget with background to prevent gapsAndreas Kling
2020-04-23Base: Tweak new/open/save icons (make them a bit smaller)Andreas Kling
2020-04-23Applications: Remove ChanViewer appAndreas Kling
The HTTP JSON API this relied on is no longer available via HTTP and I would rather make the website work in Browser anyway. :^)
2020-04-23Base: Tweak icons with arrows in them (to be more pointy)Andreas Kling
2020-04-23Base: Tweak go-home iconAndreas Kling
2020-04-23Applications: Tweak main layout spacing and backgroundAndreas Kling
2020-04-23SystemMonitor: Shrink margins of main layoutAndreas Kling
2020-04-23LibGUI: Tweak colorization of ScrollBar gutterAndreas Kling