Tom
65a11fb5f9
LibGUI: Add InputBox::show with required parent window argument
...
Similar to MessageBox::show, this encourages passing in a window.
2020-07-16 16:10:21 +02:00
Andreas Kling
ca93c22ae2
LibGUI: Turn GUI::Application::the() into a pointer
...
During app teardown, the Application object may be destroyed before
something else, and so having Application::the() return a reference was
obscuring the truth about its lifetime.
This patch makes the API more honest by returning a pointer. While
this makes call sites look a bit more sketchy, do note that the global
Application pointer only becomes null during app teardown.
2020-07-04 16:54:55 +02:00
Andreas Kling
1dd1595043
LibGUI: Make GUI::Application a Core::Object
...
Having this on the stack makes whole-program teardown iffy. Turning it
into a Core::Object allows anyone who needs it to extends its lifetime.
2020-07-04 14:05:57 +02:00
Andreas Kling
981f403287
IRCClient: Remove duplicate <div> wrapper around colored messages
2020-06-26 11:59:04 +02:00
Andreas Kling
6c783dbf62
IRCClient: Use Web::Element::set_inner_html()
...
Instead of invoking the (old) fragment parser directly.
2020-06-26 00:53:25 +02:00
Andreas Kling
fdfda6dec2
AK: Make string-to-number conversion helpers return Optional
...
Get rid of the weird old signature:
- int StringType::to_int(bool& ok) const
And replace it with sensible new signature:
- Optional<int> StringType::to_int() const
2020-06-12 21:28:55 +02:00
Andreas Kling
42243d2e06
LibWeb: Rename Web::HtmlView => Web::PageView
...
This widget doesn't just view HTML, it views a web page. :^)
2020-05-28 18:22:54 +02:00
Emanuele Torre
97b5fbda7f
IRCClient: remove some unused headers and replace tabs with spaces
2020-05-28 17:01:31 +02:00
FalseHonesty
112b4de430
IRCClient: Enable history on the message box
2020-05-28 10:33:20 +02:00
Andreas Kling
2adb0a07e5
LibGUI: Get rid of Model::ColumnMetadata and always use auto-sizing
...
Auto-sizing of view columns is now enabled by default. This removes the
last remaining need for ColumnMetadata, so this patch gets rid of it.
2020-05-21 19:55:44 +02:00
Andreas Kling
2e03bded43
LibGUI: Add Model::Role::TextAlignment and remove from ColumnMetadata
2020-05-21 19:55:44 +02:00
Sergey Bugaev
450a2a0f9c
Build: Switch to CMake :^)
...
Closes https://github.com/SerenityOS/serenity/issues/2080
2020-05-14 20:15:18 +02:00
Andreas Kling
f1708b3832
LibWeb: Teach HtmlView how to render Markdown files :^)
2020-05-10 22:32:12 +02:00
Linus Groh
9dbab2d05e
Misc: Replace "String(string_view)" with "string_view.to_string()"
...
StringView::to_string() was added in 917ccb1 but not actually used
anywhere yet.
2020-05-06 19:28:59 +02:00
Andreas Kling
e09b83c60c
LibTextCodec: Start fleshing out a simple text codec library
...
We're starting with a very basic decoding API and only ISO-8859-1 and
UTF-8 decoding (and UTF-8 decoding is really a no-op since String is
expected to be UTF-8.)
2020-05-03 23:01:58 +02:00
Andreas Kling
f0cde70c18
LibGUI: Simplify submenu construction
...
The API for adding a submenu to a menu is now:
auto& submenu = menu.add_submenu("Name");
submenu.add_action(my_action);
2020-04-29 11:48:11 +02:00
Andreas Kling
ab336e895f
LibGUI: Add a ToolBarContainer widget and put most ToolBars in one
...
This mimics the Explorer toolbar container from Windows 2000 and looks
pretty neat! :^)
2020-04-23 17:44:49 +02:00
Brendan Coles
3c9693c6c7
IRCClient: Connect to IRC server URL specified in command line argument
...
The IRCClient application can now connect to a specified IRC server using
a URL with `irc://` protocol as a command line argument.
2020-04-23 09:50:19 +02:00
Andreas Kling
52a250cb61
LibGUI: Make MenuBar a Core::Object
...
This makes it show up in Inspector with all the menus inside it. :^)
2020-04-21 16:19:18 +02:00
Brendan Coles
e87347e1d3
IRCClient: Use sub-menus for app channel menu and member context menu
2020-04-18 19:49:05 +02:00
Brendan Coles
502299919a
IRCClient: Add channel member context menus for common CTCP requests
...
Add menu items for CTCP: USERINFO, FINGER, TIME, VERSION, CLIENTINFO
2020-04-11 14:26:36 +02:00
Brendan Coles
63f8cbfb56
IRCClient: Add NotifyOnMessage/NotifyOnMention config options
...
Allow IRCClient user to opt out of notifications.
2020-04-10 13:16:07 +02:00
Brendan Coles
df7b617ba1
IRCClient: Add ShowNickChangeMessages/ShowJoinPartMessages conf options
...
Allow IRCClient to hide nick change spam and join/part spam
2020-04-10 12:56:19 +02:00
Brendan Coles
68c7ca7d3b
IRCClient: Autojoin channels after client registration
...
Wait for the server to advise negotiation was successful (RPL_WELCOME)
before autojoining channels.
Fixes #1713
2020-04-10 11:29:46 +02:00
Brendan Coles
d95362d8cd
IRCClient: Set nick and userinfo to OS username when not set in config
2020-04-09 17:18:56 +02:00
Brendan Coles
5c90cfa90f
IRCClient: Add application and context menu items to hop/dehop users
2020-04-08 19:53:40 +02:00
Brendan Coles
e4ba949a15
IRCClient: Open query on double click of nick in channel member list
2020-04-08 18:42:01 +02:00
Brendan Coles
036fb4c621
IRCClient: Add nick_without_prefix and nick_at helpers
...
`IRCChannelMemberListModel->nick_at` returns the nick name of a channel
member at the specified index.
`IRCClient->nick_without_prefix` returns a formatted nick name without
privilege prefix.
2020-04-08 18:42:01 +02:00
Brendan Coles
44f8161166
IRCClient: Remove FIXME for RPL_TOPICWHOTIME
...
RPL_TOPICWHOTIME is handled by handle_rpl_topicwhotime.
2020-04-08 14:06:03 +02:00
Brendan Coles
9126859679
IRCClient: Rename /hop command to /cycle
...
Some IRC clients use /hop to part and re-join a channel; however this
can be confused with granting half-op (+h) channel privileges to a user.
The general convention used by other IRC clients is /cycle.
2020-04-08 11:42:05 +02:00
Brendan Coles
0f91045008
IRCClient: Add right-click context menu to IRCWindow member list
2020-04-07 21:27:06 +02:00
Brendan Coles
ddb8597c0c
IRCClient: Allow CTCP replies to be user configurable in IRCClient.ini
2020-04-05 15:29:48 +02:00
Brendan Coles
a1b57216b8
IRCClient: Add handling for server responses and BANLIST command
2020-04-05 12:49:33 +02:00
Brendan Coles
4ea71c9571
IRCClient: Add support for raw protocol commands with /RAW
2020-04-05 10:39:36 +02:00
Brendan Coles
55b25b3c9b
IRCClient: Add icons for channel list, channel invite, channel topic
2020-04-05 09:37:19 +02:00
Andreas Kling
26eeaef0a8
LibGUI: Add MenuBar::add_menu(name)
...
This allows us to construct menus in a more natural way:
auto& file_menu = menubar->add_menu("File");
file_menu.add_action(...);
Instead of the old way:
auto file_menu = GUI::Menu::construct();
file_menu->add_action(...);
menubar->add_menu(file_menu);
2020-04-04 12:58:05 +02:00
Brendan Coles
40b3203941
IRCClient: Update channel user list when a user joins or quits
2020-04-02 21:50:02 +02:00
Brendan Coles
6bf47252dc
IRCClient: Add is_channel_prefix to check if string is a channel name
2020-04-02 15:39:57 +02:00
Brendan Coles
526386a6ba
IRCClient: Automatically disable/enable GUI actions upon window change
...
Toolbar and menu items related to channel operations are now enabled
only when the active window is a channel.
2020-04-02 15:07:32 +02:00
Brendan Coles
855f9286fa
IRCClient: Add channel operations to Channel application menu
...
Add menu options to invite user, op/deop/voice/devoice user,
and cycle channel.
2020-04-02 14:39:05 +02:00
Brendan Coles
b3d8ce44a2
IRCClient: Use active channel window for part,hop,topic,kick commands
...
The /part, /hop, /topic, /kick commands will now default to the
currently active window if no channel name was provided.
2020-04-02 08:54:54 +02:00
Brendan Coles
175ec99814
IRCClient: Add Channel application menu and LIST and KICK commands
...
The new Channel application menu allow offers various commands
related to the currently visible channel, including changing
the topic, kicking a user, and leaving the channel.
2020-04-01 13:11:46 +02:00
Brendan Coles
2de2f49abc
IRCClient: Add support for /HOP and /TOPIC commands
2020-03-31 18:06:30 +02:00
Andreas Kling
b2b5da8a17
IRCClient: Refuse to run as root
...
There's no good reason to allow this, and some pretty great reasons
to disallow it. :^)
2020-03-31 13:02:05 +02:00
Andreas Kling
7cfe712f4d
LibGfx+LibIPC: Add Gfx::ShareableBitmap, a bitmap for easy IPC usage
...
With this patch, it's now possible to pass a Gfx::ShareableBitmap in an
IPC message. As long as the message itself is synchronous, the bitmap
will be adopted by the receiving end, and disowned by the sender nicely
without any accounting effort like we've had to do in the past.
Use this in NotificationServer to allow sending arbitrary bitmaps as
icons instead of paths-to-icons.
2020-03-29 19:37:23 +02:00
Andreas Kling
d52c5a94b4
IRCClient: Use the IRCClient app icon in notifications :^)
2020-03-26 20:39:36 +01:00
Andreas Kling
3c29818048
IRCClient: Only notify about channel messages containing our nickname
2020-03-26 20:18:22 +01:00
Andreas Kling
163812df97
IRCClient: Post desktop notifications when messaged while inactive
...
If you receive a channel or query message while the app is inactive,
or while the channel/query is inactive, we now post a desktop
notification so you can learn that something is happening. :^)
2020-03-26 20:11:23 +01:00
Andreas Kling
9c9d3f0904
LibWeb: Parse <script> elements and run any JavaScript found inside
...
This patch begins integrating LibJS into LibWeb. Document holds the
JS::Interpreter for now, and it is created on demand when you first
call Document::interpreter().
We also add a simple "alert()" function to the global object.
2020-03-14 13:25:38 +01:00
Tibor Nagy
f347dd5c5e
Applications: Use "Document - AppName" window title format
...
Fixes #1444
2020-03-13 23:30:12 +01:00