Age | Commit message (Collapse) | Author |
|
When the user has scrolled up and begins typing, the scrollbar will
automatically return them to the current cursor position so that they
can see what they're typing.
|
|
The program will now automatically select the user's currently
chosen resolution when it is loaded up, however it is not
"visually selected" in the `GListView`
Moved the `resolution_list` list to be on the top to keep it consistent
with the wallpaper tab.
|
|
|
|
|
|
Fixes #553.
|
|
Use the same callback signature as GAction so we can just forward it
to GAction instead of chaining callbacks.
|
|
As was mentioned in #556, the `DisplayProperties` Wallpaper tab
contained a lot of "extra space", in which half the tab was taken up
by the list of wallpapers. The rest of that space is now reserved for
a wallpaper preview, so the user can see the selected image before
applying it.
|
|
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. :^)
|
|
|
|
Something to show for the properties action in FileManager. It still
doesn't actually do anything, but at least now it looks neat. :^)
|
|
We had many context menus with names, simply because you were forced
to give them names.
|
|
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.
|
|
|
|
I also added a dummy "Properties..." action just to fill out the menu a
little bit. :^)
Fixes #270.
|
|
|
|
Tools don't know what to do with the middle mouse button anyway,
so it's better if we just don't pass it along.
Fixes #546.
|
|
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.
|
|
|
|
Previously if sample.left amplitude was more than 0.5 we would draw
outside the painters clip rect.
|
|
The files to copy are remembered with the clipboard, which stores a
command (e.g. "copy") and files to be copied on different lines.
|
|
This could later be replaced with library-provided utility functions
when/if they exist.
|
|
There needs to be a way to know when a user has selected a file.
file_system_model->on_selection_changed only fires on directory
change.
|
|
The left-side tree view was not following along when switching paths
via the right-side views. Hook this back up.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
An interactive application to modify the current display settings, such as
the current wallpaper as well as the screen resolution. Currently we're
adding the resolutions ourselves, because there's currently no way to
detect was resolutions the current display adapter supports (or at least
I can't see one... Maybe VBE does and I'm stupid). It even comes with
a very nice template'd `ItemList` that can support a vector of any type,
which makes life much simpler.
|
|
The user is asked if they want to save a dirty file before they create
a new one.
|
|
This was a workaround to be able to build on case-insensitive file
systems where it might get confused about <string.h> vs <String.h>.
Let's just not support building that way, so String.h can have an
objectively nicer name. :^)
|
|
This is not as perfect as it is elsewhere in the system, as we cannot
really change how terminal "thinks about" characters and bytes. What
we can do though, and what this commit does, is to *render* emojis, but
make it seem as if they take up all the space, and all the columns their
bytes would take if they were all regular characters.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Now you can double-click on WAV files in the FileManager. Neato! :^)
|
|
This can play anything that AWavLoader can load (so obviously only WAV
files at the moment.)
It works by having a timer that wakes up every 100ms and tries to send
a sample buffer to the AudioServer. If our server-side queue is full
then we wait until the next timer iteration and try again.
We display the most recently enqueued sample buffer in a nice little
widget that just plots the samples in green-on-black. :^)
|
|
|
|
|
|
|
|
|
|
|
|
This seems to match what other IRC clients do, and it means we don't
get three separate "server" windows when connecting to Freenode. :^)
|