summaryrefslogtreecommitdiff
path: root/Userland/Applications
AgeCommit message (Collapse)Author
2021-05-03LibGUI: Rename ScrollableWidget => AbstractScrollableWidgetAndreas Kling
2021-05-02LibGfx: Unify Rect, Point, and SizeMatthew Olsson
This commit unifies methods and method/param names between the above classes, as well as adds [[nodiscard]] and ALWAYS_INLINE where appropriate. It also renamed the various move_by methods to translate_by, as that more closely matches the transformation terminology.
2021-05-02TextEditor: Specify the starting line and column number using colonsry755
This allows the user to specify a specific line and column number to start at when opening a file in TextEditor through the terminal, by adding a colon after the file name. For example, `TextEditor ReadMe.md:10:5` will open ReadMe.md and put the cursor on line 10 at column 5. To ensure that the user isn't trying to open a file that actually has colons in its name, it checks if the file exists before parsing. Replaces the feature added in b474f4916479fbf64e6fb5a66cb25b8496e153b3 Closes #5589
2021-05-01Everywhere: Turn #if *_DEBUG into dbgln_if/if constexprGunnar Beutner
2021-05-01PixelPaint: Add fill mode for the ellipse toolValtteri Koskivuori
Functionality was already there, just had to hook it up!
2021-05-01TextEditor: Make sure to mark the Window as unmodified after savingAndreas Kling
This comes with a FIXME, as it would be nicer if this information would propagate from TextDocument all the way out somehow.
2021-05-01TextEditor: Use an automatic "modified" marker in the window titleAndreas Kling
This simplifies the application somewhat as we no longer need to manually update the window title whenever the text document changes.
2021-05-01WindowServer+LibGfx: Automatic "modified" markers in window titlesAndreas Kling
You can now add the string "[*]" to a window title and it will be replaced with " (*)" if the window is modified, and with "" otherwise.
2021-05-01TextEditor: Plumb modified state from GUI::TextDocument to GUI::WindowAndreas Kling
Instead of tracking this stuff ourselves at the application level, we now just act as an intermediary and pass along the information to the windowing system.
2021-05-01TextEditor: Add some missing curly braces around a nested if statementAndreas Kling
2021-05-01TextEditor: Remove some unnecessary #include statementsAndreas Kling
2021-05-01TextEditor: Rename TextEditorWidget => TextEditor::MainWidgetAndreas Kling
2021-05-01Everywhere: Rename app_menu to file_menu or game_menuAndreas Kling
2021-05-01Spreadsheet: Use String::bijective_base_from for column name resolutionTobias Christiansen
Updated Spreadsheet to use the new way of converting a number to a String represenation using the alphabet. The code responsible for this conversion now lives in AK/String, so it gets deleted from Spreadsheet.cpp.
2021-04-30LibC: Implement openpty(), forkpty() and login_tty()Gunnar Beutner
These are used by OpenSSH.
2021-04-30Browser: Add FrogFind search engineMaciej Zygmanowski
FrogFind is a search engine for very old computers and can be loaded and rendered correctly by Serenity Browser :^)
2021-04-29Everywhere: "indexes" => "indices"Andreas Kling
I've wasted a silly amount of time in the past fretting over which of these words to use. Let's just choose one and use it everywhere. :^)
2021-04-29Everywhere: "file name" => "filename"Andreas Kling
2021-04-29WindowServer: Move configuration file to /etc/WindowServer.iniAndreas Kling
This was in the /etc/WindowServer/ directory which had nothing else in it, so let's just get rid of the directory and move this up one step.
2021-04-29Tests: Enable Spreadsheet unit tests so they actually buildBrian Gianforcaro
2021-04-29Browser: Display search engine format in statusbarMaciej Zygmanowski
2021-04-29Browser: Save search engine setting to preferencesMaciej Zygmanowski
2021-04-29Browser: Add GitHub and Yandex to search enginesPanagiotis Vasilopoulos
2021-04-29Everywhere: Use "the SerenityOS developers." in copyright headersLinus Groh
We had some inconsistencies before: - Sometimes "The", sometimes "the" - Sometimes trailing ".", sometimes no trailing "." I picked the most common one (lowecase "the", trailing ".") and applied it to all copyright headers. By using the exact same string everywhere we can ensure nothing gets missed during a global search (and replace), and that these inconsistencies are not spread any further (as copyright headers are commonly copied to new files).
2021-04-29Everywhere: Add missing comma between copyright year and nameLinus Groh
2021-04-27Run: Remove useless serenity.h includeJean-Baptiste Boric
2021-04-26FontEditor: Don't put invalid clicks on the undo stackthankyouverycool
2021-04-26FontEditor: Warn on unsaved changesthankyouverycool
Standardizes saving conventions: Editor now warns on close, new, and open if there are unsaved changes, and new files prompt to Save As.
2021-04-26Browser: Add basic support for search enginessppmacd
If you start a URL with a '?' character, the Browser will use the user-selected search engine (none by default). For now, there are several engines hardcoded and there is no support for custom search engines.
2021-04-25Everywhere: Remove empty line after function body opening curly braceLinus Groh
2021-04-25Services: Rename ProtocolServer to RequestServerDexesTTP
The current ProtocolServer was really only used for requests, and with the recent introduction of the WebSocket service, long-lasting connections with another server are not part of it. To better reflect this, this commit renames it to RequestServer. This commit also changes the existing 'protocol' portal to 'request', the existing 'protocol' user and group to 'request', and most mentions of the 'download' aspect of the request to 'request' when relevant, to make everything consistent across the system. Note that LibProtocol still exists as-is, but the more generic Client class and the more specific Download class have both been renamed to a more accurate RequestClient and Request to match the new names. This commit only change names, not behaviors.
2021-04-25LibWeb: Add WebSocket bindingsDexesTTP
The WebSocket bindings match the original specification from the WHATWG living standard, but do not match the later update of the standard that involves FETCH. The FETCH update will be handled later since the changes would also affect XMLHttpRequest.
2021-04-25Userland+Base: Add "ladyball" logo for the system :^)Andreas Kling
Thanks to Katalin Kult for the artwork!
2021-04-25FileManager: Unzip from context MenuTheGeopard
This adds a new context menu entry allowing you to extract ZIP archives by invoking /bin/unzip
2021-04-25Piano: Add track Volume and improve QOLkleines Filmröllchen
This patch implements a couple of enhancements to the synthesizer engine: * Each track has a volume control. * The input and tooltips for all controls are improved. * The noise channel is pitched, which allows for basic drum synthesis.
2021-04-25AK+Userland: Move AK/TestSuite.h into LibTest and rework Tests' CMakeAndrew Kaster
As many macros as possible are moved to Macros.h, while the macros to create a test case are moved to TestCase.h. TestCase is now the only user-facing header for creating a test case. TestSuite and its helpers have moved into a .cpp file. Instead of requiring a TEST_MAIN macro to be instantiated into the test file, a TestMain.cpp file is provided instead that will be linked against each test. This has the side effect that, if we wanted to have test cases split across multiple files, it's as simple as adding them all to the same executable. The test main should be portable to kernel mode as well, so if there's a set of tests that should be run in self-test mode in kernel space, we can accomodate that. A new serenity_test CMake function streamlines adding a new test with arguments for the test source file, subdirectory under /usr/Tests to install the test application and an optional list of libraries to link against the test application. To accomodate future test where the provided TestMain.cpp is not suitable (e.g. test-js), a CUSTOM_MAIN parameter can be passed to the function to not link against the boilerplate main function.
2021-04-24LibJS: Consolidate exception function names and source rangesLinus Groh
Instead of storing the function names (in a badly named Vector<String>) and source ranges separately, consolidate them into a new struct: TracebackFrame. This makes it both easier to use now and easier to extend in the future. Unlike before we now keep each call frame's current node source range in the traceback frame next to the function name, meaning we can display line and column numbers outside of the VM and after the call stack is emptied.
2021-04-23Userland: Piano: Optimize repaintskleines Filmröllchen
The Piano application used to perform very poorly due to unnecessary draw calls. This is solved with two optimziations: 1. Don't draw the widgets as often as possible. The widgets are instead at least updated every 150ms, except for other events. 2. Don't re-draw the entire piano roll sheet. The piano roll background, excluding in-motion objects (notes, the play cursor), is only re-drawn when its "viewport" changes. A minor drawback of this change is that notes will appear on top of the pitch labels if placed at the left edge of the roll. This is IMO acceptable or may be changed by moving the text to the "foreground".
2021-04-23Help: Run clang-format on main.cppLinus Groh
2021-04-23SystemMonitor: Show action status tips in the statusbar :^)Andreas Kling
2021-04-23Help: Add a statusbar and use it for hovered links + action status tipsAndreas Kling
2021-04-23AK: Rename adopt() to adopt_ref()Andreas Kling
This makes it more symmetrical with adopt_own() (which is used to create a NonnullOwnPtr from the result of a naked new.)
2021-04-23FontEditor: Set proper defaults in NewFontDialogthankyouverycool
GlyphBitmap width is currently limited to twiddling 32 bits so abide by a 32x36 standard for now. Fixes incorrect line values and ranges and removes unused RefPtr.
2021-04-23LibGfx+FontEditor: Account for raw width when painting glyphsthankyouverycool
Fixes hidden glyphs being painted in editor and map, and '?' subsitute glyphs being overdrawn in the system.
2021-04-23FontEditor: Don't append literal Line Feeds to clipboard metadatathankyouverycool
Fixes newline breakage in ClipboardHistory when copying LF glyphs
2021-04-23FontEditor: Set correct mean- and baseline ranges for new fontsthankyouverycool
Fixes out-of-bounds lines in glyph editor
2021-04-23FontEditor: Add move glyph toolthankyouverycool
When toggled on, glyphs can now be repositioned within the glyph editor by dragging the mouse
2021-04-23FontEditor: Add undo and redo commandsthankyouverycool
2021-04-23FontEditor: Add adjustable scaling to GlyphEditorWidgetthankyouverycool
The editor can now be adjusted under the View->Scale menu
2021-04-23FontEditor: Add status tips and missing Alt shortcuts to actionsthankyouverycool