summaryrefslogtreecommitdiff
path: root/Userland/Applications
AgeCommit message (Collapse)Author
2023-06-04PixelPaint: Make "Crop Image to Content" work with disjoint layersTim Ledbetter
2023-06-04PixelPaint: Make "Crop Image to Selection" work with disjoint layersTim Ledbetter
The "Crop Image to Selection" action will now crop all layers within the current selection. Any layers outside of the current selection are deleted. If there are no layers within the current selection, a new layer the same size as the selection is created, which has the same name as the current active layer.
2023-05-31KeyboardMapper: Do not drop the `unix` pledgeJelle Raaijmakers
Without it, KeyboardMapper crashes as soon as you try to open a file.
2023-05-29Help: Sort search results by scoreTim Ledbetter
This makes pages with matching titles appear at the top of the search results.
2023-05-29LibGUI: Allow FilteringProxyModel to optionally sort results by scoreTim Ledbetter
When the `FilteringOptions::SortByScore` flag is set, filtered indices are sorted by match score in descending order, meaning the most relevant results should appear first. The default behavior of FilteringProxyModel is unchanged.
2023-05-29Help: Perform a fuzzy match on the page title when searchingTim Ledbetter
This allows for slight misspellings to still return a result.
2023-05-29FileSystemAccessServer: Don't transmit unused dataBen Wiederhake
The server cannot use these values anywhere, because this method always sets 'prompt = ShouldPrompt::No'. This saves a bunch of roundtrips for all clients that use FSAS to read abritrary files.
2023-05-29Ladybird+Browser: Add a 'Dump All Resolved Styles' debug optionAli Mohammad Pur
This option dumps all styles for all elements in the document; very helpful for finding properties that have changed unintentionally :^)
2023-05-28SpaceAnalyzer: Migrate to `Core::Directory::for_each_entry()`Sam Atkins
2023-05-28Terminal: Migrate to `Core::Directory::for_each_entry()`Sam Atkins
2023-05-28DisplaySettings: Migrate to `Core::Directory::for_each_entry()`Sam Atkins
2023-05-28LibJS: Make Error stack traces lazierAndreas Kling
Instead of eagerly populating the stack trace with a textual representation of every call frame, just store the raw source code range (code, start offset, end offset). From that, we can generate the full rich backtrace when requested, and save ourselves the trouble otherwise. This makes test-wasm take ~7 seconds on my machine instead of ~60. :^)
2023-05-25Browser: Download Widget file and directory text changessec05
fixes #18678 This is because the "From:" URL regularly overflows the line, leading to an unreadable mess. Make sure that the labels for the widget don't wrap as well, as the widget is fixed height and width.
2023-05-24Everywhere: Use MonotonicTime instead of Durationkleines Filmröllchen
This is easily identifiable by anyone who uses Duration::now_monotonic, and any downstream users of that data.
2023-05-24Userland: Remove remaining users of Duration::now_realtime()kleines Filmröllchen
This is a clear sign that they want to use a UnixDateTime instead. This also adds support for placing durations and date times into SQL databases via their millisecond offset to UTC.
2023-05-24LibTimeZone+Userland: Change timezone functions to use UnixDateTimekleines Filmröllchen
This incurs a whole host of changes in, among others, JavaScript Intl and Date.
2023-05-24AK: Rename Time to Durationkleines Filmröllchen
That's what this class really is; in fact that's what the first line of the comment says it is. This commit does not rename the main files, since those will contain other time-related classes in a little bit.
2023-05-24LibWeb: Make CSSPixels and Length use 64-bit (double) floating pointAndreas Kling
This fixes a plethora of rounding problems on many websites. In the future, we may want to replace this with fixed-point arithmetic (bug #18566) for performance (and consistency with other engines), but in the meantime this makes the web look a bit better. :^) There's a lot more things that could be converted to doubles, which would reduce the amount of casting necessary in this patch. We can do that incrementally, however.
2023-05-23LibGfx+Everywhere: Change `Gfx::Rect` to be endpoint exclusiveJelle Raaijmakers
Previously, calling `.right()` on a `Gfx::Rect` would return the last column's coordinate still inside the rectangle, or `left + width - 1`. This is called 'endpoint inclusive' and does not make a lot of sense for `Gfx::Rect<float>` where a rectangle of width 5 at position (0, 0) would return 4 as its right side. This same problem exists for `.bottom()`. This changes `Gfx::Rect` to be endpoint exclusive, which gives us the nice property that `width = right - left` and `height = bottom - top`. It enables us to treat `Gfx::Rect<int>` and `Gfx::Rect<float>` exactly the same. All users of `Gfx::Rect` have been updated accordingly.
2023-05-23Browser: Default to HTTPS instead of HTTP if no protocol is specifiedAndreas Kling
2023-05-23Browser: Don't show error message box when canceling editor dialogKemal Zebari
Currently, an error message box appears when a user tries to cancel the editor dialog while editing or adding a bookmark. This snapshot resolves this by having `add_bookmark()` and `BookmarksBarWidget::edit_bookmark()` perform an if check on the result of `BookmarkEditor::edit_bookmark()` to see if the dialog was canceled.
2023-05-23Base+Userland: Apply Human Interface Guidelines to Object textthankyouverycool
Corrects a slew of titles, buttons, labels, menu items and status bars for capitalization, ellipses and punctuation. Rewords a few actions and dialogs to use uniform language and punctuation.
2023-05-22SystemMonitor: Store text in UnavailableProcessWidget using String classKarol Kosek
2023-05-22SystemMonitor: Propagate more errors on startupKarol Kosek
2023-05-22SystemMonitor: Convert most widgets to a failable factoryKarol Kosek
I didn't convert widgets that don't do any failable tasks currently or are lazy-initialized.
2023-05-22Magnifier: Correct captured bitmap's clippingSam Atkins
Previously, we would get a line of junk pixels to the right or bottom of the captured bitmap. Two aspects to this: - Use Painter's clip-rect functionality instead of trying to implement it ourselves. - Switch from ScalingMode::NearestFractional to ::NearestNeighbor. Somehow, `draw_scaled_bitmap(NearestFractional)` draws outside of the Painter's clip-rect. I can't discern any difference in behavior between these two otherwise. We also now use the same bitmap for drawing the grid as we used for the bitmap, since this had issues where it wasn't drawn to the edge of the bitmap.
2023-05-19SystemMonitor: Prefer File::read_until_eof over DeprecatedFileBen Wiederhake
Because MemoryStatsWidget::refresh is run nearly directly by the EventLoop, the only real alternative to crashing would be to cancel the update, and keep the old data. That doesn't sound sufficiently better to warrant being implemented.
2023-05-19PixelPaint: Use box sampling scaling for layer thumbnailsJelle Raaijmakers
2023-05-19PixelPaint: Add support for box sampling scalingJelle Raaijmakers
2023-05-19ImageViewer: Add support for box sampling scalingJelle Raaijmakers
2023-05-19Revert "ImageViewer: Add support for box sampling scaling"Andreas Kling
This reverts commit 032c2a882aee23ea4ac79ac907e9594ba311764d.
2023-05-19Revert "PixelPaint: Add support for box sampling scaling"Andreas Kling
This reverts commit d6aefb1bf121b21745410c666dd612ca6fa5f016.
2023-05-19Revert "PixelPaint: Use box sampling scaling for layer thumbnails"Andreas Kling
This reverts commit 81b30ec3729644cb1be14eb8b7a491eb4c4c61b5.
2023-05-19Applications: Improve FSAC error message handlingthankyouverycool
Fixes apps showing redundant error messages and terminating unnecessarily on failed file requests. It's nicer to drop the user off at the equivalent of a default document on failure if possible. Also fixes TextEditor not showing response errors for missing files in the recently opened list.
2023-05-19PixelPaint: Use box sampling scaling for layer thumbnailsJelle Raaijmakers
2023-05-19PixelPaint: Add support for box sampling scalingJelle Raaijmakers
2023-05-19ImageViewer: Add support for box sampling scalingJelle Raaijmakers
2023-05-17Browser+Ladybird+LibWebView: Handle trivial content APIs in LibWebViewTimothy Flynn
The goal here is to reduce the amount of WebContent client APIs that are duplicated across every ViewImplementation. Across our three browsers, we currently: Ladybird - Mix some AK::Function callbacks and Qt signals to notify tabs of WebContent events. Browser - Use only AK::Function callbacks. headless-browser - Drop most events on the floor. Instead, let's only use AK::Function callbacks across all three browsers to propagate events to tabs. This allows us to invoke those callbacks directly from LibWebView instead of all three browsers needing to define a trivial `if (callback) callback();` override of a LibWebView virtual function. For headless-browser, we can simply not set these callbacks. As a first pass, this only converts WebContent events that are trivial to this approach. That is, events that were simply passed onto the tab or handled without much fuss.
2023-05-17Browser+Ladybird+LibWebView: Move some common functions to LibWebViewTimothy Flynn
The implementations of handle_web_content_process_crash and take_screenshot are exactly the same across Browser and Ladybird. Let's reduce some code duplication and move them to LibWebView.
2023-05-17FontEditor: Filter files by BitmapFont in FilePickerthankyouverycool
2023-05-17FontEditor: Show complete filename in error messagesthankyouverycool
And clean up Save and Open action code style.
2023-05-17FontEditor: Show recently opened files in File menuthankyouverycool
And update GlyphEditorWidget on initialize(). Fixes Editor not showing the new active glyph when loading recent fonts from a menu.
2023-05-17FontEditor: Add action text to Undo and Redothankyouverycool
2023-05-16Browser: Move screenshot context menu actions above inspector actionsTimothy Flynn
Feels a bit more natural, at least to align with muscle memory from other browsers.
2023-05-16Browser: Add a context menu for video elementsTimothy Flynn
This includes actions such as controlling play state, downloading the video, and opening the video in a new tab.
2023-05-15Userland: Silence or resolve new GCC 13 warningsDaniel Bertalan
GCC 13 produces the following true positive warnings: - `-Wredundant-move` when trying to move `result->tooltip()`, which is a const reference in `Assistant/main.cpp` - `-Wuse-after-free` when freeing an environment variable before removing it from `s_malloced_environment_variables` - `-Wdangling-pointer` when storing an AST node's `this` pointer to the interpreter's node stack in LibJS. This is not actually an issue, as it is popped when the scope ends, but GCC has no way of telling this.
2023-05-15Spreadsheet: Don't release the file buffer when importing CSV filesKarol Kosek
CSVImportDialogPage takes and holds a StringView meaning that the data was dropped instantly and displayed garbage instead.
2023-05-15LibGUI+Userland: Store column names in JsonArrayModel as StringKarol Kosek
2023-05-15Userland: Port `Model::column_name()` to StringKarol Kosek
2023-05-14VideoPlayer: Use `LibFileSystemAccessClient`Caoimhe