Add support to drag and drop ICS files from external applications
This MR adds support to DnD ICS files in the main window. It introduces a visual feedback similar to the one used in Amberol to indicate that a DnD operation is happening, via the new GcalDropOverlay widget. The import dialog will not be shown if none of the files provided are calendars, and the checks to verify that they are valid are done in a separate thread so the UI doesn't freeze.
The overlay covers the whole window and shows a message indicating the operation that will be performed:
Light Mode | Dark Mode |
---|---|
When a single file that was dropped was not an ICS file, a toast will be shown indicating that the operation failed, showing the filename if it's just one file. Additionally, the toast is shown in the main window when all files could not be imported, and it is shown in the import dialog if just some of them failed.
Single File | Multiple Files |
---|---|