summaryrefslogtreecommitdiff
path: root/Applications/IRCClient
AgeCommit message (Collapse)Author
2019-09-22LibCore: Remove ObjectPtr in favor of RefPtrAndreas Kling
Now that CObject is fully ref-counted, just use RefPtr everywhere! :^)
2019-09-22LibCore: Make CObject reference-countedAndreas Kling
Okay, I've spent a whole day on this now, and it finally kinda works! With this patch, CObject and all of its derived classes are reference counted instead of tree-owned. The previous, Qt-like model was nice and familiar, but ultimately also outdated and difficult to reason about. CObject-derived types should now be stored in RefPtr/NonnullRefPtr and each class can be constructed using the forwarding construct() helper: auto widget = GWidget::construct(parent_widget); Note that construct() simply forwards all arguments to an existing constructor. It is inserted into each class by the C_OBJECT macro, see CObject.h to understand how that works. CObject::delete_later() disappears in this patch, as there is no longer a single logical owner of a CObject.
2019-09-21LibGUI: Don't create GMessageBox and GInputBox on the stackAndreas Kling
We need to get rid of all instances of widgets-on-the-stack since that will no longer work in the ref-counting world.
2019-09-21LibGUI: Convert remaining random little things to ObjectPtrAndreas Kling
2019-09-21LibGUI: Convert GWidget to ObjectPtrAndreas Kling
2019-09-21LibGUI: Convert GToolBar to ObjectPtrAndreas Kling
2019-09-21LibGUI: Convert GSplitter to ObjectPtrAndreas Kling
2019-09-21LibGUI: Convert GTableView to ObjectPtrAndreas Kling
2019-09-21LibGUI: Convert GTextBox, GTextEditor and GResizeCorner to ObjectPtrAndreas Kling
2019-09-21LibCore: Convert CTCPServer to ObjectPtrAndreas Kling
Also get rid of the custom CNotifier::create() in favor of construct().
2019-09-21LibCore: Convert CTCPSocket to ObjectPtr, add construct() helperAndreas Kling
The C_OBJECT macro now also inserts a static construct(...) helper into the class. Now we can make the constructor(s) private and instead call: auto socket = CTCPSocket::construct(arguments); construct() returns an ObjectPtr<T>, which we'll later switch to being a NonnullRefPtr<T>, once everything else in in place for ref-counting.
2019-09-20LibCore: Convert CNotifier to ObjectPtrAndreas Kling
2019-09-14LibGUI: Simplify GCommonActions a bitAndreas Kling
Use the same callback signature as GAction so we can just forward it to GAction instead of chaining callbacks.
2019-09-13IRCClient: Fix unneeded conversion to StringMinusGix
2019-09-07IRCClient: Fix window selection after GModelSelection changesAndreas Kling
2019-09-06AK: Rename <AK/AKString.h> to <AK/String.h>Andreas Kling
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. :^)
2019-09-05IRCCient: Added GCommonActionsrhin123
2019-09-04IRCClient: Use GAboutDialog :^)Andreas Kling
2019-09-04IRCClient: Size columns to-fit in the window and member viewsAndreas Kling
2019-09-04IRCClient: Add 16x16 iconAndreas Kling
2019-09-04IRCClient: Tweak UI to look less padding-bloatedAndreas Kling
2019-09-04IRCClient: Make the auto-join on connect feature actually do somethingAndreas Kling
2019-09-03IRCClient: Don't auto-open new queries for NOTICE or CTCP messagesAndreas Kling
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-03IRCClient: Handle incoming CTCP requests VERSION and PINGAndreas Kling
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-07-25LibCore: Introduce a C_OBJECT macro.Andreas Kling
This macro goes at the top of every CObject-derived class like so: class SomeClass : public CObject { C_OBJECT(SomeClass) public: ... At the moment, all it does is create an override for the class_name() getter but in the future this will be used to automatically insert member functions into these classes.
2019-07-23LibGUI: Get rid of GWindow::should_exit_event_loop_on_close().Andreas Kling
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-20GWidget: Add set_preferred_size(width, height) overload.Andreas Kling
It was annoying to always write set_preferred_size({ width, height }). :^)
2019-07-18LibDraw: Introduce (formerly known as SharedGraphics.)Andreas Kling
Instead of LibGUI and WindowServer building their own copies of the drawing and graphics code, let's it in a separate LibDraw library. This avoids building the code twice, and will encourage better separation of concerns. :^)
2019-07-13IRCClient: Implement "/msg <nick> ..."Andreas Kling
2019-07-13IRCClient: Open query window immediately when created by the user.Andreas Kling
When handling "/query nick", we now immediately switch to the new query.
2019-07-13IRCClient: Make the channel and query mappings case-insensitive.Andreas Kling
This allows us to send a message to "nickserv" and receive a response from "NickServ" without getting confused. :^)
2019-07-13IRCClient: Process incoming NOTICE messages like PRIVMSG.Andreas Kling
They should be handled slightly differently, but at least now we're doing *something* withthem.
2019-07-11IRCClient: Remove use of copy_ref().Andreas Kling
2019-07-07IRCClient: Fix build. Forgot to update a function signature.Andreas Kling
2019-07-07IRCClient: Implement the "part from channel" action.Andreas Kling
Also make sure the action is disabled while we're not in a window that corresponds to an open channel. :^) Fixes #277.
2019-06-30Meta: Removed all gitignore in the source tree only keeping the root oneVAN BOSSUYT Nicolas
2019-06-30GUI: Use Win2K-like "warm gray" color instead of the older colder gray.Andreas Kling
Someone suggested this a long time ago and I never got around to it. So here we go, here's the warm gray! I have to admit I like it better. :^)
2019-06-25Move common Application build steps into their own Makefile.commonLawrence Manning
Further consolidation is of course possible, eg the Games/ programs follow the same rules more or less.
2019-06-21AK: Rename Retainable.h => RefCounted.h.Andreas Kling
2019-06-21AK: Rename RetainPtr.h => RefPtr.h, Retained.h => NonnullRefPtr.h.Andreas Kling
2019-06-21AK: Rename RetainPtr => RefPtr and Retained => NonnullRefPtr.Andreas Kling
2019-06-21AK: Rename Retainable => RefCounted.Andreas Kling
(And various related renames that go along with it.)
2019-06-07Meta: Tweak .clang-format to not wrap braces after enums.Andreas Kling
2019-06-07Applications: Run clang-format on everything.Andreas Kling
2019-05-28Add clang-format fileRobin Burchell
Also run it across the whole tree to get everything using the One True Style. We don't yet run this in an automated fashion as it's a little slow, but there is a snippet to do so in makeall.sh.
2019-05-27can now tile background and made sure the IRC choose server popup still worksChristopher Dumas
2019-05-27IRC client setttings, Terminal settings, more WM settingsChristopher Dumas
2019-05-13Fix "make clean" not deleting app binaries.Andreas Kling
2019-05-11IRCClient: Tweak appearance.Andreas Kling
2019-05-09LibGUI: Remove GModel activations to GAbstractView.Andreas Kling
Now you can hook activation via GAbstractView::on_activation. The design still isn't quite right, we should eventually move the selection away from the model somehow.