Commit graph

4311 commits

Author SHA1 Message Date
rhin123
7df4cfe606 IRCCient: Added GCommonActions 2019-09-05 09:40:54 +02:00
rhin123
86c68210f0 FileManager: Added GCommonActions 2019-09-05 09:40:54 +02:00
rhin123
f468634494 TextEditorWidget: Added GCommonActions 2019-09-05 09:40:54 +02:00
Andreas Kling
c4d59f64d1 GDirectoryModel: Add a 32x32 filetype icon for sound files 2019-09-04 21:48:03 +02:00
Andreas Kling
5cfd67ecbb FileManager: Open ".wav" files in SoundPlayer when activated
Now you can double-click on WAV files in the FileManager. Neato! :^)
2019-09-04 20:20:36 +02:00
Andreas Kling
1188a036e9 SoundPlayer: Start working on a GUI sound player application
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. :^)
2019-09-04 20:18:41 +02:00
Andreas Kling
6693e56603 LibAudio: Allow tweaking how much get_more_samples() reads from file 2019-09-04 20:13:32 +02:00
Andreas Kling
a98de0b6ee LibAudio: Add AClientConnetion::try_enqueue() API
This is a variant of the enqueue() API that returns immediately and
may fail. It's useful when you don't want to block until the audio
server can receive your sample buffer.
2019-09-04 20:12:24 +02:00
Andreas Kling
2441c1fde2 IRCClient: Use GAboutDialog :^) 2019-09-04 19:11:37 +02:00
Andreas Kling
75eb84c7e4 IRCClient: Size columns to-fit in the window and member views 2019-09-04 19:07:59 +02:00
Andreas Kling
f4042903b9 Shell: Okay I keep messing up this history file code.. actually fix it!
It's not safe to return a CFile by-value. CFile is a CObjects and they
are honestly not very good at being values..
2019-09-04 19:01:34 +02:00
Andreas Kling
e12bbc097f IRCClient: Add 16x16 icon 2019-09-04 18:56:39 +02:00
Andreas Kling
52f62c2d7e IRCClient: Tweak UI to look less padding-bloated 2019-09-04 18:54:43 +02:00
Andreas Kling
123a3cad77 GLayout: Change default spacing to 3 pixels 2019-09-04 18:54:03 +02:00
Andreas Kling
a6bb955c9d GSplitter: Change default spacing to 3 pixels 2019-09-04 18:53:46 +02:00
Andreas Kling
2216c7ecc6 IRCClient: Make the auto-join on connect feature actually do something 2019-09-04 17:37:11 +02:00
Andreas Kling
0b1981ddae Shell: Oops, don't exit() when ~/.history does not exist 2019-09-04 15:16:07 +02:00
Andreas Kling
16de02cce0 CIODevice: Add is_open() 2019-09-04 15:13:55 +02:00
Andreas Kling
ce837d157f Shell: Don't open ~/.history for writing on startup
When we only want to read the file, we should open it for reading.
2019-09-04 14:59:29 +02:00
Andreas Kling
cc98ea1956 Json: Add serializer fast-path for string values
Passing these through the generic JsonValue path was causing us to
instantiate temporary JsonValues that incurred a heap allocation.
This avoids that by adding specialized overloads for string types.
2019-09-04 14:40:11 +02:00
Andreas Kling
14a228a6f8 Meta: Let's try giving Travis some valid YAML this time.. 2019-09-04 11:45:43 +02:00
Andreas Kling
e25ade7579 Kernel: Rename "vmo" to "vmobject" everywhere 2019-09-04 11:27:14 +02:00
Andreas Kling
e5500e2a22 Kernel: Fix wrong I/O ports for the ATA alternate status registers
The alternate status register is not part of the same set of registers
as all the other stuff.

Also rename wait_400ns() to io_delay() since we had no guarantee that
it was waiting for 400ns..
2019-09-04 11:11:03 +02:00
Andreas Kling
8cbb38a237 Kernel: Remove unused gunk from PATADiskDevice 2019-09-04 11:06:10 +02:00
rhin123
deb31645aa GAction: Added GCommonActions as a template to create standard actions
Instead of creating actions from the ground up, GCommonActions contains
all related information to that common action. Such as the icon,
keybind, ect.
2019-09-04 06:56:29 +02:00
Andreas Kling
6126edcd75 Meta: Try showing the commit subject in IRC notifications
Hopefully I got the travis-ci notifications syntax right!
2019-09-03 22:18:11 +02:00
Andreas Kling
9cb4e5ac81 IRCClient: Don't auto-open new queries for NOTICE or CTCP messages
This seems to match what other IRC clients do, and it means we don't
get three separate "server" windows when connecting to Freenode. :^)
2019-09-03 21:47:43 +02:00
Andreas Kling
5c7ef5977d IRCClient: Handle incoming CTCP requests VERSION and PING
CTCP requests are client-to-client messages that are sent as either
PRIVMSG (for requests) or NOTICE (for responses) and wrapped in ASCII
character 0x01 on both sides.

