summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2021-05-21FileManager: Change shortcut of Display Settings desktop optionLinus Groh
'D' is already used by 'New Directory', let's use 'S'. Fixes #7350.
2021-05-21DisplaySettings: Allow deselection of background imageJagger De Leo
Previously, if you selected a background image you could not revert to a solid color background.
2021-05-213DFileViewer: Make the main widget a GUI::FrameAndreas Kling
2021-05-21Browser: Stop leaking popup windowsAndreas Kling
We were leaking the "view source" and "downloading file" windows for some reason, presumably it was necessary when these were first added. Since they are owned by the spawning browser window, there's no need to leak them.
2021-05-21LibWeb: Make tag names bold in syntax-highlighted HTML :^)Andreas Kling
2021-05-21Revert "Userland: static vs non-static constexpr variables"Linus Groh
This reverts commit 800ea8ea969835297dc7e7da345a45b9dc5e751a. Booting the system no longer worked after these changes.
2021-05-21Userland: Change typedef to using directiveLenny Maiorani
Problem: - `typedef`s are read backwards making it confusing. - `using` statements can be used in template aliases. - `using` provides similarity to most other C++ syntax. - C++ core guidelines say to prefer `using` over `typedef`: https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rt-using Solution: - Switch these where appropriate.
2021-05-21Userland: static vs non-static constexpr variablesLenny Maiorani
Problem: - `static` variables consume memory and sometimes are less optimizable. - `static const` variables can be `constexpr`, usually. - `static` function-local variables require an initialization check every time the function is run. Solution: - If a global `static` variable is only used in a single function then move it into the function and make it non-`static` and `constexpr`. - Make all global `static` variables `constexpr` instead of `const`. - Change function-local `static const[expr]` variables to be just `constexpr`.
2021-05-21Shell: Use /tmp for all file operations valid.sh testAndrew Kaster
Not doing so sometimes intermittently caused the '*' glob expansion test to fail and lock up the shell.
2021-05-21Shell: Hide job times behind SHELL_JOB_DEBUG flagAndrew Kaster
2021-05-21LibWeb: Fix invalid behaviour of HTMLTokenizer::skip() and restore_to()Ali Mohammad Pur
skip() is supposed to end up keeping the previous iterator only one index behind the current one, and restore_to() should actually do the restore instead of just removing the now-useless source positions. Fixes #7331.
2021-05-21LibGfx: Add missing TextAlignment::BottomLeftLinus Groh
2021-05-21LibWasm: Print instruction arguments tooAli Mohammad Pur
2021-05-21LibWasm: Fix nested structured instruction parsingAli Mohammad Pur
Previously, the ip would not be propagated correctly, and we would produce invalid jumps when more than one level of nesting was involved. This makes loops work :P
2021-05-21LibWasm: Resolve labels starting from the top of the stackAli Mohammad Pur
Otherwise "label index 0" would be the first ever created label, not the last one (as the spec wants) :^(
2021-05-21LibWasm: Implement a very basic linkerAli Mohammad Pur
This will simply "link" any given module instances and produce a list of external values that can be used to instantiate a module. Note that this is extremely basic and cannot resolve circular dependencies, and depends on the instance order.
2021-05-21LibWasm: Make the instantiation process produce an OwnPtrAli Mohammad Pur
Managing the instantiated modules becomes a pain if they're on the stack, since an instantiated module will eventually reference itself. To make using this simpler, just avoid copying the instance.
2021-05-21LibWasm: Decouple ModuleInstance from the AbstractMachineAli Mohammad Pur
This fixes a FIXME and will allow linking only select modules together, instead of linking every instantiated module into a big mess of exported entities :P
2021-05-21LibWasm: Trap instead of VERIFY()'ingAli Mohammad Pur
...unless something really is an assertion.
2021-05-21LibWasm+Meta: Add test-wasm and optionally test the conformance testsAli Mohammad Pur
This only tests "can it be parsed", but the goal of this commit is to provide a test framework that can be built upon :) The conformance tests are downloaded, compiled* and installed only if the INCLUDE_WASM_SPEC_TESTS cmake option is enabled. (*) Since we do not yet have a wast parser, the compilation is delegated to an external tool from binaryen, `wasm-as`, which is required for the test suite download/install to succeed. This *does* run the tests in CI, but it currently does not include the spec conformance tests.
2021-05-20LibCore: Let IODevice::can_read_line() buffer until \n or EOFr-paiva
If a line was larger than 1024 bytes or the file ended without a newline character, can_read_line would return false. IODevice::can_read_line() now reads until a newline is found or EOF is reached. fixes #5907
2021-05-20Utilities: Fix grep match when reading from stdinr-paiva
When reading from stdin, grep discards the last character, even if that character is not \n. This commit changes grep to no longer discard the last character from a line.
2021-05-20LibGL: Implement glHint()Stephan Unverwerth
2021-05-203DFileViewer: Clean up file handlingGunnar Beutner
This unifies how 3DFileViewer handles the initial file when starting the application and when opening files later on via the menu. Errors are shown both for the initial load as well as when loading files later on. An error during file load no longer clears the existing model. It also adds support for specifying the filename as a command-line argument. The opened file's name is shown in the titlebar.
2021-05-203DFileViewer: Move the example model into the home directoryGunnar Beutner
2021-05-20TextEditor: Don't launch a WebContent process until it's neededAndreas Kling
The HTML and Markdown preview modes both use an OutOfProcessWebView to render the preview pane, and we were instantiating this view from GML. This caused us to always spawn a WebContent process alongside every TextEditor instance. Fix this by deferring the OOPWV construction until we actually need it. This makes launching TextEditor on a text file quite a bit faster. :^)
2021-05-20Clipboard+LibGUI: Remove unnecessary client/server greeting messageAndreas Kling
2021-05-20WindowServer+LibGUI: Make client/server greeting fasterAndreas Kling
Instead of doing a full IPC round-trip for the client and server to greet each other upon connecting, the server now automatically sends a "fast_greet" message when a client connects. The client simply waits for that message to arrive before proceeding. (Waiting is necessary since LibGUI relies on the palette information included in the greeting.)
2021-05-20LibGfx: Remove unused current_system_theme() functionAndreas Kling
2021-05-20FontEditor: Make statusbar text generation more robustMax Wipfli
This makes a few modifications to the statusbar text generation: * Use the canonical U+XXXX representation of unicode characters. * For control characters, display their alias instead of whitespace. * Substitute RTL codepoints with U+FFFD so the text paints correctly. * Only show the glyph's dimensions if it actually exists in the font. This fixes #7286.
2021-05-20FontEditor: Add tooltip to "Move Glyph" buttonMax Wipfli
This adds a simple tooltip to the "Move Glyph" button to indicate its functionality.
2021-05-20LibWeb: Deal with Boxes that have a background, border and -radiusTobias Christiansen
This hack allows for Boxes that have a background to be painted and a border to accurately paint their border-radii if needed. For that the box in with the background is drawn is extended to the bordered_rect. The border is later drawn over this regardless. Previously when drawing a Box that had all three, background, border and a border-radius, there could be some white between the filling and the border.
2021-05-20LibWeb: Take border-radius into account when painting bordersTobias Christiansen
This applies to thicker borders. When drawing them we now don't chamfer the corner if there is a border-radius present.
2021-05-20LibWeb: Introduce struct to hold border radii and normalize onceTobias Christiansen
The struct BorderRadiusData contains the four radii of the box. In case the specified borders are too large for the dimensions of the box, they get scaled down.
2021-05-20LibWeb: Draw rounded corners for the backgrounds of BoxesTobias Christiansen
Even if the Box doesn't have a border-radius, we'll pass the rendering of the Box and its corners to the Painter.
2021-05-20LibWeb: Basic rendering of border-radiusTobias Christiansen
It supports all four corners.
2021-05-20LibGfx: Add Painter::draw_circle_arc_intersecting()Tobias Christiansen
This adds a function to draw a circle specified by a center point ( relative to the given Rect) and a radius. The circle arc is only drawn inside the specified Rect as to allow for circle arc segments. Technically this was already possible using draw_elliptical_arc(), but the algorithm is quite involved and lead to wonky arcs when trying to draw circle arc segments.
2021-05-20LibGfx: Add Painter::fill_rect_with_rounded_corners()Tobias Christiansen
This paints a rectangle with rounded corners each specified by a radius.
2021-05-20LibWeb: Resolve shorthand for border-radiusTobias Christiansen
This takes care of the 1, 2, 3 and 4 parameter shorthand of the border- radius identifier. There are more as well as the ominous '/' character but that is for another time. The 2 and 3 parameter versions are weird enough already. I don't think anybody uses anything other than the 1 or 4 parameter version or even the elliptical stuff.
2021-05-20LibWeb: Make border-radius attibutes accessibleTobias Christiansen
2021-05-20LibWeb: Add border-radius to the CSS-parserTobias Christiansen
And resolve the shorthands.
2021-05-20LibWeb: Handle background-painting of Box in seperate functionTobias Christiansen
2021-05-20LibWeb: Move the painting of the border out of paint()Tobias Christiansen
So other Boxes can override this function.
2021-05-20Solitaire: Fix a spelling mistake in one of the variable namesGunnar Beutner
2021-05-20TextEditor+Browser: Enable HTML syntax highlighting on HTML documentsAli Mohammad Pur
2021-05-20LibWeb: Add a super basic HTML syntax highlighterAli Mohammad Pur
This can currently highlight tag names and attribute names/values.
2021-05-20LibWeb: Add position tracking information to HTML tokensAli Mohammad Pur
2021-05-20LibWeb: Sort CMakeLists SOURCES entriesAli Mohammad Pur
2021-05-20LibGUI: Don't mark "open" FilePicker as done if the file is not foundAndreas Kling
If you type in a filename that doesn't exist, show an error message instead of closing the FilePicker "successfully."
2021-05-20LibGUI: Make GUI::FilePicker handle absolute paths betterAndreas Kling
Some people apparently like to type in full absolute paths into the filename box of GUI::FilePicker. So let's handle that as you'd expect by using the full path as the selected path.