summaryrefslogtreecommitdiff
path: root/Applications/HexEditor
AgeCommit message (Collapse)Author
2020-12-30HexEditor: Ignore control keys in text modeGal Horowitz
The HexEditor now ignores control key events in text mode. Previously null bytes were written.
2020-12-27HexEditor: Select first character by defaultRok Povsic
The first character was already selected (with the selection greyed-out), and a selection span of 1 was shown, so it's natural than the selection from/to numbers should be 0/0, not -1/-1.
2020-12-27HexEditor: Don't update selection numbers when clicking the last+1 charRok Povsic
Clicking at the cell after the last one, where there's no character, used to update the selection from/to numbers. Since there's no character there, that shouldn't happen.
2020-12-27HexEditor: Make single-character selection display proper start/endRok Povsic
Previously, -1 / -1 was displayed. Fixes #3555
2020-12-26TextEditor+HexEditor: Tweak dirty document warning messagesAndreas Kling
2020-12-21Build: Embed application icons directly in the executables.William Marlow
New serenity_app() targets can be defined which allows application icons to be emedded directly into the executable. The embedded icons will then be used when creating an icon for that file in LibGUI.
2020-11-02Applications: Use GUI::Icon::default_icon to set application iconBrendan Coles
2020-11-02Applications: Use GUI::CommonActions for save and save as menu optionsBrendan Coles
2020-10-31LibGfx: Move FontDatabase from LibGUI to LibGfxAndreas Kling
Not sure why I put this into LibGUI in the first place.
2020-10-30LibGUI: Add Widget focus policiesAndreas Kling
Every widget now has a GUI::FocusPolicy that determines how it can receive focus: - NoFocus: The widget is not focusable (default) - TabFocus: The widget can be focused using the tab key. - ClickFocus: The widget can be focused by clicking on it. - StrongFocus: Both of the above. For widgets that have a focus proxy, getting/setting the focus policy will affect the proxy instead.
2020-10-25HexEditor: Use the system default fixed width fontAndreas Kling
2020-10-06AK+Format: Exclude prefix from width calculation.asynts
When we write the format specifier '{:#08x}' we are asking for eight significant digits, zero padding and the prefix '0x'. However, previously we got only six significant digits because the prefix counted towards the width. (The number '8' here is the total width and not the number of significant digits.) Both fmtlib and printf shared this behaviour. However, I am introducing a special case here because when we do zero padding we really only care about the digits and not the width. Notice that zero padding is a special case anyways, because zero padding goes after the prefix as opposed to any other padding which goes before it.
2020-10-06HexEditor: Use new format functions.asynts
I changed the formatting for some numbers when it made sense, because I believe '0x00000020' to be more expressive than ' 20' for example.
2020-09-11HexEditor: Use widget override cursorsAndreas Kling
2020-09-11LibGUI+WindowServer: Rename window "override cursor" to just "cursor"Andreas Kling
Let's just say each window has a cursor, there's not really overriding going on.
2020-09-10LibGfx: Move StandardCursor enum to LibGfxAndreas Kling
This enum existed both in LibGUI and WindowServer which was silly and error-prone.
2020-09-05LibGUI: Make the Clipboard API deal in raw byte buffers a bit moreAndreas Kling
To open up for putting not just text/plain content on the clipboard, let's make the GUI::Clipboard API a bit more raw-data-friendly. :^)
2020-08-01Applications: Stop setting initial window locationPeter Elliott
This will let the WindowManager choose the location of the window
2020-07-16LibGUI: Add InputBox::show with required parent window argumentTom
Similar to MessageBox::show, this encourages passing in a window.
2020-07-16LibWeb: Require parent window argument for MessageBoxTom
Since the vast majority of message boxes should be modal, require the parent window to be passed in, which can be nullptr for the rare case that they don't. By it being the first argument, the default arguments also don't need to be explicitly stated in most cases, and it encourages passing in a parent window handle. Fix up several message boxes that should have been modal.
2020-07-16LibGUI: Add parent window argument to FilePicker functionsTom
Since FilePicker almost always should be modal, add the parent window as mandatory first argument.
2020-07-04Userspace: Remove a bunch of unnecessary Kernel/API/KeyCode.h includesAndreas Kling
2020-07-04Kernel: Move headers intended for userspace use into Kernel/API/Andreas Kling
2020-07-04LibGUI: Turn GUI::Application::the() into a pointerAndreas Kling
During app teardown, the Application object may be destroyed before something else, and so having Application::the() return a reference was obscuring the truth about its lifetime. This patch makes the API more honest by returning a pointer. While this makes call sites look a bit more sketchy, do note that the global Application pointer only becomes null during app teardown.
2020-07-04LibGUI: Make GUI::Application a Core::ObjectAndreas Kling
Having this on the stack makes whole-program teardown iffy. Turning it into a Core::Object allows anyone who needs it to extends its lifetime.
2020-06-12AK: Make string-to-number conversion helpers return OptionalAndreas Kling
Get rid of the weird old signature: - int StringType::to_int(bool& ok) const And replace it with sensible new signature: - Optional<int> StringType::to_int() const
2020-06-10LibGfx: Rename Rect,Point,Size => IntRect,IntPoint,IntSizeAndreas Kling
This fits nicer with FloatRect,FloatPoint,FloatSize and gives a much better visual clue about what type of metric is being used.
2020-05-26AK: Rename FileSystemPath -> LexicalPathSergey Bugaev
And move canonicalized_path() to a static method on LexicalPath. This is to make it clear that FileSystemPath/canonicalized_path() only perform *lexical* canonicalization.
2020-05-25HexEditor: Fix "Selected Bytes" count for backwards selectionLinus Groh
2020-05-14Build: Switch to CMake :^)Sergey Bugaev
Closes https://github.com/SerenityOS/serenity/issues/2080
2020-04-29LibGUI: Simplify submenu constructionAndreas Kling
The API for adding a submenu to a menu is now: auto& submenu = menu.add_submenu("Name"); submenu.add_action(my_action);
2020-04-26Applications: Add "thread" for HexEditorHüseyin ASLITÜRK
HexEditor crashes during try OpenFile dialog.
2020-04-23HexEditor: Fill main widget with background to prevent gapsAndreas Kling
2020-04-23Applications: Tweak main layout spacing and backgroundAndreas Kling
2020-04-21LibGUI: Make MenuBar a Core::ObjectAndreas Kling
This makes it show up in Inspector with all the menus inside it. :^)
2020-04-04LibGUI: Add MenuBar::add_menu(name)Andreas Kling
This allows us to construct menus in a more natural way: auto& file_menu = menubar->add_menu("File"); file_menu.add_action(...); Instead of the old way: auto file_menu = GUI::Menu::construct(); file_menu->add_action(...); menubar->add_menu(file_menu);
2020-03-13Applications: Use "Document - AppName" window title formatTibor Nagy
Fixes #1444
2020-03-08Userspace: Add missing #includes now that AK/StdLibExtras.h is smallerAndreas Kling
2020-03-07LibGUI: Move Icon and FontDatabase into the GUI namespaceShannon Booth
We also clean up some old references to the old G prefixed GUI classes This also fixes a potential bug with using: C_OBJECT_ABSTRACT(GAbstractButton) instead of C_OBJECT_ABSTRACT(AbstractButton)
2020-03-04LibGUI: Don't use Core::Object::add() to instantiate dialogsAndreas Kling
Now that add() returns a WidgetType&, we can't rely on the parent of a GUI::Dialog to still keep it alive after exec() returns. This happens because exec() will call remove_from_parent() on itself before returning. And so we go back to the old idiom for creating a GUI::Dialog centered above a specific window. Just call GUI::Dialog::construct(), passing the "parent" window as the last parameter.
2020-03-04LibGUI: Use GUI::Window::set_main_widget<WidgetType>() in clientsAndreas Kling
2020-03-04LibGUI: Use set_layout<LayoutType>() in lots of client codeAndreas Kling
2020-02-23LibGUI: Remove parent parameter to GUI::Widget constructorAndreas Kling
2020-02-23LibGUI: Make GUI::Frame have the 2px sunken container look by defaultAndreas Kling
The overwhelming majority of GUI::Frame users set the same appearance, so let's just make it the default.
2020-02-20AK: Use size_t for ByteBuffer sizesAndreas Kling
This matches what we already do for string types.
2020-02-19HexEditor: Make the application theme-awareTibor Nagy
Also updates the ruler style a bit to be more consitent with TextEditor.
2020-02-19HexEditor: Clear tracked changes when setting a new bufferTibor Nagy
2020-02-19HexEditor: Fix out of bounds cursorTibor Nagy
Fixing out of bounds cursor in three different cases: - when the buffer is empty - when loading new files - when entering values at the end of the buffer
2020-02-16LibGUI: Add forwarding headerAndreas Kling
This patch adds <LibGUI/Forward.h> and uses it a bunch. It also dragged various header dependency reduction changes into it.
2020-02-15LibGUI: Reduce menu-related header dependenciesAndreas Kling