summaryrefslogtreecommitdiff
path: root/Userland/DevTools
AgeCommit message (Collapse)Author
2022-09-05LibUnicode+Userland: Migrate generated CLDR data to LibLocaleDataTimothy Flynn
Currently, LibUnicodeData contains the generated UCD and CLDR data. Move the UCD data to the main LibUnicode library, and rename LibUnicodeData to LibLocaleData. This is another prepatory change to migrate to LibLocale.
2022-08-31Profiler: Display correctly rounded percentages as '#.##%'Jelle Raaijmakers
2022-08-31HackStudio: Warn of unsaved changes before making a new projectSkye Sprung
Before, the warning dialog would be opened after the NewProjectDialog, leading to focus-fighting by the two windows. This fixes that and makes the action more consistent with the standard serenity way of handling unsaved changes by asking before the NewProjectDialog is brought up. The way this is achieved avoids having to rewrite open_project as well.
2022-08-31HackStudio: Fix crash when opening or creating with open empty fileSkye Sprung
This commit fixes a crash that would occur due to an unnamed file being automatically saved via EditorWrapper::save(). Now, we throw up a FilePicker::get_save_filepath.
2022-08-30Applications+DevTools: Remove fixed sizes from Splittersthankyouverycool
And adjust some GML properties. Since a808cfa, splitters grow opportunistically. Setting them to fixed sizes now quite literally fixes them in place. Fixes immovable splitters missed in the aforementioned commit.
2022-08-25LibGUI+WindowServer: Introduce WindowModesthankyouverycool
Previously, Windows only understood blocking modality: Windows were either modal, i.e., in a blocking state, or not. Windows could also be set as Accessories or ToolWindows, attributes which technically applied modes to their parents but were implemented ad hoc. This patch redefines these modal effects as WindowModes and sets up some helpers. This will let us simplify a lot of modal logic in the upcoming patches and make it easier to build new modal effects in the future. Windows can now set 1 of 5 modes before reification: -Modeless: No modal effect; begins a new modal chain -Passive: Window joins its modal chain but has no effect -RenderAbove: Window renders above its parent -CaptureInput: Window captures the active input role from its parent -Blocking: Window blocks all interaction with its modal chain States like fullscreen and tiling are dynamic and don't alter behavior in modal chains, so they aren't included.
2022-08-23SQLStudio: Reset status bar and menu actions when closing a tabJose Flores
2022-08-23Userland: Consolidate most PATH resolving into a single implementationTim Schumacher
We previously had at least three different implementations for resolving executables in the PATH, all of which had slightly different characteristics. Merge those into a single implementation to keep the behaviour consistent, and maybe to make that implementation more configurable in the future.
2022-08-23Userland: Rely on a single authoritative source for the default `PATH`Tim Schumacher
2022-08-16Profiler: Fix unmovable splitterDavid Smith
Set preferred height instead of fixed height to allow the splitter to move. The splitter respects set_fixed_height() after a808cfa7 "LibGUI+ Applications: Govern Splitter resizing by opportunistic growth", and that caused the splitter in Profiler to stop working.
2022-08-14Base: Launch LanguageServers at session start-upLucas CHOLLET
2022-08-14Base: Launch InspectorServer at session start-upLucas CHOLLET
2022-08-14LibCore+LibIPC: Recognise %uid in pathLucas CHOLLET
This patch allows to insert "%uid" in `IPC_CLIENT_CONNECTION` declaration and in SystemServer's ini files. This pattern is replaced then replaced by the UID of the owner of the service. It opens a path for seamlessly managed, per-user portal.
2022-08-13HackStudio: Fix update modified document on tab widgetFederico Guerinoni
Closes #14297
2022-08-10HackStudio: Add fullscreen shortcutJunior Rantila
2022-08-04Profiler: Add scrollbar to FlameGraphViewDavid Smith
The flame graph view used to draw only so much of the graph that could be displayed. Change to draw the whole graph, and add a scrollbar. Does some tricks with the scrolling to keep the bottom of the graph fixed when resizing or double-clicking, since it works better then.
2022-07-27Everywhere: Make the codebase more architecture awareUndefine
2022-07-24Profiler: Fix use after free in FlameGraphViewDavid Smith
Layout cleared the list of bars in the flame graph, but didn't clear the reference m_hovered_bar. This could cause a crash in mousedown_event() when clicking twice: the first click caused layout, the second used the old reference.
2022-07-19LibC: Remove the `LibPthread` interface targetTim Schumacher
2022-07-12Everywhere: Replace single-char StringView op. arguments with charssin-ack
This prevents us from needing a sv suffix, and potentially reduces the need to run generic code for a single character (as contains, starts_with, ends_with etc. for a char will be just a length and equality check). No functional changes.
2022-07-12Everywhere: Add sv suffix to strings relying on StringView(char const*)sin-ack
Each of these strings would previously rely on StringView's char const* constructor overload, which would call __builtin_strlen on the string. Since we now have operator ""sv, we can replace these with much simpler versions. This opens the door to being able to remove StringView(char const*). No functional changes.
2022-07-12Everywhere: Split Error::from_string_literal and Error::from_string_viewsin-ack
Error::from_string_literal now takes direct char const*s, while Error::from_string_view does what Error::from_string_literal used to do: taking StringViews. This change will remove the need to insert `sv` after error strings when returning string literal errors once StringView(char const*) is removed. No functional changes.
2022-07-12Everywhere: Explicitly specify the size in StringView constructorssin-ack
This commit moves the length calculations out to be directly on the StringView users. This is an important step towards the goal of removing StringView(char const*), as it moves the responsibility of calculating the size of the string to the user of the StringView (which will prevent naive uses causing OOB access).
2022-07-12Userland: Remove erroneous String -> char* -> StringView conversionssin-ack
These were accidental (or leftover) uses of String::characters() to construct StringViews through its StringView(char const*) constructor. Since this constructor is due to be removed, this will no longer work. Plus this prevents strlen from being run on these strings unnecessarily.
2022-07-12DevTools/HackStudio: Fix 'enabled' property of 'build' and 'run' buttonsferhatgec
2022-07-12DevTools/HackStudio: Add verify_make_is_installed()ferhatgec
2022-07-08HackStudio: Add the "Copy Full Path" TreeView context menu optionYuval
This commit adds support for the option described above. The option can be seen after a right click on a TreeView item, and it puts the item's full path in the clipboard.
2022-07-08HackStudio: Add the "Copy Relative Path" TreeView context menu optionYuval
This commit adds support for the option described above. The option can be seen after a right click on a TreeView item, and it puts the item's relative path in the clipboard (relative to the project's root directory).
2022-07-08Userland: Add `/usr/local/sbin` to `PATH` by defaultTim Schumacher
`e2fsprogs` adds its tools there.
2022-07-06AK: Use an enum instead of a bool for String::replace(all_occurences)DexesTTP
This commit has no behavior changes. In particular, this does not fix any of the wrong uses of the previous default parameter (which used to be 'false', meaning "only replace the first occurence in the string"). It simply replaces the default uses by String::replace(..., ReplaceMode::FirstOnly), leaving them incorrect.
2022-07-03Everywhere: Fix two inconsistent serenity_lib() output namesLinus Groh
- No underscores between word boundaries, i.e. `languageserver` and not `language_server` for LibLanguageServer - All lowercase, i.e. `coredump` and not `Coredump` for LibCoredump
2022-06-30HackStudio: Properly clear previous editor tabs when closing projectLennon Donaghy
Before this commit the close tab button, which is meant to only show when more than one tab is open, would be present on the tab of a new project opened after the first project. This was due to m_all_editor_tab_widgets not being cleared when closing the first project. This is now cleared when close_current_project() is called.
2022-06-30HackStudio: Leave one editor tab open on closing projectLennon Donaghy
2022-06-30SQLStudio: Add collapsible tabs for query resultsmartinfalisse
Adds tabs under the editor and places the query results there. It is only displayed if there are results to an executed query.
2022-06-30SQLStudio: Show script execution results in tablemartinfalisse
Show the results of executing a script in the TableView (if there are results to show).
2022-06-30SQLStudio: Execute statements in SQL servermartinfalisse
Make the link between SQLStudio and the SQLServer so that statements written in the editor window are executed by LibSQL when the 'Run' button is clicked.
2022-06-30SQLStudio: Add GUI for query resultsmartinfalisse
Add the necessary GUI elements (button, table) so that one can click a button to run the currently-open script, and see the results in a user-friendly table.
2022-06-28Playground: Rename the application to GMLPlaygroundLinus Groh
Just "Playground" is too generic and doesn't match the general rule of "application name equals display name minus spaces".
2022-06-28Applications: Remove usages of deprecated implicit conversionsFrHun
These deprecated conversions are currently in place to make the system compile, but they are to be removed soon. This prepares that.
2022-06-28Playground: Set `editor->on_change` before opening filesHumberto Alves
Set `editor->on_change` callback before opening files, otherwise the compiled GML preview will only be available after some manual input in the text editor.
2022-06-16HackStudio: Add "Open in New Tab" context menu entryhhsdev
This action creates a new editor tab and opens the selected file in the newly created tab.
2022-06-02Userland: Use default buttons instead of manually handling return pressKarol Kosek
Besides simplifying the code, this will also draw outline for these buttons as a cue for a user!
2022-05-29Everywhere: Fix a bunch of typosLinus Groh
2022-05-26Userland: Depend some applications on WebContent if it's being usedKarol Kosek
Deduced this mostly by looking at unveil()s.
2022-05-21LibCodeComprehension: Re-organize code comprehension related codeItamar
This moves all code comprehension-related code to a new library, LibCodeComprehension. This also moves some types related to code comprehension tasks (such as autocomplete, find declaration) out of LibGUI and into LibCodeComprehension.
2022-05-15LibWebView: Move OutOfProcessWebView to a new LibWebView libraryDexesTTP
Also moves WebContentClient and the references to the generated IPC descriptions, since they are all components of OutOfProcessWebView. This patch has no functional changes.
2022-05-13LibGUI+Userland: Make Dialog::ExecResult an enum classSam Atkins
2022-05-07UserspaceEmulator: Delegate rounding to the actual hardwareHendiadyoin1
This also makes us a bit more accurate, due to better rounding of intermediate results. This also gives us the flush-to-zero and denormals-are-zero SSE settings for free! (Assuming UE is build with SSE)
2022-05-07Profiler: Use ProfileModel rounding constant for the status bar textkleines Filmröllchen
This way, we can change the constant in one place. Note that this requires the use of nested format strings, which is slightly ugly but safe to do in this instance.
2022-05-07Profiler: Round sample percentages to a constant number of digitskleines Filmröllchen
This constant is currently 3 but can be changed easily or integrated into a user setting. Note that the results are not ideal because during pretty-printing we're not using any nice rounding rules, so many percentage values will actually appear as 0.399999 even though they were rounded to three digits.