Commit graph

131 commits

Author SHA1 Message Date
Andreas Kling f44ba6a4c6 IRCClient: Add handling of some basic messages and commands. 2019-03-16 12:21:42 +01:00
Andreas Kling b4f787090c IRCClient: Add a little "(n)" indicator to window list for unread messages. 2019-03-16 02:14:53 +01:00
Andreas Kling 1394677528 IRCClient: Refactor window creation responsibilities.
IRCChannel and IRCQuery objects now create their own windows with the
help of an aid_create_window callback provided by IRCAppWindow.

There's still a bit of murk but this is already an improvement.
2019-03-16 01:45:49 +01:00
Andreas Kling fc7f700c20 IRCClient: Rename IRCClientWindowFoo => IRCWindowFoo. 2019-03-16 01:15:19 +01:00
Andreas Kling 5c2d405e1f IRCClient: Add menus. 2019-03-16 01:10:48 +01:00
Andreas Kling 2b6cf37d20 IRCClient: Add some more toolbar actions. Starting to look nice. 2019-03-16 00:21:11 +01:00
Andreas Kling 3a3aa74b2e IRCClient: Add a toolbar with some actions. 2019-03-15 23:24:40 +01:00
Andreas Kling b54ab06595 GTableView: Add a way to turn off alternating row colors. 2019-03-15 21:41:27 +01:00
Andreas Kling 491aa112ab IRClient: Add a member list to channel views. 2019-03-15 18:25:51 +01:00
Andreas Kling 08c15be0ca IRCClient: Add ability to send query messages.
You can't open a query yet, but if someone starts one with you, you can
respond at least.
2019-03-15 18:02:38 +01:00
Andreas Kling 1fc283ed7d IRCClient+LibGUI: Add an input box so we can send messages to channels.
Implement this using a GTextEditor with a special single-line mode.
This new mode needs some polishing, but it's already very useful.
2019-03-15 17:37:13 +01:00
Andreas Kling c1f2f5a153 LibGUI: Add a mode where GTableModel automatically activates on selection. 2019-03-15 16:25:30 +01:00
Andreas Kling 1089cd1378 IRCClient: Start using GStackWidget for the subwindows. 2019-03-15 16:12:51 +01:00
Andreas Kling ab92252ee6 IRCClient: Hide all the table view headers. 2019-03-15 14:57:35 +01:00
Andreas Kling a23dddc56f IRCClient: Use a model for the window list. 2019-03-15 14:01:04 +01:00
Andreas Kling eba5fd3f46 IRCClient: Rename IRCSubWindow => IRCClientWindow. 2019-03-15 13:20:46 +01:00
Andreas Kling f004db19d0 IRCClient: Put the unhandled server messages nicely into the server log. 2019-03-15 13:16:29 +01:00
Andreas Kling 850c7504a2 IRCClient: Hacking on IRCClient bringup. 2019-03-15 13:07:04 +01:00
Andreas Kling aa19735c5a IRCClient: Start working on a simple graphical IRC client.
This will be a nice way to exercise both LibGUI and the TCP/IP support. :^)
2019-03-15 12:14:23 +01:00
Andreas Kling 4919b926f4 About: Oops, fill the window with background color. 2019-03-14 19:24:08 +01:00
Andreas Kling b7ad35d040 Terminal: Enough compat work for Lynx to actually load web pages. 2019-03-14 18:33:21 +01:00
Andreas Kling ee0f00c644 Terminal: Use TERM=xterm by default, and implement some more escapes. 2019-03-14 17:39:50 +01:00
Andreas Kling 1565dc3ab3 Terminal: Add some logging for the 'r' final.
I haven't implemented scrolling regions yet, but this will at least give
me some indication that they're being used.
2019-03-14 16:25:19 +01:00
Andreas Kling 5d69bf06d2 LibGUI: Don't fill widgets with background color by defualt. 2019-03-10 13:16:36 +01:00
Andreas Kling 6836e21d1c ProcessManager: Tidy up the memory stats and align everything nicely. 2019-03-10 12:34:44 +01:00
Andreas Kling 37388b311f ProcessManager: Show some basic system memory stats below the process table.
This really improves the feeling of "system overview" :^)
2019-03-10 12:13:22 +01:00
Andreas Kling 0b32ab12f1 ProcessManager: Make the toolbar actions work again.
We can't grab at the ProcessTableModel directly anymore since we have a
sorting proxy model in the middle now.
2019-03-10 02:03:36 +01:00
Andreas Kling ed61fdbc32 Base: Improved FileManager (folder) icon. 2019-03-10 00:58:47 +01:00
Andreas Kling 702adb13c1 TextEditor: Remove the selection from the status bar. 2019-03-09 22:04:54 +01:00
Andreas Kling b8f999cbef About+LibGUI: Use a GBoxLayout for the About app. 2019-03-09 21:09:29 +01:00
Andreas Kling e14dd06b8c FileManager: Hook up a GSortingProxyTableModel so we get sorted files. :^)
The next step here is coming up with a nice way to always put directories
ahead of files.
2019-03-09 14:52:25 +01:00
Andreas Kling 46caa2663b LibGUI: Use a separate data role for the table model sorting order.
This allows data to be displayed nicely while sorting happens based on some
underlying raw data. :^)
2019-03-09 14:24:34 +01:00
Andreas Kling 7d1142c7d9 Make it possible to sort a GTableModel by column+order.
This is accomplished by putting a GSortingProxyTableModel between the model
and the view. It's pretty simplistic but it works for this use case. :^)
2019-03-09 13:33:52 +01:00
Andreas Kling 0680fe2383 ProcessManager: Show the colonel process. 2019-03-09 11:29:32 +01:00
Andreas Kling 48470cdf44 Launcher: Add a launcher button for TextEditor. 2019-03-08 19:53:11 +01:00
Andreas Kling 032549d7bf GTextEditor: Refactor selection into a GTextRange class.
This is a bit more expressive than "selection start + current cursor".
2019-03-08 18:28:24 +01:00
Andreas Kling 35c6dceee0 FileManager: Don't crash if pressing Return with no selected item. 2019-03-08 16:02:00 +01:00
Andreas Kling 48d48679b0 GTextEditor: Work on cut/copy/paste operations. 2019-03-08 14:08:15 +01:00
Andreas Kling 6820f9e14f WindowServer+LibGUI: Add a server-side clipboard.
On the client side, use GClipboard's data() and set_data(String) to access
the global clipboard. :^)
2019-03-08 13:27:19 +01:00
Andreas Kling 6576ac8332 GTextEditor: Add selected_text() function.
I don't have a clipboard to actually put the copied selection onto yet,
so just print the selected text to stdout so we can see what it is.
2019-03-08 01:59:59 +01:00
Andreas Kling b5521e1b0d GTextEditor: Add basic selection support. 2019-03-08 00:49:45 +01:00
Andreas Kling ca52de8e5c TextEditor: Add a menu for switching the editor font. 2019-03-07 23:05:55 +01:00
Andreas Kling 054e4caf49 TextEditor: Add Cut/Copy/Paste placeholder actions. 2019-03-07 21:43:43 +01:00
Andreas Kling a738b5cb69 TextEditor: Open an empty document by default. 2019-03-07 17:15:59 +01:00
Andreas Kling 187d7cb400 GTextEditor: Add write_to_file(String path) :^) 2019-03-07 17:06:11 +01:00
Andreas Kling 3ee0e82206 FileManager: Open non-executable files in TextEditor by default. 2019-03-07 14:43:12 +01:00
Andreas Kling 1ac71d1fb1 GTextEditor: Improvements to cursor rendering.
The view now scrolls along with you as you move the cursor around.
2019-03-07 13:13:25 +01:00
Andreas Kling be0ac86b63 TextEditor: Add New/Open/Save actions.
They aren't hooked up to anything, I just felt like making some icons. ;^)
2019-03-07 01:46:37 +01:00
Andreas Kling c3bb84239e TextEditor: Show the open filename in the window title. 2019-03-07 01:08:07 +01:00
Andreas Kling ca65ca2f2d TextEditor: Show the current cursor position in the statusbar. 2019-03-07 00:46:29 +01:00