Andreas Kling
56c3748dcc
LibWeb: Rename PageView => InProcessWebView
2020-08-17 18:05:35 +02:00
Andreas Kling
a1e381a0f8
LibGUI: Move GUI::Model::Role to GUI::ModelRole
...
This is preparation for using ModelRole in the ModelIndex API.
2020-08-16 16:44:09 +02:00
Peter Elliott
4bf4a071a6
Applications: Stop setting initial window location
...
This will let the WindowManager choose the location of the window
2020-08-01 08:06:48 +02:00
asynts
21de20825a
LibCore: Change the signature of Socket::send() to use Span.
2020-07-27 19:58:09 +02:00
Andreas Kling
11ff9d0f17
LibWeb: Move DOM classes into the Web::DOM namespace
...
LibWeb keeps growing and the Web namespace is filling up fast.
Let's put DOM stuff into Web::DOM, just like we already started doing
with SVG stuff in Web::SVG.
2020-07-26 20:05:15 +02:00
Andreas Kling
a565121793
LibWeb: Move HTML object model stuff into LibWeb/HTML/
...
Take a hint from SVG and more all the HTML classes into HTML instead of
mixing them with the DOM classes.
2020-07-26 17:51:00 +02:00
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