summaryrefslogtreecommitdiff
path: root/Userland/Applications/KeyboardSettings
AgeCommit message (Collapse)Author
2022-07-15KeyboardSettings: Improve KeymapDialog layoutFrHun
2022-07-15Applications: Make settings outer margins and spacing consistentFrHun
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-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-06-03Applications: Use spawn_or_show_error() for common spawn patternMacDue
2022-06-01LibGUI: Fix typo in ConnectionToWindowManagerServerOlivier De Cannière
2022-05-13LibGUI+Userland: Make Dialog::ExecResult an enum classSam Atkins
2022-05-12KeyboardSettings: Set window modified stateSam Atkins
2022-05-08KeyboardSettings: Also activate keymap via ListView's on_activationRomain Chardiny
2022-04-21LibGUI+Applications: Add --open-tab option to FooSettings applicationsSam Atkins
Similar to SystemMonitor's option of the same name, this allows you to launch the given application with the specific tab open.
2022-04-21LibGUI+Applications: Give SettingsWindow tabs a string IDSam Atkins
This gives us a convenient way to refer to them, which will be used in the following commit.
2022-04-09LibGfx: Move other font-related files to LibGfx/Font/Simon Wanner
2022-04-01Everywhere: Run clang-formatIdan Horowitz
2022-03-22KeyboardSettings: Allow changing and applying active keymapNícolas F. R. A. Prado
Previously only the list of allowed keymaps could be modified and applied to the system. Add a new button to activate the selected keymap from the list. When applying the changes to the system, also apply the active keymap.
2022-03-22KeyboardSettings: Rename m_current_applied_keymapNícolas F. R. A. Prado
Rename it to m_initial_active_keymap to denote that it's the keymap that was active when the application started up.
2022-03-02KeyboardSettings: Highlight default keymap in Keyboard Settings dialogThomas
2022-03-02KeyboardSettings: Fix adding empty keymapsThomas
In the Keymap Settings dialog, a check was missing when the Keymap selection dialog was cancelled. Not checking the return value causes an empty string to be added to the keymap list.
2022-02-25Userland: Rename WindowManagerServerConnectionItamar
Rename WindowManagerServerConnection=>ConnectionToWindowManagerServer. This was done with CLion's automatic rename feature.
2022-02-16LibCore+Everywhere: Return ErrorOr from ConfigFile factory methodsSam Atkins
I've attempted to handle the errors gracefully where it was clear how to do so, and simple, but a lot of this was just adding `release_value_but_fixme_should_propagate_errors()` in places.
2022-02-14Applications: Use default constructors/destructorsLenny Maiorani
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#cother-other-default-operation-rules "The compiler is more likely to get the default semantics right and you cannot implement these functions better than the compiler."
2022-02-13Userland: Run gml-formatIdan Horowitz
This brings the existing GML files up to spec with the new requirements
2022-02-11LibConfig: Rename pledge_domains(String) => pledge_domain(String)Vitaly Dyachkov
pledge_domains() that takes only one String argument was specifically added as a shortcut for pledging a single domain. So, it makes sense to use singular here.
2022-02-07Meta+Userland: Run the GML formatter on CI and pre-commitkleines Filmröllchen
Now that the GML formatter is both perserving comments and also mostly agrees to the existing GML style, it can be used to auto-format all the GML files in the system. This commit does not only contain the scripts for running the formatting on CI and the pre-commit hook, but also initially formats all the existing GML files so that the hook is successfull.
2022-02-03Base+WindowsServer+keymap: Store multiple keymaps in a configTimur Sultanov
2022-01-29KeyboardSettings: Set icons from GMLDylan Katz
2021-12-05Applications: Cast unused smart-pointer TRY return values to voidSam Atkins
2021-11-28LibGUI: Move GUI::SettingsWindow setup out of the constructorAndreas Kling
In order to propagate errors that occur during UI setup, we have to move all that logic out of widget/window subclass constructors. This is a first attempt at doing that, for GUI::SettingsWindow.
2021-11-28KeyboardSettings: Remove some unnecessary pledge promisesAndreas Kling
This program doesn't need to create or write files directly.
2021-11-28LibGUI: Make GUI::SettingsWindow::add_tab() return ErrorOrAndreas Kling
This allows us to use TRY() when creating settings UI.
2021-11-28Everywhere: Use default execpromises argument for Core::System::pledgeBrian Gianforcaro
2021-11-24KeyboardSettings: Port to LibMain :^)Andreas Kling
2021-11-20KeyboardSettings: Add iconsSam Atkins
A calculator isn't the ideal icon for the Num-lock section, so hopefully someone will produce a better one later.
2021-11-20KeyboardSettings: Add text area to test the currently selected keymapSam Atkins
Right now, this is a bit of a hack. We can't set a keymap to only apply to the test area, so we set the system keymap instead, while also keeping track of the "real" current keymap. Whenever the settings are applied, we update what that "real" keymap is, and when we exit, we revert to that keymap. Basically, it behaves as you would expect, apart from it also affecting other applications you are typing in while the KeyboardSettings window is open with a different keymap selected.
2021-11-20KeyboardSettings: Migrate to using SettingsWindow :^)Sam Atkins
2021-11-20KeyboardSettings: Migrate layout to GMLSam Atkins
All other Settings applications use this, so let's match them!
2021-11-17AK: Make JSON parser return ErrorOr<JsonValue> (instead of Optional)Andreas Kling
Also add slightly richer parse errors now that we can include a string literal with returned errors. This will allow us to use TRY() when working with JSON data.
2021-11-03LibGUI+Settings: Remove superfluous margin setsFrHun
The margin set is completely superfluous, because it only ever affects grabbing (in splitters), which is never used for these classes.
2021-09-11AK: Replace the mutable String::replace API with an immutable versionIdan Horowitz
This removes the awkward String::replace API which was the only String API which mutated the String and replaces it with a new immutable version that returns a new String with the replacements applied. This also fixes a couple of UAFs that were caused by the use of this API. As an optimization an equivalent StringView::replace API was also added to remove an unnecessary String allocations in the format of: `String { view }.replace(...);`
2021-08-31KeyboardSettings: Use LibConfig intead of Core::ConfigFileMustafa Quraish
2021-08-31KeyboardSettings: Reuse generic GUI::ItemListModelKarol Kosek
This change removes the manually created model class in order to use a generic GUI::ItemListModel. Besides from code reusability, it also makes the list searchable as you type.
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-18Userland+LibGUI: Add shorthand versions of the Margins constructorsin-ack
This allows for typing [8] instead of [8, 8, 8, 8] to specify the same margin on all edges, for example. The constructors follow CSS' style of specifying margins. The added constructors are: - Margins(int all): Sets the same margin on all edges. - Margins(int vertical, int horizontal): Sets the first argument to top and bottom margins, and the second argument to left and right margins. - Margins(int top, int vertical, int bottom): Sets the first argument to the top margin, the second argument to the left and right margins, and the third argument to the bottom margin.
2021-08-18Userland+LibGUI: Make Margins arguments match CSS orderingsin-ack
Previously the argument order for Margins was (left, top, right, bottom). To make it more familiar and closer to how CSS does it, the argument order is now (top, right, bottom, left).
2021-08-06Everywhere: Replace Model::update() with Model::invalidate()sin-ack
Most of the models were just calling did_update anyway, which is pointless since it can be unified to the base Model class. Instead, code calling update() will now call invalidate(), which functions identically and is more obvious in what it does. Additionally, a default implementation is provided, which removes the need to add empty implementations of update() for each model subclass. Co-Authored-By: Ali Mohammad Pur <ali.mpfard@gmail.com>
2021-08-01Applications: Remove unused header includesBrian Gianforcaro
2021-07-31KeyboardSettings: Remove outdated FIXMEAndreas Kling
2021-07-27KeyboardSettings: Fix button marginsFrHun
2021-07-26KeyboardSettings: Prevent minimising the windowJamie Mansfield
This matches how the new MouseSettings application works.
2021-07-26KeyboardSettings: Prevent resizing the windowJamie Mansfield
This matches the other settings applications.