This patch implements responding to the very common VERSION and PING
requests. We always get a VERSION request from freenode when connecting
there, for instance. :^)
2019-09-03 21:18:28 +02:00
Andreas Kling
9ffe8feff4 Kernel: Only #include stuff from <LibC/...> if __serenity__ is defined 2019-09-03 21:14:42 +02:00
Conrad Pankoff
6fb7eeb81a SystemServer: Use dbg() instead of dbgprintf() 2019-09-03 16:17:26 +02:00
Conrad Pankoff
a8bd43588b SystemServer: Allow more arguments for startup processes 2019-09-03 16:17:26 +02:00
Conrad Pankoff
a3468dc993 Kernel: Pad packets out to 64 bytes in rtl8139 driver 2019-09-03 15:24:48 +02:00
Conrad Pankoff
c8fa95b8cd Kernel: Only set tx buffer address once in rtl8139 driver 2019-09-03 15:24:48 +02:00
Conrad Pankoff
7c9adcf24e Kernel: Reword some constants/comments in rtl8139 driver for clarity 2019-09-03 15:24:48 +02:00
Conrad Pankoff
ff2997f018 Kernel: Use regular kmalloc for buffers in rtl8139 driver 2019-09-03 15:24:48 +02:00
Conrad Pankoff
87808e535a AK: Fix printf %x padding and %p length 2019-09-03 15:23:13 +02:00
Andreas Kling
841f1276e6 TextEditor: Use GAboutDialog :^) 2019-09-02 19:48:47 +02:00
Andreas Kling
aea6a28e9c Terminal: Use GAboutDialog :^) 2019-09-02 19:46:35 +02:00
Andreas Kling
5e34e43b0f LibGUI: Add GAboutDialog, a simple way to show a nice about box in apps 2019-09-02 19:45:55 +02:00
Andreas Kling
c82627aae2 Kernel: Don't allow non-superusers to bind TCP/UDP ports < 1024 2019-09-02 18:49:54 +02:00
Conrad Pankoff
41d113713d ProcFS: Expose ARP table 2019-09-02 09:42:27 +02:00
marprok
ac154999f5 Shell: Added support for ctr-e/a.
By pressing ctr-e/a the cursor goes to the end/beginning of the current line.
2019-09-02 09:42:05 +02:00
Conrad Pankoff
1f56612c8a Terminal: Add -e (execute) command line option
This allows a user to specify a command to run after opening the terminal
program. By default it will still spawn an interactive shell.
2019-09-02 08:33:36 +02:00
Conrad Pankoff
17cf3c143a LibC: Support _PC_PATH_MAX in [f]pathconf 2019-09-02 08:30:04 +02:00
Conrad Pankoff
40daefd3dc AK: Abort on unknown printf formatting characters
Right now if we encounter an unknown character, printf (and its related
functions) fail in a really bad way, where they forget to pull things off
the stack. This usually leads to a crash somewhere else, which is hard to
debug.

This patch makes printf abort as soon as it encounters a formatting
character that it can't handle. This is not the optimal solution, but it
is an improvement for debugging.
2019-09-02 08:29:21 +02:00
Conrad Pankoff
a92939b766 AK: Support %i as an alias for %d in printf 2019-09-02 08:28:31 +02:00
Andreas Kling
b615a5c780 LibGUI: Add a way for GWidgets to do custom layout on child hide/show
This solves an issue in GScrollableWidget where hiding one of the two
scrollbars needs to trigger a relayout since the other one should grow
into the "shared space" in the bottom right corner.

A GWidget can now override custom_layout() which will be called at any
time we would normally delegate work to the GLayout, e.g on resize
or child visibility changes, size policy changes, etc.
2019-09-01 20:51:20 +02:00
Andreas Kling
77a58119e7 GTextEditor: Hide the horizontal scrollbar when line-wrapping is on 2019-09-01 20:34:50 +02:00
Andreas Kling
906582d8df GTextEditor: Fix wrong width calculations with line-wrapping enabled
There were various little mistakes in the width calculations used by
the line-wrapping layout code.

With this patch, we should no longer see the horizontal scrollbar get
enabled with line-wrapping enabled. I will hide the scrollbar in a
separate patch.
2019-09-01 20:04:25 +02:00
Andreas Kling
74ca299b4b GTextEditor: Make visual lines stop after their last character
Instead of letting each visual line run to the end of the editor when
wrapping lines, stop each visual line where it runs ouf characters.

Fixes #493.
2019-09-01 17:30:23 +02:00