summaryrefslogtreecommitdiff
path: root/Applications
AgeCommit message (Collapse)Author
2020-03-11Terminal: Make the settings window unresizableTibor Nagy
2020-03-11TextEditor: Quit after saving unsaved changes on close event.Oriko
2020-03-11TextEditor: Add syntax toggle to View menuOriko
2020-03-08Userspace: Add missing #includes now that AK/StdLibExtras.h is smallerAndreas Kling
2020-03-07LibWeb: Rename directory LibHTML => LibWebAndreas Kling
Let's rename this to LibWeb since it aims to provide more parts of the web platform than just HTML. :^)
2020-03-07LibWeb: Move everything into the Web namespaceAndreas 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-05FileManager: Fix asserts on checking properties of symlinksTibor Nagy
There were two issues with this code: - The result of the readlink() call was checked incorrectly for errors. - This code shouldn't return because otherwise it leaves the GUI buttons uninitialized below, causing RefPtr asserts to trigger when the dialog tries to access the buttons later on.
2020-03-05FileManager: Fix group names in the file properties dialogTibor Nagy
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-04LibCore: Make Core::Object::add<ChildType> return a ChildType&Andreas Kling
Since the returned object is now owned by the callee object, we can simply vend a ChildType&. This allows us to use "." instead of "->" at the call site, which is quite nice. :^)
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-03-03LibGUI: Some more convenience functions for constructing widgetsAndreas Kling
This patch adds two new API's: - WidgetType& GUI::Window::set_main_widget<WidgetType>(); This creates a new main widget for a window, assigns it, and returns it to you as a WidgetType&. - LayoutType& GUI::Widget::set_layout<LayoutType>(); Same basic idea, creates a new layout, assigns it, and returns it to you as a LayoutType&.
2020-03-03LibGUI: Remove Button& parameter from Button::on_click hookAndreas Kling
There was but a single user of this parameter and it's a bit tedious to write it out every time, so let's get rid of it.
2020-03-03SystemMenu: Fix bad behavior in shutdown dialogAndreas Kling
The selected option was stored in a captured stack variable which was long gone by the time we looked at it, so this dialog didn't really behave the way you'd expect. Put it in a member instead. :^)
2020-03-03AK: Make quick_sort() a little more ergonomicAndreas Kling
Now it actually defaults to "a < b" comparison, instead of forcing you to provide a trivial less-than comparator. Also you can pass in any collection type that has .begin() and .end() and we'll sort it for you.
2020-03-02SystemMonitor: Unbreak the in-table progress bars showing disk usageAndreas Kling
2020-03-01AK: Remove unnecessary casts to size_t, after Vector changesAndreas Kling
Now that Vector uses size_t, we can remove a whole bunch of redundant casts to size_t.
2020-02-29About: Add mascot tooltipAndreas Kling
2020-02-29Terminal: Put PAGER=more in the default environmentAndreas Kling
This should be done at some other level (shell rc script for example), this is just to make "git" stop complaining that I don't have "less".
2020-02-29Welcome: Remove the default GUI::Frame look from TextWidgetAndreas Kling
2020-02-29About: Adopt Buggie :^)Andreas Kling
Simon Struthers drew a SerenityOS ladybug and since it's so cute, I figured we could adopt it!
2020-02-28SystemMonitor: Show VMObject types in process memory mapsAndreas Kling
2020-02-28PaintBrush: Pledge "thread" so that GUI::FilePicker worksAndreas Kling
2020-02-28Kernel+LibC: Rename shared buffer syscalls to use a prefixAndreas Kling
This feels a lot more consistent and Unixy: create_shared_buffer() => shbuf_create() share_buffer_with() => shbuf_allow_pid() share_buffer_globally() => shbuf_allow_all() get_shared_buffer() => shbuf_get() release_shared_buffer() => shbuf_release() seal_shared_buffer() => shbuf_seal() get_shared_buffer_size() => shbuf_get_size() Also, "shared_buffer_id" is shortened to "shbuf_id" all around.
2020-02-28DisplayProperties: Warn user about failed resolution settingLiav A
Also, we have now two new resolutions - 1368x768 and 1366x768. The 1366x768 resolution is currently not supported but is good for testing a failed resolution setting.
2020-02-27Piano: New timing system and zoomable piano rollWilliam McPherson
This patch allows roll notes to be of different sizes. This necessitates a new internal representation of time. BPM and time signatures are mostly implemented but not exposed. Roll notes are now sample-accurate and the grid is aligned to 60 BPM 4/4. The roll is divided by the time signature raised to some power of 2, giving the musical divisions of (in the case of 4/4) 16, 32, 64 etc. Before, our timing was derived from the buffer size and we relied on that to implement delay. Delay has been rewritten to be sample-granular. It's now exposed as the proper "divisions of a beat". Something to be wary of is that the last buffer in the loop is also used for the start of the next loop. In other words, we loop mid-buffer. This means we write WAVs with a tiny bit of silence due to breaking the loop after filling half a buffer. The data structure for the roll is an array of SinglyLinkedLists of RollNotes. Separating by pitch (via the array layout) makes insertion much simpler and faster. Using sorted lists (and thus SinglyLinkedListIterators) to do lookups is very quick as you know the sample of the next note and can just compare it to the current sample. I implemented this with HashMaps and the cost of lookups was abysmal. I also tried a single SinglyLinkedList and the insertion code got even more complicated than it already is.
2020-02-27DisplayProperties: Do not assert on trying to select unset wallpaperTibor Nagy
When wallpapers are not present in WindowServer.ini, don't try to select them in the wallpapers list.
2020-02-26Meta: Claim copyright on `DisplayProperties` filesJesse Buhagiar
If anyone's machine blows up setting their wallpaper, they know to blame me and not AK :P
2020-02-25SystemMonitor: Add pagemap visualization for VM regionsAndreas Kling
This patch adds a new column to the per-process memory regions view in SystemMonitor. It's a scaled view of the underlying pagemap of a region that tells you which chunks of the region are resident/null/zero.
2020-02-25Terminal: Open settings as a modal windowTibor Nagy
To prevent the settings window from getting orphaned when someone closes the main window behind it.
2020-02-25Build: Only look at SUBDIRS with Makefilesjoshua stein
If a directory is renamed or deleted before 'make clean', git will delete the Makefile but leave all of the object and dependency files around. When make would try to recurse into that directory from the wildcard, it would error out since there is no Makefile.
2020-02-25Terminal: Don't set an initial command_to_executejoshua stein
Otherwise we end up executing "/bin/Shell -c /bin/Shell" on a normal launch. With a null command_to_execute, we'll just execute /bin/Shell
2020-02-25SoundPlayer: Cast Audio::Sample to float for fabsf()joshua stein
2020-02-25AK: Make Queue use size_t for its sizeAndreas Kling
2020-02-25AK: Make Vector use size_t for its size and capacityAndreas Kling
2020-02-24TextEditor: Pledge "thread" since it's needed by GUI::FilePickerAndreas Kling
This is a little bit awkward since it's only used for generating thumbnails on a background thread and it's not like I care about thumbnails very much in a text editor, but for now let's just pledge "thread" so I can get on with the thing I wanted to get on with.
2020-02-23SystemMenu: Migrate PowerDialog to (widget)->add like in 3d20da9ethatlittlegit
This also fixes the build.
2020-02-23SystemMenu: Move SystemDialog into SystemMenu and remove INI configthatlittlegit
I probably would've done INI config removal in another commit, but it fit well here because I didn't want to pledge wpath for SystemMenu if I didn't need to. Frankly, that's something that I think should be done: allow ConfigFile to be used read-only.
2020-02-23SystemDialog+Base: Add icon for SystemDialogthatlittlegit
2020-02-23SystemMenu: Remove --shutdown argument when calling SystemDialogthatlittlegit
2020-02-23SystemDialog: Revamp to be more Win95-likethatlittlegit
Only thing I don't like right now is the fact that we rely on the shell.
2020-02-23LibGUI: Add helper for constructing new TabWidget tabsAndreas Kling
This patch adds the following convenience helper: auto tab_widget = GUI::TabWidget::construct(); auto my_widget = tab_widget->add_tab<GUI::Widget>("My tab", ...); The above is equivalent to: auto tab_widget = GUI::TabWidget::construct(); auto my_widget = GUI::Widget::construct(...); tab_widget->add_widget("My tab", my_widget);
2020-02-23LibGUI: Remove parent parameter to GUI::Widget constructorAndreas Kling
2020-02-23FontEditor: Fix focus and implement keyboard navigation in the glyph mapTibor Nagy
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-23Userspace: Use Core::Object::add() when building interfacesAndreas Kling
2020-02-23IRCClient: Modernize Core::Object usageAndreas Kling
2020-02-22SystemMonitor: Fix display of file system size column.Brian Gianforcaro
The Size column in the "File systems" tab of SystemMonitor had a rendering artifact where the bounding box outline would be drawn in the same location as the text. This makes the text look strange and hard to read. Pad the size with a signle space character on either side to give the text a gap on each side.