Brendan Coles
5ed7ca3627
Applications: Use GUI::Icon::default_icon to set application icon
2020-11-02 21:06:17 +01:00
asynts
1254cbbd0b
AK: Eradicate calls to warn().
2020-10-25 18:52:51 +01:00
asynts
59e7ffa86d
AK: Make the return type of dbgputstr consistent.
2020-10-04 19:18:32 +02:00
Andreas Kling
4cf3a1eb41
Browser: Remove dbgln() statement that was crashing on startup
...
Don't have time to dig into this right now, but let's unbreak Browser.
2020-10-04 17:12:11 +02:00
Andreas Kling
6f5322409d
Browser: Fix build after dbgf() -> dbgln() rename
2020-10-04 17:09:01 +02:00
asynts
616af36d91
Browser: Use format functions instead of printf.
2020-10-04 14:23:25 +02:00
asynts
1cb8be9906
Applications+IRCClient: Use new format functions.
2020-09-23 21:45:28 +02:00
Andreas Kling
1307f7292c
Browser: Set tab text alignment from JSON GUI
2020-09-14 19:55:17 +02:00
Andreas Kling
856f683dc9
Browser: Generate the main browser window UI from JSON :^)
2020-09-14 19:55:17 +02:00
Ben Wiederhake
84e112be6b
Browser: Avoid ninja-import of global variable
2020-08-12 20:40:59 +02:00
Andreas Kling
ad2e84b71a
Browser: Move bookmarks.json to ~/.config
2020-08-05 17:40:47 +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
Andreas Kling
a94ef9e021
Browser: Add a way to start Browser in multi-process mode :^)
...
You can enable the new multi-process mode by using "Browser -m".
2020-07-06 21:50:45 +02:00
Andreas Kling
d8be535579
Browser+LibWeb: Pave the way for using WebContentView in Browser
...
This commit sets everything up, but we still always instantiate a plain
Web::PageView in Browser::Tab..
2020-07-06 21:46:37 +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
6293d1a13c
LibWeb+Browser: Remove old HTML parser :^)
...
The new parser is now used everywhere and it's working pretty well!
2020-06-26 00:53:25 +02:00
Andreas Kling
10255bc5c6
LibWeb+Browser: Decode non-animated images out-of-process :^)
...
We now use the ImageDecoder service in LibWeb for everything except
GIF images (we'll have to deal with them later, ofc.)
This has a little bit of overhead but we should be able to optimize
it until it becomes negligible.
2020-06-22 21:47:01 +02:00
Andreas Kling
68ae1de463
Browser: Be a little bit smarter about interpretering command line URLs
...
If the (optional) URL specified on the command line is an existing file
we now resolve its real path before turning into a URL. This makes
relative URLs inside the loaded document work correctly.
Also interpret all other specified URLs the same way we would if you
had typed them into the location bar.
2020-06-12 21:29:27 +02:00
Andreas Kling
6ed11f1d1c
LibWeb: Move ResourceLoader into a new Loader/ directory
2020-06-01 20:42:50 +02:00
Andreas Kling
8766e49a7c
LibWeb+Browser: Use the new HTML parser by default
...
You can still run the old parser with "br -O", but the new one is good
enough to be the default parser now. We'll fix issues as we go and
eventually remove the old one completely. :^)
2020-06-01 19:08:31 +02:00
Andreas Kling
2cb50f6750
LibWeb+Browser: Add ability to run Browser with the new HTML parser
...
You can now pass "-n" to the browser to use the new HTML parser.
It's not turned on by default since it's still very immature, but this
is a huge step towards bringing it into maturity. :^)
2020-05-27 21:57:30 +02:00
FalseHonesty
e4760e5b42
Browser: Add option in DownloadWidget to open download's in folder
...
When a download has completed, instead of graying out the cancel
option, replace it with an option to open your download in the file
manager.
2020-05-26 21:09:45 +02:00
FalseHonesty
9241c3a957
Browser: Pop up a context menu when one is requested on a tab
...
Currently, the tab's context menu only has options to reload and
close, but this patch allows for those options to be quickly
expanded!
2020-05-21 21:53:17 +02:00
Linus Groh
e5ea243842
Browser: Hide tab bar if there's only one tab
2020-05-19 17:42:48 +02:00
Andreas Kling
5fcd25e8f6
Browser: Use "about:blank" as the default home page
...
This can be overridden in Browser.ini, but if there's no value there,
we now use "about:blank"
2020-05-10 11:18:47 +02:00
FalseHonesty
60024ab574
Browser: Close tabs when middle clicked
2020-05-09 23:54:20 +02:00
Andreas Kling
5b4b72e699
Browser: Don't put favicons as the window icon
...
It's nicer to always use the browser's own app icon instead. :^)
2020-04-28 20:31:51 +02:00
Andres Vieira
88368df9a2
Base+Browser: Add an icon for the serenity Browser and make it use it
...
Browser was using the filetype-html icon instead of a dedicated one, so
we now have the globe from that icon reimagined and in good Buggie
company :^)
2020-04-26 21:13:57 +02:00
Andreas Kling
9093625546
Browser: Unveil /etc/passwd so we can find our home directory if needed
...
Fixes #1952 .
2020-04-25 17:21:59 +02:00
Andreas Kling
bd45b2b8d3
Browser: Share one BookmarksBarWidget between all Tabs
2020-04-25 17:20:23 +02:00
Brendan Coles
6dde2c7f47
Browser: Add Browser.ini configuration file
...
The Browser can now load a home page URL from the user's Browser.ini
configuration file rather than using a hard-coded URL.
2020-04-25 10:55:55 +02:00
Andreas Kling
260e4049ff
Browser: Use the active tab's favicon as the window icon :^)
2020-04-24 22:47:53 +02:00
Andreas Kling
d6bbf12b7c
LibGUI: Add "uniform tabs" mode to TabWidget (all tabs have same width)
...
...and enable this in the main Browser UI. :^)
2020-04-24 22:36:25 +02:00
Andreas Kling
682f0ac93b
Browser: React to favicon notifications and put favicons in the tabs!
2020-04-24 22:28:05 +02:00
Andreas Kling
3fcfab4404
Browser: Move the "About" action to WindowActions
2020-04-24 20:50:06 +02:00
Andreas Kling
dfe8dea2ac
Browser: Remove padding from the main TabWidget
...
This makes the active tab "take over" the whole window UI, even though
it's actually inside a TabWidget.
2020-04-24 20:42:34 +02:00
Linus Groh
896decd4d5
Browser: Open links with target="_blank" in new tab
2020-04-24 14:34:11 +02:00
Andreas Kling
1b8b492258
Browser: Add "next tab" and "previous tab" actions
...
Now you can switch between the open tabs with Ctrl+PgUp and Ctrl+PgDn
2020-04-23 21:43:24 +02:00
Andreas Kling
312501f309
Browser: Add "Close tab" action (Ctrl+W) :^)
...
Note that this is a little bit unreliable with the keyboard shortcut
since LibGUI can get confused about which Action it's supposed to use
as each Browser::Tab has its own "close tab" action. This will need
to be fixed in LibGUI.
2020-04-23 21:36:17 +02:00
Andreas Kling
476a4475e5
Browser: Add "New tab" action (Ctrl+T) :^)
...
This also introduces a WindowActions collection of actions that are not
specific to the currently open tab, but nevertheless part of its menus.
2020-04-23 21:28:25 +02:00
Andreas Kling
4e8b6e48fd
Browser: Start implementing tabbed browsing! :^)
...
This patch moves most of the Browser UI into a Tab class. The main UI
now mainly consists of a GUI::TabWidget that Tab objects are added to.
I'm going with the "tabs on top" style here, since I like how it makes
it feel like each tab has its own UI controls (which it actually does!)
2020-04-23 21:16:11 +02:00
Andreas Kling
0af5e0b9f8
Applications: Tweak main layout spacing and background
2020-04-23 18:30:59 +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
Andreas Kling
705cee528a
LibGUI: Make it easier to create checkable GUI::Actions
...
This patch adds GUI::Action::create_checkable() helpers that work just
like the existing create() helpers, but the actions become checkable(!)
Clients are no longer required to manage the checked state of their
actions manually, but instead they will be checked/unchecked as needed
by GUI::Action itself before the activation hook is fired.
2020-04-21 17:21:28 +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
Sergey Bugaev
eacde6c499
Browser: Fix opening non-file URLs passed in argv
2020-04-19 11:14:26 +02:00
Andreas Kling
afb9ee2af8
Browser: Use URL::create_with_file_protocol() in one place
2020-04-18 22:02:41 +02:00
Nick Tiberi
e639c5bc25
Browser: Default page title to URL if no title is provided
2020-04-15 08:39:11 +02:00
Andreas Kling
8ef9c272b6
Browser: Accept file:// URLs on the command line
...
This could be a lot nicer, but at least we can open file:// URLs now.
2020-04-11 23:11:10 +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