Commit graph

1084 commits

Author SHA1 Message Date
Liav A
7cda0b9027 SystemMonitor: Replace 'device' JSON field with 'source' 2020-04-06 15:36:36 +02:00
Tibor Nagy
63b11e094d QuickShow: Miscellaneous improvements
Major changes are:

The layout and mouse handling has been rewritten to always center
images in the window.

QuickShow now accepts multiple images on drag and drop. The first
image gets opened in the current window, further images are opened in
new processes.

QSWidget now loads images on its own with QSWidget::load_from_file().

An on_drop callback has been introduced for QSWidget.

Added an open menu.

Added an about box and placeholder icons to the application.

QuickShow now starts without loading the sunset-retro wallpaper.
2020-04-06 09:04:15 +02:00
Oriko
2c5faa8ff3 FileManager: Add properties action to directory context menu 2020-04-05 16:02:07 +02:00
Tibor Nagy
a4f6f8e0e7 QuickShow: Use checkerboard background to show transparency 2020-04-05 15:30:53 +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
Andreas Kling
1d468ed6d3 AK: Stop allowing implicit downcast with RefPtr and NonnullRefPtr
We were allowing this dangerous kind of thing:

RefPtr<Base> base;
RefPtr<Derived> derived = base;

This patch changes the {Nonnull,}RefPtr constructors so this is no
longer possible.

To downcast one of these pointers, there is now static_ptr_cast<T>:

RefPtr<Derived> derived = static_ptr_cast<Derived>(base);

Fixing this exposed a ton of cowboy-downcasts in various places,
which we're now forced to fix. :^)
2020-04-05 11:19:00 +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
Tibor Nagy
192513ec33 QuickShow: Fix crash on startup
QSWidget::relayout get triggered before setting a bitmap to display
while setting the widget as the main widget of the window.

I've added a null check to the paint event too to make sure the
widget works with no bitmap set.
2020-04-05 09:36:46 +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
8780151155 Browser: Add Reload option to app menu with F5 shortcut key 2020-04-04 11:47:03 +02:00
Andreas Kling
2463a285ee LibGUI: Make GUI::TabWidget::add_tab<T>() return a T&
Since the newly constructed sub-widget is owned by the TabWidget,
we can simply return a T& here. :^)
2020-04-04 11:10:07 +02:00
Andreas Kling
28be90120b Revert "SystemMonitor: Replace 'device' JSON field with 'source'"
This reverts commit 592f218151.

Reverting these changes since they broke things.
Fixes #1608.
2020-04-03 21:28:25 +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
Liav A
592f218151 SystemMonitor: Replace 'device' JSON field with 'source' 2020-04-02 12:03:08 +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
297e6625f3 Browser: Refuse to run as root 2020-03-31 13:02:05 +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
Tibor Nagy
c56acba75e SoundPlayer: Set parent window for AboutDialog 2020-03-30 10:52:09 +02:00
Tibor Nagy
7a61ed4178 Taskbar: Show default window icons when no icons are set
To be consistent with WindowServer.
2020-03-30 10:52:09 +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
Hüseyin ASLITÜRK
7971af474d DisplayProperties: Add options to set the background color and wallpaper mode.
Wallpaper mode and background color change options are now available. Monitor preview
widget show new settings before apply. We have some missing preview features :(
2020-03-29 19:36:37 +02:00
Tibor Nagy
70dc80fa47 SystemMenu: Sort applications alphabetically 2020-03-29 14:58:26 +02:00
Emanuel Sprung
c9059c12dc Browser: Let the user add/remove bookmarks to the bookmarks bar
This patchset adds a Button to the toolbar (right next to the location field)
with a star icon. The star is white if the currently visited url is not yet
bookmarked and yellow if a bookmark for the url exists.

After adding or removing a bookmark, the bookmark json file is synced to disk.
Therefore, some new pledge/unveil's have been added.
2020-03-27 14:12:18 +01:00
Emanuel Sprung
337ade9e4c Browser: Add bookmarks bar
This patchset adds a bookmark bar that is backed by a json file backend.
The json file is loaded and checked for the format. According to the
format, the bookmarks bar is populated with the bookmark items.

If the bookmarks do not fit into one line, an expader button is shown
that brings up a menu containing the missing bookmark items.

There is currently no way to add or remove bookmarks. A hover over a
bookmark is also not yet showing the url in the statusbar.
2020-03-27 14:12:18 +01:00
Emanuel Sprung
a9e943ae4c Browser: Add empty, toogleable bookmarks bar 2020-03-27 14:12:18 +01: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
Nick Tiberi
ca067e71a3
Taskbar: Remove FIXME re: tooltip rendering since it's now working (#1502) 2020-03-23 08:21:34 +01:00
rhin123
073ac3a22f Calendar: Add license header 2020-03-19 22:54:30 +01:00
rhin123
8bc412c80b Calendar: Add a 16x16 app icon 2020-03-19 22:54:30 +01:00
rhin123
19e1cd9fb8 Calendar: Corrected spacing for widgets and rectangles 2020-03-19 22:54:30 +01:00
Tibor Nagy
fc71b73c37 Applications: Remove G prefixes from comments 2020-03-19 22:52:44 +01:00
rhin123
6d26714ded Calendar: Allow the widget to resize with the window 2020-03-19 09:55:14 +01:00
rhin123
5744049b74 Calendar: Make const arrays static as well 2020-03-19 09:55:14 +01:00
rhin123
dc680d57aa Calendar: Don't assign next_month button variable to add_event button 2020-03-19 09:55:14 +01:00
Andreas Kling
47fdac7cea Browser: Fix unintentional Web::Element copy 2020-03-18 17:13:22 +01:00
Itamar
d98fbd192e Terminal: Remove working directory argument
Applications that want to spawn Terminal in a specific
directory should chdir to it before execing it.
2020-03-18 08:23:31 +01:00
Itamar
c18f12bb96 Taskbar: chdir to home directory before launching apps 2020-03-18 08:23:31 +01:00
Itamar
e2b7e7c390 SystemMenu: chdir to home directory before launching apps 2020-03-18 08:23:31 +01:00
Itamar
a4497ce375 FileManager: chdir to appropriate directory before starting Terminal 2020-03-18 08:23:31 +01:00
rhin123
39c21f368a Calendar: Implement basic GUI calendar application 2020-03-18 08:17:01 +01:00
Alex Muscar
838d1c38a1 SystemMenu: Remove the unveil() call for /etc/PowerOptions.ini
The file is not used.
2020-03-16 11:05:48 +00:00