summaryrefslogtreecommitdiff
path: root/Applications
AgeCommit message (Collapse)Author
2020-09-10IRCClient: Use NonnullRefPtr<IRCClient> throughoutAndreas Kling
To protect against mishaps during app exit teardown, make sure everyone who needs to be is a co-owner of the IRCClient object. Fixes #3451.
2020-09-08Spreadsheet: Add "final" to JS objects and tweak declarationsAndreas Kling
2020-09-08Refactor: Replace usages of FixedArray with Array.asynts
2020-09-07IRCClient: Add the "/me" command to send CTCP ACTION emotes :^)Andreas Kling
You can now express your feelings and actions with our IRC client by using the /me command.
2020-09-06Terminal: Use utmpupdate to update /var/run/utmpAndreas Kling
We now put entries for interactive terminal sessions in the utmp file. They are removed when you exit the terminal.
2020-09-05PixelPaint: Update "paste" action enabled state based on clipboardAndreas Kling
This action should only be enabled when there's a pastable bitmap on the system clipboard. :^)
2020-09-05PixelPaint: Allow pasting a copied bitmap as a new layer :^)Andreas Kling
2020-09-05QuickShow: Allow copying the current bitmap to the clipboard :^)Andreas Kling
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-09-03DisplaySettings: Remove unnecessary file open for non-pathsAvery
Currently, every time the wallpaper picker changes, an additional attempted file load happens on top of the file load to create the bitmap. The only values that the wallpaper picker can take on are filenames that can never be valid when loaded without the /res/wallpaper prefix. To reduce the amount of log spam and speed up wallpaper picking, this patch only attempts to load wallpapers with slash-prefixed names, assumed to be the absolute path to that wallpaper. Additional wallpapers outside of /res/wallpapers/ should still be accessible with this patch, and the experience is improved for the more common case of selecting a built-in wallpaper.
2020-08-31DevTools+Apps: Set correct icons for ThemeEditor and VisualBuilderthankyouverycool
VB appears deprecated in favor of HackStudio, but until it's officially gone-no app left behind!
2020-08-30TextEditor: Don't try to move(lambda)Ben Wiederhake
The move constructor of a lambda just copies it anyway. Even if the first move() left an 'empty' closure behind, then 'm_editor->on_cursor_change' would only be able to see an empty closure, which is certainly not what was intended.
2020-08-30Calendar: Avoid unnecessary lambdaBen Wiederhake
Especially when a constant is passed as a boolean that contradicts the default value.
2020-08-30FontEditor: Cannot take reference to local lambdaBen Wiederhake
Under the hood, a lambda is just a struct full of pointers/references/copies and whatever else the compiler deems necessary. In the case of 'update_demo', the struct lives on the stack frame of FontEditorWidget::FontEditorWidget(). Hence it is still alive when it's called during the constructor. However, when 'fixed_width_checkbox.on_checked' fires, that stack frame is no longer alive, and thus the *reference* to the (struct of) the lambda is invalid\! This meant that 'update_demo' silently read invalid data, tried to call '.update()' on some innocent arbitrary memory address, and it crashed somewhere unrelated. Passing 'update_demo' by value (like with all the other event handlers) fixes this issue. Note that this solution only works because 'update_demo' itself has no state; otherwise the various copies of 'update_demo' might notice that they are, in fact, independent copies of the original lambda. But that doesn't matter here.
2020-08-30FontEditor: Enforce boundaries of GlyphEditorWidgetBen Wiederhake
Drawing out of bounds no longer affects any neighboring glyphs.
2020-08-30Browser: Mark default action in context menu of hyperlinksBen Wiederhake
2020-08-30Browser: Mark default action in context menu of bookmarksBen Wiederhake
2020-08-30IRCClient: Unbreak building with extra debug macrosBen Wiederhake
2020-08-29Spreadsheet: Add (limited) support for custom cell formattingAnotherTest
2020-08-29DisplaySettings+LibGUI: Move ItemListModel into LibGUIAnotherTest
Without this model, comboboxes are abysmal to work with, so let's not redefine it every time.
2020-08-29Spreadsheet: Make cells right-aligned by defaultAndreas Kling
Until we have better control over cell content alignment, let's make them all right-aligned by default since that makes numbers look nice, and numbers are the bread & butter of spreadsheets. :^)
2020-08-28Spreadsheet: Treat Return as a cursor key in the cell editing delegateAndreas Kling
This allows you to enter many rows of cells like so: 1<return>2<return>3<return>... Very cool! :^)
2020-08-28Spreadsheet: Have cursor movement keys commit and stop cell editingAndreas Kling
Customize the cell editing delegate to stop editing when one of the various cursor movement keys is hit. This allows you to type into a cell and then move to an adjacent cell by simply pressing an arrow. This may not be the best factoring for this feature, but it's pretty dang cool and we'll see how it evolves over time. :^)
2020-08-28Spreadsheet: Enable "tab key navigation" in the spreadsheet tablesAndreas Kling
Moving left/right with the tab key is a classic spreadsheet behavior.
2020-08-28Spreadsheet: Make Return move the cursor one step downAndreas Kling
This seems to be a common behavior in spreadsheet applications, so let's replicate it here by hooking the activation signal.
2020-08-28Spreadsheet: Enable the "any key pressed" edit trigger in spreadsheetsAndreas Kling
2020-08-28Spreadsheet: Let GUI::TableView paint the grid and cursor :^)Andreas Kling
2020-08-28Spreadsheet: Setup and prepare for cell typesAnotherTest
This commit adds a generic interface for cell types and hooks it up. There is no way to set these from the UI, and so they're not saved anywhere yet. Also implicitly converts numeric values (strictly integers) to numeric javascript values, as numbery-looking + numbery-looking === string is not very interesting. :^)
2020-08-28Spreadsheet: Reorganise the sources a bitAnotherTest
This commit just moves some code around: - Give Cell its own file - Pull all forward-declared classes/structs into Forward.h - Clean up the order of member functions a bit
2020-08-28Spreadsheet: Open help pages immediately when selecting themAndreas Kling
2020-08-28Spreadsheet: Don't store help window's widgets in raw pointersAndreas Kling
We can just use RefPtr for these and lighten the cognitive burden.
2020-08-28ChessEngine: Move from Applications to ServicesAndreas Kling
This is not a stand-alone application. :^)
2020-08-28Spreadsheet: Do not clear cells when ctrl-selectingAnotherTest
2020-08-27Spreadsheet: Draw cell borders as 1px thin line :^)Andreas Kling
2020-08-27Spreadsheet: Draw cell cursor and selected cells differentlyAndreas Kling
Now that the table view has a cursor, we can distinguish it from the selected cells. Draw the cells with a nice variant of the selection color as background.
2020-08-27Base: Rename icon subdirectories by explicit app namethankyouverycool
Renames widgets/ to hackstudio/, vbwidgets/ to visualbuilder/ and paintbrush/ to pixelpaint/.
2020-08-27Base: Move 16x16 common icons to /res/icons/16x16/thankyouverycool
Drops the '16' suffix from filenames. Resizes inconsistent audio-volume icons to intended size.
2020-08-27Base: Create /res/graphics/ and relocate system art assetsthankyouverycool
2020-08-27Spreadsheet: Don't advertise the SpreadsheetModel as sortableAndreas Kling
2020-08-27Spreadsheet: Add support for changing multiple cells at onceAnotherTest
Just select many cells and use the cell editor! so easy!
2020-08-27Base+LibGUI+Spreadsheet: Add icons for SpreadsheetAnotherTest
Also adds a Spreadsheet.af.
2020-08-27Spreadsheet: Track selections across sheet switchesAnotherTest
2020-08-27Spreadsheet: Show errors and make them redAnotherTest
2020-08-27Spreadsheet: Add support for multiple sheetsAnotherTest
This also refactors the js integration stuff to allow sheets to reference each other safely.
2020-08-27Spreadsheet: Move sheet management to a Workbook classAnotherTest
2020-08-27Meta: Force semi-colon after MAKE_AK_NONXXXABLE()Ben Wiederhake
Before, we had about these occurrence counts: COPY: 13 without, 33 with MOVE: 12 without, 28 with Clearly, 'with' was the preferred way. However, this introduced double-semicolons all over the place, and caused some warnings to trigger. This patch *forces* the usage of a semi-colon when calling the macro, by removing the semi-colon within the macro. (And thus also gets rid of the double-semicolon.)
2020-08-26Spreadsheet: Tweak row height slightlyAndreas Kling
Add 2px of height to the rows. This makes editing a cell inline look better since we no longer cut off the text while editing.
2020-08-26Spreadsheet: Use a fixed-width font in the cell editorAndreas Kling
2020-08-26Spreadsheet: Don't ignore selections in the A column :^)Andreas Kling
This was a leftover from when the first column contained row numbers.
2020-08-26Spreadsheet: Enable row headers for the spreadsheet TableViewAndreas Kling