Bug 361071 - Weather Forecast Widget - Cannot save configuration when loaded in system tray
Summary: Weather Forecast Widget - Cannot save configuration when loaded in system tray
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: general (show other bugs)
Version: 5.6.0
Platform: Arch Linux Linux
: NOR minor
Target Milestone: 1.0
Assignee: David Edmundson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-03-28 04:49 UTC by aexoxea
Modified: 2016-04-24 05:22 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.6.3


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description aexoxea 2016-03-28 04:49:35 UTC
(Apologies for placing in General; I'm not sure if this is a System Tray issue or a Widget issue. Will try to get back to you in a timely fashion for any info needed for re-assignment.)

The Weather Forecast Widget is listed as an "Extra Item" that can be activated in the System Tray. However, it is not useful as there is no default weather station configuration, and a new weather station cannot be set; you can bring up the configuration dialog, search for and set a weather station, but the "Apply" button is never activated and the weather station is not saved when you select the "OK" button.

This also applies to other settings (the update frequency and units). You also can't work around this by switching between the configuration modules, as the usual 'unsaved changes' prompt never shows. It's as though you've changed nothing, even though you have.

The Widget can be configured fine when added directly to a panel, or to the desktop (both of which serve as workarounds), so it's just when activating it as a System Tray Extra Item.

(If the Widget is not meant to be available as a System Tray Extra Item, then I'm happy for this bug to be closed once the configuration that causes it to be available there is removed; however, I will leave that to those who know whether this is intended or not.)

Reproducible: Always

Steps to Reproduce:
1. Create a panel and add a System Tray to it.
2. Access the System Tray Settings, "Entries" module, and enable "Weather Forecast". The Widget appears by default as a blank space in the System Tray.
3. Access Weather Forecast Settings for that Widget, either "Weather Station" or "Units" modules, and change one or more settings. Note that the "Apply" button does not activate.
4. Press the "OK" button. Note that the Widget does nothing.
5. Re-access Weather Forecast Settings for that Widget. Note that none of the settings that you changed were saved.

Actual Results:  
Widget is not configured and does nothing; re-opening the configuration dialog shows changes not saved.

Expected Results:  
Widget is configured and loads the weather for the specified weather station.

plasmashell logs various warnings when accessing the Weather Forecast Widget's configuration dialog. There are two key differences to what happens when doing this for the Widget in the System Tray vs. the Widget directly on the panel/desktop, which may be relevant:

(1) The following warnings are logged for Widget in System Tray which are NOT logged for Widget directly in Panel/Desktop:

plasmashell: file:///usr/share/plasma/plasmoids/org.kde.plasma.weather/contents/ui/configWeatherStation.qml:63: TypeError: Cannot read property 'nativeInterface' of null
plasmashell: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/configuration/AppletConfiguration.qml:75: TypeError: Cannot read property 'configuration' of null

(2) The following warnings are logged for Widget directly in Panel/Desktop which are NOT logged for Widget in System Tray:

plasmashell: Calling KPluginInfo::property("Name") is deprecated, use KPluginInfo::name() in "/usr/lib/qt/plugins/plasma/dataengine/ion_noaa.so" instead.
plasmashell: Calling KPluginInfo::property("Name") is deprecated, use KPluginInfo::name() in "/usr/lib/qt/plugins/plasma/dataengine/ion_wettercom.so" instead.
plasmashell: Calling KPluginInfo::property("Name") is deprecated, use KPluginInfo::name() in "/usr/lib/qt/plugins/plasma/dataengine/ion_envcan.so" instead.
plasmashell: init()
plasmashell: RRRR <big_number>

(...where <big_number> is different each time.)
Comment 1 aexoxea 2016-04-24 05:22:13 UTC
This has been resolved in Plasma 5.6.3 by making the Weather Forecast Widget no longer available as a System Tray Extra Item (see commit reference with comment "[Weather] do not allow in NotificationArea, broken in Plasma 5.6").

I am consequently updating the bug details and setting the status as RESOLVED/FIXED; if this is not appropriate protocol, please let me know.