Andreas Kling
c7437f9caa
LibGUI: Convert GLabel to ObjectPtr
2019-09-21 15:25:08 +02:00
Andreas Kling
482d5295f1
FileManager: Allow deleting without confirmation via Shift+Delete
...
A powerful command for powerful users. :^)
2019-09-18 21:53:47 +02:00
Andreas Kling
33b8c807a6
FileManager: Implement basic file deletion
...
The delete action now actually deletes files (after asking the user for
confirmation, of course.) Deleting directories is not yet supported.
Fixes #541 .
2019-09-18 21:46:14 +02:00
Brandon Scott
a4d52b122d
FileManager+LibGUI: Fix two folder-related crashes ( #569 )
...
Fix a crash when opening a folder, and another one when trying to open
a newly created folder.
It was not safe to modify a GModelSelection while it's being iterated over.
Fixes #536 .
2019-09-17 09:26:10 +02:00
Andreas Kling
e83390387c
LibGUI: Simplify GCommonActions a bit
...
Use the same callback signature as GAction so we can just forward it
to GAction instead of chaining callbacks.
2019-09-14 22:10:44 +02:00
Andreas Kling
31046b18bb
FileManager: Use a special clipboard data type for copied file lists
...
When copying a list of files to the clipboard, we now use the special
data type "file-list".
This allows us to have the paste action's enabled state reflect the
actual ability to paste something. :^)
2019-09-14 09:20:20 +02:00
Andreas Kling
ff72b4d475
FileManager+Base: Add "properties" icon
...
Something to show for the properties action in FileManager. It still
doesn't actually do anything, but at least now it looks neat. :^)
2019-09-13 23:07:59 +02:00
Andreas Kling
5eb2c138e2
FileManager: Update enabled state of the copy and delete actions
...
Based on whether something is selected or not. I added a FIXME about
the paste action, since that will require some more coordination with
the system clipboard.
2019-09-13 22:09:01 +02:00
Andreas Kling
27e1128e6e
FileManager: Assign keyboard shortcuts to the various actions
2019-09-13 22:04:08 +02:00
Andreas Kling
3a02bd40f8
FileManager: Add a basic context menu with copy/paste/delete/...
...
I also added a dummy "Properties..." action just to fill out the menu a
little bit. :^)
Fixes #270 .
2019-09-13 22:00:47 +02:00
Andreas Kling
d86fb8033e
FileManager: Show info about currently selected items in statusbar
...
When there's a non-zero number of selected items, we now show the
number in the statusbar, along with the total selected file size. :^)
Fixes #271 .
2019-09-12 18:59:13 +02:00
Aaron Malpas
026a8be4e5
File Manager: Implement copy-paste
...
The files to copy are remembered with the clipboard, which stores a
command (e.g. "copy") and files to be copied on different lines.
2019-09-10 19:28:41 +02:00
Andreas Kling
fb275c9442
FileManager: Make the tree view follow the path changes correctly
...
The left-side tree view was not following along when switching paths
via the right-side views. Hook this back up.
2019-09-08 09:08:50 +02:00
Andreas Kling
6dec328af7
LibGUI+FileManager: Add GAbstractView::on_selection_change hook
...
This hook will be called whenever the view's selection changes somehow.
Use this in the FileManager to keep the left and right views in sync.
2019-09-07 21:35:04 +02:00
Andreas Kling
9d97781e37
FileManager: Port to using GModelSelection
2019-09-07 20:41:14 +02:00
rhin123
86c68210f0
FileManager: Added GCommonActions
2019-09-05 09:40:54 +02:00
Andreas Kling
b0b94560c3
FileManager: Add "go home" action to the "Go" menu
2019-08-26 21:20:39 +02:00
Andreas Kling
08d7c86e90
FileManager: Move "File" menu entries to the app menu
2019-08-26 19:18:54 +02:00
Conrad Pankoff
fed0133109
FileManager: Show home directory by default, or command line argument
...
FileManager used to open up with the root directory loaded by default.
Now it will try to load either 1) the first argument specified on the
command line, 2) the user's home directory, or 3) the root directory.
Fixes #389
2019-07-31 16:33:21 +02:00
Andreas Kling
841b2e5d13
WindowServer+LibGUI: Pass window icons as shared buffers rather than paths.
...
Now that we support more than 2 clients per shared buffer, we can use them
for window icons. I didn't do that previously since it would have made the
Taskbar process unable to access the icons.
This opens up some nice possibilities for programmatically generated icons.
2019-07-28 10:18:49 +02:00
Andreas Kling
72a3f69df7
LibGUI: Get rid of GWindow::should_exit_event_loop_on_close().
...
This behavior and API was extremely counter-intuitive since our default
behavior was for applications to never exit after you close all of their
windows.
Now that we exit the event loop by default when the very last GWindow is
deleted, we don't have to worry about this.
2019-07-23 18:20:00 +02:00
Andreas Kling
5f0f1ce9d2
FileManager: Add a toolbar button for going to the home directory.
...
Fixes #308 .
2019-07-21 09:19:09 +02:00
Andreas Kling
aa2224a2f0
GWidget: Add set_preferred_size(width, height) overload.
...
It was annoying to always write set_preferred_size({ width, height }). :^)
2019-07-20 22:39:24 +02:00
Andreas Kling
a17fbd98e7
LibGUI: Add input types to GMessageBox.
...
Currently the two available input types are:
- GMessageBox::InputType::OK (default)
- GMessageBox::InputType::OKCancel
Based on your choice, GMessageBox::exec() will return ExecOK or ExecCancel.
2019-07-16 21:41:13 +02:00
Andreas Kling
954a0b8efe
AK: Add a canonicalized_path() convenience function.
...
This is the same as calling FileSystemPath(foo).string(). The majority of
clients only care about canonicalizing a path, so let's have an easy way
to express that.
2019-07-15 06:50:32 +02:00
Andreas Kling
c0742e4c23
FileManager: Remove use of copy_ref().
2019-07-11 15:59:06 +02:00
Andreas Kling
7083a0104a
LibGUI: Add GActionGroup, a way to group a bunch of GActions.
...
This can be used to make a bunch of actions mutually exclusive.
This patch only implements the exclusivity behavior for buttons.
2019-07-09 22:10:03 +02:00
Andreas Kling
90b1354688
AK: Rename RetainPtr => RefPtr and Retained => NonnullRefPtr.
2019-06-21 18:37:47 +02:00
Andreas Kling
fd604a7c68
Applications: Run clang-format on everything.
2019-06-07 11:48:03 +02:00
Robin Burchell
7bce096afd
Take StringView in more places
...
We should work towards a pattern where we take StringView as function
arguments, and store String as member, to push the String construction
to the last possible moment.
2019-06-02 12:55:51 +02:00
Christopher Dumas
50154a23cb
most apps now begin in the correct directory
2019-05-27 21:40:53 +02:00
Andreas Kling
b311257098
Applications: Let's put spaces in app names
...
"FileManager" => "File Manager"
"FontEditor" => "Font Editor"
"ProcessManager" => "Process Manager"
"TextEditor" => "Text Editor"
2019-05-27 13:52:28 +02:00
Christopher Dumas
00075b1c8a
Added functionality to make back and forward buttons work in FileManager. Also
...
fixed it so that directories don't get double-opened (first when they are
opened, and second when the selection changes to match in the file tree view)
2019-05-24 00:24:28 +02:00
Andreas Kling
1ab66e4d33
FileManager: Tweak layout spacing (new default looks weird here.)
...
This app needs a layout rethink, but for now I'm just fixing breakage.
2019-05-11 02:35:03 +02:00
Andreas Kling
d4ac9e9a8a
FileManager: When mkdir() fails, show the path we passed in the message.
2019-05-08 22:41:19 +02:00
Andreas Kling
de98b2770b
GMessageBox: Add icons to message boxes with 3 standard ones to choose from.
2019-05-08 20:13:39 +02:00
Andreas Kling
8f81a3f9dd
LibGUI+WindowServer: Make it possible to have checkable GActions.
...
They show up as checkable GButtons in GToolBar, and with (or without) check
marks in menus.
There are a bunch of places to make use of this. This patch only takes
advantage of it in the FileManager for the view type actions.
2019-04-26 21:09:56 +02:00
Andreas Kling
38e1e205a5
FileManager: Add a window icon.
2019-04-23 20:42:47 +02:00
Andreas Kling
4ab0cd5d4c
LibGUI: Move frame painting from GFrame to StylePainter.
...
This way it can be used by others who might not have a GFrame object.
2019-04-10 03:43:46 +02:00
Andreas Kling
313ac51832
LibGUI: Turn GTextBox into a wrapper around a single-line GTextEditor.
2019-04-10 03:08:29 +02:00
Andreas Kling
f8a1d2746e
FileManager: Rename DirectoryTableView => DirectoryView.
2019-04-02 14:43:56 +02:00
Andreas Kling
9538c06a45
LibGUI: Add a simple GSplitter container widget.
...
This allows you to put multiple widgets in a container and makes the space
in between them draggable to resize the two adjacent widgets.
2019-03-30 13:53:30 +01:00
Andreas Kling
f242d6e559
FileManager: Tweak look of thumbnailing progress bar.
...
Since it's inside a status bar, it looks a bit better when using a panel
shape with sunken shadow.
2019-03-30 13:12:59 +01:00
Andreas Kling
2c6a597d77
FileManager: Make the tree view follow the directory view navigations.
2019-03-30 03:27:25 +01:00
Andreas Kling
f10e0d0546
FileManager: Make the directory view follow the tree view selection.
2019-03-30 02:22:38 +01:00
Andreas Kling
6b72c62c5f
GFileSystemModel: Add a "DirectoriesOnly" mode.
2019-03-29 17:14:03 +01:00
Andreas Kling
4d3c5fd83e
LibGUI: Start working on a GFileSystemModel and hook that up in FileManager.
...
This is a read-only model for the tree view, at least initially. We'll see
where we take it from there once it's more polished.
2019-03-29 17:03:30 +01:00
Andreas Kling
474340b9cd
GTreeView: A bunch of work on the tree view.
2019-03-29 14:46:53 +01:00
Andreas Kling
d02238af48
LibGUI: Expand GModelIndex a bit, adding internal data and model pointers.
...
This will be useful for implementing more complicated models.
2019-03-29 04:58:15 +01:00
Andreas Kling
9d7a513681
GTextEditor: Keep tweaking the single-line look.
2019-03-29 01:57:29 +01:00