summaryrefslogtreecommitdiff
path: root/Userland/Applications
AgeCommit message (Collapse)Author
2021-09-01PixelPaint: Allow initial values for the EditGuideDialogTobias Christiansen
This way we can feed it the values if we wanted to change an existing Guide and handle the default as before. That we have to pass a String here is a bit ugly.
2021-09-01PixelPaint: Move the conversion to pixels into the EditGuideDialogTobias Christiansen
This seems like the most appropriate location to put this.
2021-09-01PixelPaint: Rename CreateNewGuideDialog to EditGuideDialogTobias Christiansen
This doesn't change the behavior at all but sets the naming up be more descriptive on what it does in the next patches.
2021-09-01PixelPaint: Tweak palette heightMarcus Nilsson
The height of the bottom color container was cut off at the bottom. This adjusts the heights and also the primary/secondary color widget so that it's in line.
2021-08-31PixelPaint: Add grayscale filtersavary1
Add a new Color category to the Filter menu. Add the Grayscale filter under Filter->Color to turn the selected layer to grey colors. Created GrayscaleFilter.h. Modify Filter.h to allow filters without parameters.
2021-08-31KeyboardSettings: Use LibConfig intead of Core::ConfigFileMustafa Quraish
2021-08-31DisplaySettings: Use LibConfig where possibleMustafa Quraish
Some places here still need to open `/etc/WindowServer.ini` which we can't do with th ConfigServer yet.
2021-08-31PixelPaint: Rename `Mode` to `FillMode` for Ellipse/RectangleMustafa Quraish
The prior commits add the `DrawMode` enum to keep track of where the shape is being drawn from. With this addition, the prior `Mode` enum name is confusing, so this commit renames it to `FillMode` to be more explicit :^)
2021-08-31PixelPaint: Add ability to draw rectangle from centerMustafa Quraish
Essentially the same logic as the prior commit, but now for the `RectangleTool` class. Pressing `alt` lets you draw the rectangle with the starting position as the center.
2021-08-31PixelPaint: Add ability to draw ellipse from centerMustafa Quraish
Like other common image editing applications, now if you press `alt` while drawing an ellipse, it uses the starting position as the center of the ellipse as opposed to one of the corners of the bounding rect. The EllipseTool class now keeps track of a `DrawMode`, which is either `DrawMode::FromCorner` (default), or `DrawMode::FromCenter` (the option added by this commit). The `draw_using()` function was modified to now take in the start and end positions and construct the `ellipse_intersecting_rect` itself, since we need to construct it differently based on the drawing mode.
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-31Spreadsheet: Implement begin() and end()Karol Kosek
2021-08-31Spreadsheet: Add RowIterator::index()Karol Kosek
2021-08-31Piano: Use LibDSP to implement delaykleines Filmröllchen
This is the first step in transitioning Piano to a full LibDSP backend. For now, the delay effect is replaced with a (mostly identical) implementation in LibDSP. The new ProcessorParameterSlider attaches to a LibDSP::Processor's range parameter (LibDSP::ProcessorRangeParameter) and changes it automatically. It also has the ability to update an external GUI::Label. This is used for the three delay parameters and it will become useful for auto-generating UI for Processors.
2021-08-31Piano: Add velocity and pitch supportkleines Filmröllchen
As Piano will later move to the RollNote defintions of LibDSP, it's a good idea to already insert velocity and pitch support, even though it's currently not used.
2021-08-31FileManager: Tweak layout spacing in file properties windowAndreas Kling
There wasn't enough vertical spacing between the TabWidget and the three (Ok/Cancel/Apply) buttons at the bottom.
2021-08-31FileManager: Hide the Inode and Symlink Target columns in TableViewAndreas Kling
These are not generally interesting, so let's hide them by default. The user can re-enable them if they want.
2021-08-31LibGUI: Rename FileSystemModel's "Owner" column to "User"Andreas Kling
A file is owned by a User+Group, not an Owner+Group.
2021-08-31Userland: Use Rect::centered_within() where usefulAndreas Kling
2021-08-31FileManager: Remove tree_view_directory_context_menuKarol Kosek
It isn't used anywhere and the tree view shows only directories (and that is covered by the tree_view_directory_context_menu).
2021-08-31FileManager: Add 'Open in Terminal' action for selected dirs on desktopKarol Kosek
This is to be more similar to the context menu from the windowed instance of File Manager.
2021-08-31FileManager: Add default 'Open' action in context menu for directoriesKarol Kosek
This makes the directory context menu more similar to the file context menu.
2021-08-31FileManager: Place mkdir and touch actions below openings in tree viewKarol Kosek
This way, the Properties action will always be everywhere on bottom.
2021-08-31FileManager: Put file launch actions firstKarol Kosek
The default action (shown in bold) indicates what would you get by double-clicking on file. Since it's a default option, I think it deserves to be on top (together with alternative launch options). :^) Also they're not task actions like "Extract .zip here" or "Add to bookmarks".
2021-08-30Spreadsheet: Don't invalidate the model on set_data()Ali Mohammad Pur
No previous model index will be invalidated afterwards, so avoid invalidating them. Also fixes an issue where committing to an edit with the inline cell editor makes the focused cell switch to A0. Fixes #9677.
2021-08-30MouseSettings: Tweak UI layout of cursor themes tabAndreas Kling
2021-08-29Spreadsheet: Save and load cell alignmentMandar Kulkarni
2021-08-28MailSettings: Add unveilLuke Wilde
2021-08-28MailSettings: Use LibConfig instead of Core::ConfigFileLuke Wilde
This also tightens the pledges.
2021-08-28Mail: Add unveilLuke Wilde
2021-08-28Mail: Use LibConfig instead of Core::ConfigFileLuke Wilde
This also tightens the pledges.
2021-08-28MailSettings: Remove proc and exec from plegesLinus Groh
2021-08-28MailSettings: Use the app-mail icon for the windowLinus Groh
No app-mail-settings icon exists (yet). app-mail is also what's being embedded in the executable, so let's stick with it.
2021-08-28PixelPaint: Always change cursor when active tool is setMustafa Quraish
Previously, if you used one of the keyboard shortcuts to select a different tool, it didn't change the cursor to the corresponding one till you clicked somewhere / did something else to trigger an update. This was pretty jarring since there's no indication as to whether the tool change was successful or not. This patch just calls `set_override_cursor()` when a valid active tool is set to immediately update it.
2021-08-27Everywhere: Use the Optional<T>::operator==(T) operatorMustafa Quraish
In general, I think `opt == x` looks much nicer than `opt.has_value() && opt.value() == x`, so I'm updating the remaining few instances I could find with some regex magic in my search.
2021-08-27Userland: Two low-sample rate fixeskleines Filmröllchen
1) The Sound Player visualizer couldn't deal with small sample buffers, which occur on low sample rates. Now, it simply doesn't update its buffer, meaning the display is broken on low sample rates. I'm not too familiar with the visualizer to figure out a proper fix for now, but this mitigates the issue (and "normal" sample rates still work). 2) Piano wouldn't buffer enough samples for small sample rates, so the sample count per buffer is now increased to 2^12, introducing minor amounts of (acceptable) lag.
2021-08-27Userland+LibAudio: Make audio applications support dynamic sample ratekleines Filmröllchen
All audio applications (aplay, Piano, Sound Player) respect the ability of the system to have theoretically any sample rate. Therefore, they resample their own audio into the system sample rate. LibAudio previously had its loaders resample their own audio, even though they expose their sample rate. This is now changed. The loaders output audio data in their file's sample rate, which the user has to query and resample appropriately. Resampling code from Buffer, WavLoader and FlacLoader is removed. Note that these applications only check the sample rate at startup, which is reasonable (the user has to restart applications when changing the sample rate). Fully dynamic adaptation could both lead to errors and will require another IPC interface. This seems to be enough for now.
2021-08-27PixelPaint: Make Layer passed to tools a pointerMaciej Zygmanowski
Some tools (e.g. ZoomTool) doesn't need layer to work. This commit makes mouse events fire even if there is no layer. This fixes a bug that ZoomTool didn't work when there is no layers.
2021-08-27PixelPaint: Pass raw mouse event to Tools and wrap them all in a structMaciej Zygmanowski
This commit adds a Tool::MouseEvent struct, which contains events that may be needed by tools: layer-relative, image-relative and raw (editor- relative) event. The raw event is used by ZoomTool to properly pan the view. This fixes a bug which caused image to snap out of sight.
2021-08-27PixelPaint: Make scaling exponentialMaciej Zygmanowski
This matches behaviour of other image editors, e.g GIMP. The default ZoomTool sensitivity was increased for better zooming experience :^)
2021-08-27FontEditor: Adjust margins and spacingthankyouverycool
Brings vertical spacing in line with most other apps using ToolbarContainers. Fixes GroupBox margins since CSS ordering change.
2021-08-27FontEditor: Let WindowServer manage modified markingsthankyouverycool
Simplifies building modified/new font titles and lets FontEditor make use of the comfy ellipsis close button.
2021-08-27FontEditor: Save discrete undo and redo states for each Commandthankyouverycool
Makes undo/redo actions compatible with the updated UndoStack sans finalization. Fixes having to click actions twice.
2021-08-27HexEditor: Use LibConfig instead of Core::ConfigFileMustafa Quraish
2021-08-26FileManager: Report errors from chdir(), if anyAndreas Kling
2021-08-26FileManager: Make DirectoryView listen for configuration changesAndreas Kling
DirectoryView now inherits from Config::Listener and will update its view mode immediately if changed from elsewhere. This is pretty neat. :^)
2021-08-26FileManager: Move "View as ViewType" actions into DirectoryViewAndreas Kling
Let DirectoryView manage these actions itself. This matches what we already do for a bunch of other actions, and prepares for the next patch which will add Config::Listener to the mix.
2021-08-26FileManager: Change the cwd when opening a directoryTheFightingCatfish
The `open()` function of DirectoryView should change the current working directory, so that the "Go to Location" menu item can process relative paths correctly. Update other functions in DirectoryView to use `open()` when opening a directory.
2021-08-26FileManager: Remove "on activation" debug spamTheFightingCatfish
2021-08-26Calculator: The equal key will now also finish the operationScott R. Parish
Prior to this if you typed "1+2=" you would not get the answer, instead you'd be left with "2" on the screen; Calculator wanted you to hit the enter key to get the answer. Now you can either use the enter or the equal key to finish the operation and get the answer.