summaryrefslogtreecommitdiff
path: root/Userland/DevTools/HackStudio
AgeCommit message (Collapse)Author
2022-10-26LibGUI: Make sure combobox list windows can't be movedGunnar Beutner
This is done by adding a new window type (Popup) and using it for the combobox list window. Other incorrect uses of the Tooltip window type have also been updated to use the new window type.
2022-10-25Userland: Let applications make use of make_command_palette_action()demostanis
2022-10-14AK+Userland: Stub out code that isn't currently implemented on AARCH64Gunnar Beutner
Even though this almost certainly wouldn't run properly even if we had a working kernel for AARCH64 this at least lets us build all the userland binaries.
2022-10-12Userland: Properly populate GENERATED_SOURCESAli Mohammad Pur
We previously put the generated headers in SOURCES, which did not mark them as GENERATED (and did not produce a proper dependency). This commit moves all generated headers into GENERATED_SOURCES, and removes useless header SOURCES.
2022-10-11HackStudio: Set proper action scope for editor shortcutsTimothy Slater
This fixes issue #14429. The editor actions were not given a parent as scope so defaulted to global. Because HackStudio can have multiple editors and even multiple editor tab widgets, I chose the VerticalSplitter that all editor tab widgets get added to as the parent. With a Widget set as the parent, the action gets WidgetLocal scope and allows the embedded terminals to receive shortcuts. Thanks to Andreas for doing a quick look at this and pointing in the right direction during an Office Hours stream :)
2022-10-06HackStudio: Use a single global tooltip windowItamar
Previously, every Editor instance had two instances of tooltip windows & `OutOfProcessWebView`s, one for documentation and one for parameter hints. They were initialized with the Editor, which slowed down creation of new tabs. We use a single global tooltip & OOPWV instance that is shared between tabs. Closes #15488 Co-authored-by: Sam Atkins <atkinssj@serenityos.org>
2022-10-06HackStudio: Remove adjustment of text range for documentation tooltipItamar
We no longer need to adjust the hovered span's range to get the correct hovered text. This fixes the "documentation tooltip" feature.
2022-10-06HackStudio: Prevent closing the last editor groupMarco Cutecchia
Previously if the user closed the last open tab in the last TabWidget then the open file action would stop working until they explicitly went to the View menu and added a new editor group. Before this commit there was an attempt at preventing the user to close the last open tab by hiding its close button, this didn't account for the many other ways one could close it though.
2022-10-06HackStudio: Remove the 'Open in a new tab' actionMarco Cutecchia
This has become the default with the previous changes so it doesn't make sense anymore
2022-10-06HackStudio: Open files in dedicated tabsMarco Cutecchia
Previously when trying to open a file from the tree view the file would open in the currently selected tab, substituting the file we were previously reading. This change makes it so that clicking on a file from the tree view opens it in a new tab, or selects the tab containing that file if it's already open in the selected editor group.
2022-10-03SystemServer+LoginServer+Userland: Switch to sid-based socketsPeter Elliott
This commit does three things atomically: - switch over Core::Account+SystemServer+LoginServer to sid based socket names. - change socket names with %uid to %sid. - add/update necessary pledges and unveils. Userland: Switch over servers to sid based sockets Userland: Properly pledge and unveil for sid based sockets
2022-09-29Userland: Replace empty `GUI::Widget`s in GML with `GUI::Layout::Spacer`Sam Atkins
This fixes the "Cancel" button on HackStudio's "New Project" dialog being too small. It's also clearer what these actually are.
2022-09-29AK+Everywhere: Replace "protocol" with "scheme" url helpersnetworkException
URL had properly named replacements for protocol(), set_protocol() and create_with_file_protocol() already. This patch removes these function and updates all call sites to use the functions named according to the specification. See https://url.spec.whatwg.org/#concept-url-scheme
2022-09-28HackStudio: Insert tooltip styling directly into Markdown HTML outputSam Atkins
2022-09-14Everywhere: Fix a variety of typosBrian Gianforcaro
Spelling fixes found by `codespell`.
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-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-23Userland: Rely on a single authoritative source for the default `PATH`Tim Schumacher
2022-08-14Base: Launch LanguageServers 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-07-27Everywhere: Make the codebase more architecture awareUndefine
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-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-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-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-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-04-27HackStudio: Update window close button on document changetimre13
2022-04-18Userland: Always construct Application with try_create()Sam Atkins
2022-04-15HackStudio: Remember if the user wants to see dotfiles between sessionsMarco Cutecchia
2022-04-15HackStudio: Add a "Project Configuration" button in the Edit menuMarco Cutecchia