summaryrefslogtreecommitdiff
path: root/Applications
AgeCommit message (Collapse)Author
2020-08-22LibGUI+Calendar: Make Calendar a common widget in LibGUIthankyouverycool
Refactors the Calendar widget into LibGUI and updates the Calendar app interface. Calendar widget lets layout engine manage most of its geometry now and has a few new features like tile click navigation, hover highlighting and a togglable year/month mode.
2020-08-22Meta: Add missing license header to ThemeEditorItamar
2020-08-21ThemeEditor: Tweak the main UI layoutAndreas Kling
2020-08-21ThemeEditor: Set window icon and titleAndreas Kling
2020-08-21ThemeEditor: Allow editing of theme colors one at a timeAndreas Kling
This is not perfect and kinda clunky to use, but these are the best input widgets we have available at the moment, so let's make do with what we have. :^)
2020-08-21ThemeEditor: Start working on a window theme editor :^)Andreas Kling
2020-08-21ChessEngine: Add ChessEnginePeter Elliott
This engine is pretty bad, but doesn't let itself get checkmated
2020-08-21SystemMonitor: Add a Processors tabLuke
2020-08-19Browser: add urls to browser history on load startJake Wilson
urls were previously added to history in the Tab::load() function, which excluded the setter on window.location.href. This commit adds all urls to browser history when the page loads, as long as the load_type is not LoadType::HistoryNavigation. Closes #3148
2020-08-18Calendar: Add help menuitemAbu Sakib
2020-08-17FileManager: Make DirectoryView vend indexes from view modelAndreas Kling
Instead of translating between the sorting proxy and the underlying file system model at all the DirectoryView API boundaries, just hand out indexes into the sorting proxy model. The only thing those indexes are used for on the outside is to retrieve a GUI::FileSystemModel::Node for an index, so add a nice helper on DirectoryView that turns a ModelIndex into a Node&.
2020-08-17LibGUI: Don't require passing model to FileSystemModel::Node APIsAndreas Kling
The Node API was obnoxiously requiring you to pass the model into it all the time, simply because nodes could not find their way back to the containing model. This patch adds a back-reference to the model and simplifies the API.
2020-08-17FileManager: Move the "create new file" action into DirectoryViewAndreas Kling
This makes it available in both desktop and windowed modes. :^)
2020-08-17FileManager: Move "create new directory" action into DirectoryViewAndreas Kling
This makes it available in both desktop and windowed mode. :^)
2020-08-17FileManager: Partially bring back the desktop context menuAndreas Kling
2020-08-17FileManager: Don't pass DirectoryView subview to hooks that don't careAndreas Kling
2020-08-17FileManager: Use DirectoryView for both windowed and desktop modeAndreas Kling
This patch begins the process of converting FileManager's desktop mode to using the DirectoryView class. This will allow us to share most of the code between the two different runtime modes of FileManager. We lose a bit of functionality in this patch, but we'll bring it back!
2020-08-17LibWeb: Rename WebContentView => OutOfProcessWebViewAndreas Kling
2020-08-17LibWeb: Rename PageView => InProcessWebViewAndreas Kling
2020-08-17FileManager: Apply wallpaper on startupLuke
I noticed that nothing actually applies the wallpaper on startup. I wasn't sure where to put the responsibility, so I gave it to the desktop mode file manager. Also adds a save_config option to set_wallpaper so it doesn't needlessly save the config.
2020-08-17FileManager: Don't close() twice when copying a fileAndreas Kling
2020-08-17FileManager: Fix descriptor leak in copy_file, found by CoverityBrian Gianforcaro
2020-08-17FileManger: Fix file descriptor leak in copy_file_or_directory, found by ↵Brian Gianforcaro
Coverity
2020-08-17SystemMonitor: Uninitialized struct member in ProcessModel, found by CoverityBrian Gianforcaro
This is really a nop, as the cpu_percent is computed later. Zero the value just to keep things sane.
2020-08-17SoundPlayer: Uninitialized variable in SoundPlayerWidget, found by CoverityBrian Gianforcaro
2020-08-17Piano: Uninitialized member variables in RollWidet, found by CoverityBrian Gianforcaro
This seem like they wouldn't cause any problems in reality, but it's nice to fix them to avoid any future misuse.
2020-08-16Browser: Add a debug menu action for triggering a JS garbage collectionAndreas Kling
Triggering a GC this way will print a report afterwards so you can see how much memory is currently used by the JS heap. :^)
2020-08-16TextEditor: Put fonts in exclusive action groupthankyouverycool
2020-08-16Base: Rename Pebbleton to reflect actual heightthankyouverycool
And update programs loading it from file.
2020-08-16LibGUI+DevTools+Applications: Use ModelIndex::data() in many placesAndreas Kling
This way you don't have to keep track of which model it came from.
2020-08-16LibGUI: Simplify TableCellPaintingDelegate API slightlyAndreas Kling
No need to pass the Model *and* a ModelIndex, the index knows which model it belongs to anyway.
2020-08-16LibGUI: Move GUI::Model::Role to GUI::ModelRoleAndreas Kling
This is preparation for using ModelRole in the ModelIndex API.
2020-08-16SystemMonitor: Invalidate ProcessModel indexes when necessaryAndreas Kling
If the process table grows or shrinks, we need to invalidate all the ProcessModel indexes. This is not great, but it's the most precise invalidation we can do at the moment.
2020-08-16LibGUI: Make model sorting imperative and move order to AbstractViewAndreas Kling
Instead of SortingProxyModel having a column+order, we move that state to AbstractView. When you click on a column header, the view tells the model to resort the relevant column with the new order. This is implemented in SortingProxyModel by simply walking all the reified source/proxy mappings and resorting their row indexes.
2020-08-16FileManager: Use one SortingProxyModel for all DirectoryView subviewsAndreas Kling
This removes one major source of confusion in DirectoryView. It's still weird that we mix sorting model indexes with filesystem model indexes a bit willy-nilly but we'll improve that separately.
2020-08-16SystemMonitor: Move memory graph caption from KB to KiBNico Weber
This changes the graph caption from KB to KiB, but it keeps just "K" instead of "KiB" for all the numbers in columns in the table, since "K" is fairly well-established as abbreviation of "KiB" (the SI prefix is lower-case), and space is at a premium here.
2020-08-16Everywhere: Consolidate human_readable_size() implementationsNico Weber
Let's use the one in AK/NumberFormat.h everywhere. It has slightly different behavior than some of the copies this removes, but it's probably nice to have uniform human readable size outputs across the system.
2020-08-16AK: Rename KB, MB, GB to KiB, MiB, GiBNico Weber
The SI prefixes "k", "M", "G" mean "10^3", "10^6", "10^9". The IEC prefixes "Ki", "Mi", "Gi" mean "2^10", "2^20", "2^30". Let's use the correct name, at least in code. Only changes the name of the constants, no other behavior change.
2020-08-15Misc: Use automatic window positioning in more applicationsLinus Groh
This is a follow up to #2936 / d3e3b4ae56aa79d9bde12ca1f143dcf116f89a4c. Affected programs: - Applications: Browser (Download, View source, Inspect DOM tree, JS console), Terminal (Settings) - Demos: Cube, Eyes, Fire, HelloWorld, LibGfxDemo, WebView, WidgetGallery - DevTools: HackStudio, Inspector, Profiler - Games: 2048, Minesweeper, Snake, Solitaire - Userland: test-web A few have been left out where manual positioning is done on purpose, e.g. ClipboardManager (to be close to the menu bar) or VisualBuilder (to preserve alignment of the multiple application windows).
2020-08-15LibGUI: Add and use Window::center_on_screen()Linus Groh
Various applications were using the same slightly verbose code to center themselves on the screen/desktop: Gfx::IntRect window_rect { 0, 0, width, height }; window_rect.center_within(GUI::Desktop::the().rect()); window->set_rect(window_rect); Which now becomes: window->resize(width, height); window->center_on_screen();
2020-08-15SystemMonitor: ProcessStack is now ThreadStackBen Wiederhake
This is a follow-up to #3095. In particular: https://github.com/SerenityOS/serenity/pull/3095#discussion_r469113354
2020-08-15LibGUI: Make focus events more aware of why focus is changingAndreas Kling
This patch adds GUI::FocusEvent which has a GUI::FocusSource. The focus source is one of three things: - Programmatic - Mouse - Keyboard This allows receivers of focus events to implement different behaviors depending on how they receive/lose focus.
2020-08-14LibGUI: Make ModelSelection non-copyable and non-movableAndreas Kling
These are meant to be attached to an AbstractView at all times.
2020-08-13LibGUI: Rename ModelClient::on_model_update() => model_did_update()Andreas Kling
This follows the typical client callback naming scheme used elsewhere and doesn't collide with the "on_foo" Function hook convention.
2020-08-13LibGUI: Remove Model::sibling() since it's the same as index()Andreas Kling
... I'm not sure what the idea was here, but since these functions do the same thing, let's only have index().
2020-08-13LibGUI: Rename SortingProxyModel "target" to "source" insteadAndreas Kling
2020-08-12FileManager: Remove one direct call to FileSystemModel from outsideAndreas Kling
We should stop accessing the FileSystemModel outside DirectoryView. This whole app is pretty badly factored, due to LibGUI being in its infancy while it first developed.
2020-08-12FileManager: Use FileIconProvider in the properties dialogAndreas Kling
This removes the need for the properties dialog to access the internal data model used by the directory view.
2020-08-12Applications: Mark compilation-unit-only functions as staticBen Wiederhake
This enables a nice warning in case a function becomes dead code.
2020-08-12Browser: Avoid ninja-import of global variableBen Wiederhake