summaryrefslogtreecommitdiff
path: root/Userland/Applications/FontEditor
AgeCommit message (Collapse)Author
2023-03-01LibCore+Everywhere: Remove ArgsParser::add*(char const*&)Ali Mohammad Pur
This is not guaranteed to always work correctly as ArgsParser deals in StringViews and might have a non-properly-null-terminated string as a value. As a bonus, using StringView (and DeprecatedString where necessary) leads to nicer looking code too :^)
2023-02-21Userland: Fix remaining smart pointer const-correctness issuesAndreas Kling
2023-02-10Everywhere: Remove needless copies of Error / ErrorOr instancesTimothy Flynn
Either take the underlying objects with release_* methods or move() the instances around.
2023-02-04LibGUI+Userland: Switch order of parameters for InputBox::showKarol Baraniecki
Because usage of the input_type parameter is now higher than of the placeholder parameter, this makes for a cleaner API.
2023-02-04Userland: Replace manual checking by using GUI::InputType::NonemptyTextKarol Baraniecki
Do this where we were already checking if the input was empty after the InputBox was submitted. Those places gain interactive input validation. :^)
2023-01-26LibGfx: Remove `try_` prefix from bitmap creation functionsTim Schumacher
Those don't have any non-try counterpart, so we might as well just omit it.
2023-01-13FontEditor: Fix more ignored .to_string() errorsMacDue
2023-01-07LibGUI+Userland: Rename `try_load_from_gml()` -> `load_from_gml()` :^)Sam Atkins
It's the only one, so the `try` prefix is unnecessary now.
2023-01-07Userland: Replace all uses of `load_from_gml` with `try_load_from_gml`Sam Atkins
MOAR FIXMES! ;^)
2023-01-06LibGUI+Everywhere: Use fallible Window::set_main_widget() everywhere :^)Sam Atkins
Rip that bandaid off! This does the following, in one big, awkward jump: - Replace all uses of `set_main_widget<Foo>()` with the `try` version. - Remove `set_main_widget<Foo>()`. - Rename the `try` version to just be `set_main_widget` because it's now the only one. The majority of places that call `set_main_widget<Foo>()` are inside constructors, so this unfortunately gives us a big batch of new `release_value_but_fixme_should_propagate_errors()` calls.
2023-01-02Base+Userland: Add menu item iconsBrandon Jordan
Base+Userland: Add menu item icons This adds missing icons to Presenter Presentation menu. This adds missing icon to Image Viewer View menu. This adds a scale icon for the Image Viewer and Font Editor. This moves the Fit Image to View icon to the 16x16 folder as it's now used by Image Viewer and not only Pixel Paint. This improves the fullscreen and play icons so that they fit together better.
2022-12-20FontEditor: Update preview window after pasting and deleting glyphsthankyouverycool
2022-12-20FontEditor: Add Unicode block/glyph selection Statusbar Segmentthankyouverycool
Displays the current active Unicode block range, or, if multiple glyphs are selected, their count. Clicking toggles the Unicode block ListView.
2022-12-20LibGUI+FontEditor: Restore normalized selections on Undo/Redothankyouverycool
Selections are always normalized when saving undo commands. The restore_selection() function reverses this process so negatively sized selections (created right-to-left) continue to resize correctly with the keyboard when restored.
2022-12-20FontEditor: Set Unicode ListView's focus proxy to its search boxthankyouverycool
Provides a visual cue that arrow key input is shared between these widgets.
2022-12-20FontEditor: Remove unused includesthankyouverycool
2022-12-06Everywhere: Rename to_{string => deprecated_string}() where applicableLinus Groh
This will make it easier to support both string types at the same time while we convert code, and tracking down remaining uses. One big exception is Value::to_string() in LibJS, where the name is dictated by the ToString AO.
2022-12-06AK+Everywhere: Rename String to DeprecatedStringLinus Groh
We have a new, improved string type coming up in AK (OOM aware, no null state), and while it's going to use UTF-8, the name UTF8String is a mouthful - so let's free up the String name by renaming the existing class. Making the old one have an annoying name will hopefully also help with quick adoption :^)
2022-11-19FontEditor: Include file basename in error messages when availablethankyouverycool
And write messages in the [action] failed: [error] format to match common error message formatting elsewhere in Userland.
2022-11-19LibGUI+Applications: Allow GlyphMapWidget's set_font() to failthankyouverycool
And TRY early during initialization in FontEditor to leave the app in a valid state on error. Fixes OOM crashes when cloning the original font for highlight modifications.
2022-11-19LibGUI+FontEditor: Allow system emoji to be toggled in GlyphMapWidgetthankyouverycool
And remove their red backgrounds when visible to not be confused with deletion highlights.
2022-11-19FontEditor: Add Layout options to View menuthankyouverycool
Like other apps, FontEditor now organizes widget visibility toggles under a View->Layout submenu. The main toolbar and the status bar can now be turned on and off.
2022-11-19FontEditor: Remove redundant set_scale() helperthankyouverycool
2022-11-19FontEditor: Remove overzealous find-and-replace ""sv operatorthankyouverycool
2022-11-19FontEditor: Consolidate GlyphEditor's flip_{horizontally,vertically}thankyouverycool
2022-11-19FontEditor: Standardize Gfx::RotationDirections for rotate_90()thankyouverycool
2022-11-13Userland: Accept drag_enter events for widgets supporting file dropsKarol Kosek
This patch will switch cursor to DragCopy when a user enters a widget while dragging file(s), giving them a visual clue that it *might* be dropped into this widget. This is a rather naive approach, as the cursor icon will change for any kind of file, as currently programs don't know the drag contents before dropping it. But after all I think it's better than nothing. :^)
2022-11-01Everywhere: Mark dependencies of most targets as PRIVATETim Schumacher
Otherwise, we end up propagating those dependencies into targets that link against that library, which creates unnecessary link-time dependencies. Also included are changes to readd now missing dependencies to tools that actually need them.
2022-10-25Userland: Let applications make use of make_command_palette_action()demostanis
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-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-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-25LibGfx+LibGUI+WindowServer+Apps+Demos: Replace ToolWindowsthankyouverycool
with the RenderAbove WindowMode. This mode will ensure child windows always draw above their parents, even when focus is lost. RenderAbove modals are automatically themed the same as the old ToolWindows. Fixes ToolWindows rendering above ALL normal windows, regardless of parent. We can't rely on WindowType to create these sort of effects because of WindowManager's strict display hierarchy.
2022-08-14FontEditor: Mark pasted glyphs as modifiedSam Atkins
Co-authored-by: thankyouverycool <66646555+thankyouverycool@users.noreply.github.com>
2022-08-14FontEditor: Add an option to show or hide modification highlightsSam Atkins
2022-08-14FontEditor: Store glyph modified state on the undo stackSam Atkins
This means that if you modify a glyph, then undo that modification, we stop showing the glyph as modified.
2022-08-05LibGUI+Applications: Govern Splitter resizing by opportunistic growththankyouverycool
This patch replaces the concept of fixed resizees with opportunistic ones which use the new SpecialDimension::OpportunisticGrow UISize. This lets us simplify splitter resize code and take advantage of the layout system's automatic calculations for minimum size and expansion. Functionally the same as before, but fixes Splitter's unintended ability to grow window size.
2022-08-04Applications: Make a few of the larger Toolbars collapsiblethankyouverycool
Some Toolbars for FileManager, FontEditor and PixelPaint can now collapse on resize.
2022-08-04FontEditor: Move new font creation to NewFontDialog and handle errorsthankyouverycool
Fixes potential OOM crashes when creating a new font and an oversight in which glyph spacing was not being set.
2022-08-04FontEditor: Improve error handling opening, saving and editing fontsthankyouverycool
Adds fallible functions for opening and saving fonts and cutting and copying selections. FontEditor now falls back on a guaranteed default BitmapFont on startup. Fixes crashing on start when the default system font is set to TrueType.
2022-08-04FontEditor: Add show_error() helperthankyouverycool
2022-08-04FontEditor: Let editor recover from failed initializationsthankyouverycool
Fail early during font initialization and leave the editor in a valid state in case of errors during UndoSelection creation.
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-06FontEditor: Rename FontEditorWidget => FontEditor::MainWidgetthankyouverycool
2022-07-06FontEditor: Hide Widget::set_font() in GlyphEditorWidgetthankyouverycool
We were already doing the same for its getters, and this makes its API more consistent with GlyphMapWidget.
2022-07-06FontEditor: Remove unused headers and member variablesthankyouverycool
2022-07-06FontEditor: Simplify GlyphMapWidget context menu constructionthankyouverycool
2022-07-06FontEditor: Update GML for new layout systemthankyouverycool
This patch removes deprecated GML properties and manual sizing calculations in favor of the new UIDimensions, and registers more widgets in the FontEditor namespace to simplify widget setup.
2022-07-06FontEditor: Convert preview window to GML and propagate its errorsthankyouverycool