summaryrefslogtreecommitdiff
path: root/Userland
AgeCommit message (Collapse)Author
2021-08-23WindowServer+LibGfx: Move CursorParams to LibGfxMaciej Zygmanowski
They will be used by MouseSettings in the next commit.
2021-08-23WindowServer: Add IPC calls for controlling cursor themeMaciej Zygmanowski
This commit adds two new IPC calls for WindowServer: apply_cursor_theme and get_cursor_theme.
2021-08-23WindowServer: Add support for cursor themesMaciej Zygmanowski
Now you can specify a CursorTheme key in /etc/WindowServer.ini. The cursors are loaded from /res/cursor-themes/<name> directory. This directory contains a Config.ini file with format similar to previous Cursor section, except it uses relative paths. This commit adds also Default theme, which uses cursors being previously in /res/cursors. The WidgetGallery is updated to match the new cursor path format.
2021-08-23TextEditor: Unveil the full path to the config fileRalf Donau
Unveil ~/.config/TextEditor.ini instead of the whole config directory.
2021-08-23LibJS: Implement Promise.race on the Promise constructorTimothy Flynn
2021-08-23LibJS: Implement Promise.allSettled on the Promise constructorTimothy Flynn
2021-08-23LibJS: Implement Promise.any on the Promise constructorTimothy Flynn
2021-08-23LibJS: Set the function names for the resolve, reject, and executorTimothy Flynn
These should all have a name with an empty string. Not only does test262 verify this, but it also verifies that (for the executor) the name property is defined after the length property.
2021-08-23LibJS: Generalize PerformPromiseAll common functionalityTimothy Flynn
PerformPromiseAll, PerformPromiseAny, PerformPromiseAllSettled, etc, all have very similar iteration loops. To avoid duplicating this rather large block of code, extract the common functionality into a separate method.
2021-08-23LibJS: Generalize PromiseAllResolveElementFunction common functionalityTimothy Flynn
The element-resolving functions on the Promise constructor are all very similar. To prepare for more of these functions to be implemented, break out common parts into a base class.
2021-08-23Everywhere: Core dump => CoredumpAndreas Kling
We all know what a coredump is, and it feels more natural to refer to it as a coredump (most code already does), so let's be consistent.
2021-08-22HackStudio: Update every editor with matching filename on 'Save as...'Karol Kosek
Prior this change, if user had more than two copies of one file opened in a split view, then only the active editor was renamed, when the others had the same file contents changed. This change will set a new file name for every file. The is_null() check is for uncreated files, as they shouldn't be treated as the same single file.
2021-08-22HackStudio: Convert selected path to a relative path on 'Save as...'Karol Kosek
This makes the editor title a bit more consistent with the other files and removes duplicating the file name in the file history when reopening that file.
2021-08-22Games: Make cpath appear once in the pledge promisesRalf Donau
2021-08-22LibJS: Add missing builtin calendar check to ParseTemporalCalendarStringLinus Groh
See: https://github.com/tc39/proposal-temporal/commit/48b11d6
2021-08-22Utilities: Add -d option to gzipItamar
This option specifies that we should perform decompression instead of compression.
2021-08-22SQLServer: Use m_client_id instead of client_id in callbackRobert Stefanic
In the DatabaseConnection constructor, there's a deferred_invoke callback that references the client_id. But depending on when the callback occurs, the reference of the client_id can change. This created a problem when connecting to SQLServer using the SQL utility because depending on when the callback was invoked, the client_id could change. m_client_id is set in the constructor and that reference will not change depending on when the callback is invoked.
2021-08-22LibGUI: Make Ctrl+Shift+Right select textAndrew January
Ctrl+Shift+Left would add the word before the cursor to the selection, but for some reason Ctrl+Shift+Right didn't add the word after the cursor to the selection.
2021-08-22LibC: Support getsignalbyname() with full signal nameMaciej Zygmanowski
This allows e.g. to use `kill` with names like -SIGKILL, not only -KILL.
2021-08-22HackStudio: Warn about unsaved changes on opening different projectLennon Donaghy
2021-08-22HackStudio: Fix editor not marking file with unsaved changes as dirtyLennon Donaghy
The editor's on_change callback was being overwritten in HackStudioWidget.cpp in order to call update_gml_preview on every change. This stopped the original callback from being called and marking files as dirty when changed. Now we call update_gml_preview in a new callback within the editor wrapper, which is then called within the original on_change callback in the editor.
2021-08-22HackStudio: Fix GitWidget issues with switching between projectsLennon Donaghy
GitWidget no longer crashes upon trying to create a repository for a new project, and it correctly updates after opening a different project. A new method, change_repo, has been added to make this work, which changes m_repo_root and resets most of the widget's state in order to make this work.
2021-08-22HackStudio: Moved code closing project from open_project to own methodLennon Donaghy
Take the code which closes the current project out of open_project method and move it into its own method.
2021-08-22HackStudio: Call update_gml_preview() to reset when opening new projectLennon Donaghy
2021-08-22HackStudio: Make FindInFilesWidget reset when opening new projectLennon Donaghy
Add method to FindInFilesWidget which resets the model in order to clear the output when needed, and use this when a new project is opened.
2021-08-22HackStudio: Stop debugger when opening new projectLennon Donaghy
Moved code to stop the debugger in the HackStudioWidget destructor to a new method so that this can be called in both the destructor and when opening a new project.
2021-08-22HackStudio: Clear embedded terminal upon opening a different projectLennon Donaghy
2021-08-22HackStudio: Clear ToDo entries upon opening new projectLennon Donaghy
The ToDoEntries and ToDoEntriesWidget classes now have methods for clearing the entries, before entries would stay permanently, even after switching to a new project.
2021-08-22HackStudio: Move handle_external_file_deletion logic into own methodLennon Donaghy
Added a close_file_in_all_editors method to HackStudioWidget and moved the code from handle_external_file_deletion into it so that it can be reused elsewhere to close files.
2021-08-22LibGUI: Always resize the mapping rows when sortingKarol Kosek
Prior this change, creating a file or directory on Desktop crashed the desktop instance of FileManager. Closes: #9560
2021-08-22LibC: Add <sys/poll.h> as an alias for <poll.h>Peter Elliott
<poll.h> was originally <sys/poll.h> and some old software like X11 still uses the old path.
2021-08-22Kernel+LibC: Implement FIONREAD ioctlPeter Elliott
FIONREAD gets the number of bytes availible to read from a file descriptor without blocking. I only implemented it for regular files and sockets
2021-08-22LibC: Make <netinet/in.h> more POSIX compliantPeter Elliott
1. Move htonl() etc. from <arpa/inet.h> to <netinet/in.h> (which <arpa/inet.h> includes). The htonl(), htons(), ntohl(), and ntohs() functions shall be available as described in <arpa/inet.h>. Inclusion of the <netinet/in.h> header may also make visible all symbols from <arpa/inet.h>. - POSIX 2. Define IN6_IS_ADDR_LOOPBACK() and IN6_IS_ADDR_V4MAPPED()
2021-08-22LibC: Add LINK_MAX and _PC_LINK_MAXPeter Elliott
LINK_MAX was set arbitrarily to 4096, this is not an actual system limit.
2021-08-22LibC: Modify fd_set to be compatible with X/OPENPeter Elliott
For some reason X/OPEN requires that fd_set has a field fds_bits. Xproto requires either fds_bits or _fds_bits to be present, so the field 'bits' was renamed 'fds_bits'
2021-08-22Utilities: Use File.error_string() instead of perror(3) in cpp-*Ralf Donau
2021-08-22ThemeEditor: Add Actions to save preview_palette to theme filenetworkException
This patch adds a save and save as Action to the file menu allowing to export all colors into an ini file.
2021-08-22Everywhere: Rename get in ConfigFile::get_for_{lib,app,system} to opennetworkException
This patch brings the ConfigFile helpers for opening lib, app and system configs more inline with the regular ConfigFile::open functions.
2021-08-22Everywhere: Use Core::ConfigFile::AllowWriting::Yes to allow writingnetworkException
2021-08-22LibCore: Convert ConfigFile to east constnetworkException
2021-08-22LibCore: Support using a file descriptor for opening ConfigFilenetworkException
This patch adds support for opening a ConfigFile using a file descriptor rather than trying to open a the file by name directly. In contrast to the previous implementation, ConfigFile now always keeps a reference to an open File and does not reopen it for writing. This requires providing an additional argument to open functions if a file gets opened based on its name and the user of the api intends to write to the file in the future.
2021-08-21LibJS: Implement Promise.all on the Promise constructorTimothy Flynn
2021-08-21LibJS: Fix copy-paste mistake in GetCapabilitiesExecutorTimothy Flynn
2021-08-21LibCpp: Use lex_iterable() where applicableItamar
2021-08-21LibCpp: Add lex_iterable() method to the LexerItamar
This allows us to collect the tokens iteratively instead of having to lex the whole program and then get a tokens vector.
2021-08-21LibCpp: Lex before processing the source in the PreprocessorItamar
Previously, the preprocessor first split the source into lines, and then processed and lexed each line separately. This patch makes the preprocessor first lex the source, and then do the processing on the tokenized representation. This generally simplifies the code, and also fixes an issue we previously had with multiline comments (we did not recognize them correctly when processing each line separately).
2021-08-21LibCpp: Allow whitespace between # and preprocessor directiveItamar
For example, '# include <stdio.h>' is now supported by the Lexer.
2021-08-21Utilities: Add cpp-lexerItamar
2021-08-21LibSQL: Introduce Serializer as a mediator between Heap and client codeJan de Visser
Classes reading and writing to the data heap would communicate directly with the Heap object, and transfer ByteBuffers back and forth with it. This makes things like caching and locking hard. Therefore all data persistence activity will be funneled through a Serializer object which in turn submits it to the Heap. Introducing this unfortunately resulted in a huge amount of churn, in which a number of smaller refactorings got caught up as well.
2021-08-21Utilities: Some minor changes in sql REPL toolJan de Visser
- Added a connection banner - Added '.quit' synonym for '.exit' - Do not display updated/created/deleted banner if there were no changes