Commit Graph

12149 Commits

Author SHA1 Message Date
Florian Müllner
f3d1c78c7d calendar: Use relative times for notification timestamps
For notifications in the message list, it is usually less relevant
when exactly it occurred, but how long ago. So rather than showing
the exact time and expecting the user to figuring out the timespan
themselves, change the format to something human readable.

https://bugzilla.gnome.org/show_bug.cgi?id=775763
2017-03-01 10:55:21 +01:00
Florian Müllner
c4f2bb5fe0 messageList: Keep secondary actor when showing close button
Currently the secondary actor (if set) and the close button are
exclusive, that is the latter replaces the former on hover. As
the swapping feels rather busy and there's no real reason both
cannot be shown at the same time, keep the secondary actor always
visible.
A welcome side effect is that it no longer needs to be placed at
the end, so we can move the notification timestamp right next to
the corresponding title.

https://bugzilla.gnome.org/show_bug.cgi?id=775763
2017-03-01 10:55:21 +01:00
Florian Müllner
fec511c786 calendar: Only show section title for other days
The section titles usually don't provide a lot of value - messages
themselves are usually pretty unambiguous about their type, and
having a hidden shortcut to some settings panel or application isn't
essential either - except when showing the selected date when browsing
other days, as it adds context to the listed events. Based on that,
remove the section title as a general MessageListSection feature and
move it into the EventsSection, where we only show it when it is useful.

https://bugzilla.gnome.org/show_bug.cgi?id=775763
2017-03-01 10:55:09 +01:00
Florian Müllner
8a6157c7c1 messageList: Remove section clear button
With the new "Clear All" button in the message list as a replacement,
we can remove the individual clear buttons from the sections.

https://bugzilla.gnome.org/show_bug.cgi?id=775763
2017-03-01 10:54:32 +01:00
Florian Müllner
d3bb7903e2 calendar: Add "Clear All" button to message list
We will eventually remove section titles from the message list to
reduce visual noise and give the actual information provided by
the messages more space. So in order to not lose the ability to
mass-dismiss messages, the latest mockups spot a "Clear All" button
at the bottom - implement that.

https://bugzilla.gnome.org/show_bug.cgi?id=775763
2017-03-01 10:53:52 +01:00
Florian Müllner
239b67eff6 messageList: Make canClear public and notify on changes
The latest mockups contain a button to clear all sections at once.
As some elements cannot be cleared, we need to provide that information
to avoid offering an action that has no effect.

https://bugzilla.gnome.org/show_bug.cgi?id=775763
2017-03-01 10:52:43 +01:00
Florian Müllner
0e0caee6ba weather: Skip loading indication when updating frequently
Weather conditions - at least as far as online services are
concerned - don't usually change in a couple of minutes.
So when updating shortly after a previous update, assume
the current conditions are still valid and trigger an
update without showing a loading indication. This should
help a bit with not getting stuck permanently in loading
state when on a shitty network.

https://bugzilla.gnome.org/show_bug.cgi?id=754031
2017-03-01 10:52:43 +01:00
Florian Müllner
62606c68b9 dateMenu: Add Weather section
Similar to the Clocks integration we've had in the date+time drop-down for
a while, the designs have called for a similar section that integrates
GNOME weather as well. Use the WeatherClient added in the previous commit
to implement that section and add it to the popover.

https://bugzilla.gnome.org/show_bug.cgi?id=754031
2017-03-01 10:52:13 +01:00
Florian Müllner
da831e894c weather: Add WeatherClient
In preparation of integrating GNOME Weather, add a helper class that
retrieves weather information according to Weather's configuration
if the application is installed.

https://bugzilla.gnome.org/show_bug.cgi?id=754031
2017-02-28 16:12:46 +01:00
Florian Müllner
4b166dcc79 dateMenu: Do a better job at size freezing while browsing dates
In order to avoid distracting popup size changes while browsing
other dates, we freeze the size to the last size request. However
in case of more complex size negotiations - wrapping or ellipsizing
labels, scrollable elements etc. - there's a chance of stray calls
to get_preferred_width/height() that are not used for the actual
allocation. If such a call happens to be the last size request
before the layout is frozen, the saved size will be wrong. To fix
this, save the allocated size rather than the requested one.

https://bugzilla.gnome.org/show_bug.cgi?id=754031
2017-02-27 21:23:48 +01:00
Florian Müllner
796fdca5c5 dateMenu: Enforce calendar column width
We want the width of the calendar column to be determined by the
calendar, other elements should adjust their allocation accordingly.
However neither ellipsization nor wrapping will kick in unless the
parent's width is restricted, so use a small custom layout manager
that enforces the desired behavior.

https://bugzilla.gnome.org/show_bug.cgi?id=754031
2017-02-27 21:23:47 +01:00
Florian Müllner
c6f22826cf telepathyClient: Update notification time from message
As the telepathy integration picks up existing channels on startup,
ChatNotifications are another case where the real time the message
was received may be before the time it is picked up by the shell.
While this is less of an annoyance than restored GNotifications, as
it generally only affects restarts from the run dialog, it's an
easy fix now ...

https://bugzilla.gnome.org/show_bug.cgi?id=775799
2017-02-27 20:04:09 +01:00
Florian Müllner
4e491b6f75 notificationDaemon: Include timestamp in serialized notifications
GNotifications are persistent until dismissed or withdrawn, including
across restarts. As we show the time a notification was received in the
calendar, we need to include that information when serializing the
notification in order to be correct.

https://bugzilla.gnome.org/show_bug.cgi?id=775799
2017-02-27 20:04:09 +01:00
Florian Müllner
0569bb18f5 messageTray: Add optional datetime parameter to notifications
Since the last notification redesign, we've been showing the time a
notification was received in the calendar drop-down. However as the
time is in fact added by the NotificationSection, it is actually the
time a notification was added to the list. Usually that difference is
not significant, except when previously received notifications are
restored on startup.
In order to be able to address those cases, we need a time that is
associated with the notification itself, so add a datetime property
that defaults to the current time, but may be set from an optional
parameter as well.

https://bugzilla.gnome.org/show_bug.cgi?id=775799
2017-02-27 20:04:08 +01:00
Florian Müllner
0353ebde5d dateMenu: Use AppSettingsMonitor for world clocks
When gnome-clocks is installed, there is currently a race between the
GSettings schema being added to the database and the world clocks
session trying to use it. The prize if we win that race is an abort
in GIO, so use the newly added AppSettingsMonitor skip the race
altogether.

https://bugzilla.gnome.org/show_bug.cgi?id=766410
2017-02-27 20:02:16 +01:00
Florian Müllner
b5130c5943 util: Add AppSettingsMonitor
When integrating with optional components like Clocks, it is not safe
to access their GSettings right after the application became visible
to the AppSystem:
Installation is usually not atomic, so the .desktop file may appear
before the settings schema, in which case Gio will abort due to an
"invalid" schema ID.
To address this, add a small helper class that wraps the settings
access in a safe way.

https://bugzilla.gnome.org/show_bug.cgi?id=766410
2017-02-27 20:02:16 +01:00
Chao-Hsiung Liao
d54db8ffb3 Update Chinese (Taiwan) translation 2017-02-27 00:09:50 +00:00
Florian Müllner
0ff5fc8dbb viewSelector: Fix another case of mixing GJS and GObject signals
This is the same issue fixed in commit e08f2a4a04 for several other
classes, but this one somehow slipped through ...
2017-02-26 15:01:24 +01:00
Balázs Meskó
32ec9959ef Update Hungarian translation 2017-02-26 11:57:03 +00:00
Мирослав Николић
838721fc31 Updated Serbian translation 2017-02-26 10:05:55 +01:00
Мирослав Николић
63e9c98248 Updated Serbian translation 2017-02-26 08:50:16 +01:00
Fran Dieguez
6df30cbb64 Updated Galician translations 2017-02-26 02:24:50 +01:00
Rafael Fontenelle
c102a89962 Update Brazilian Portuguese translation 2017-02-25 11:50:10 +00:00
Fabio Tomat
ff5e39ab79 Update Friulian translation 2017-02-23 23:40:42 +00:00
Bastien Nocera
607b2efcce network: Don't start portal helper under GDM
https://bugzilla.gnome.org/show_bug.cgi?id=769546
2017-02-22 16:21:40 +01:00
Milo Casagrande
27d010110a Update Italian translation 2017-02-21 18:10:58 +00:00
Kukuh Syafaat
e13602b896 Update Indonesian translation 2017-02-21 14:51:26 +00:00
Daniel Korostil
6777670f0d Updated Ukrainian translation 2017-02-20 13:49:49 +02:00
Piotr Drąg
b05739fa7e Update Polish translation 2017-02-19 21:48:47 +01:00
Kjartan Maraas
38854fb06a Updated Norwegian bokmål translation. 2017-02-19 16:34:42 +01:00
Jiri Grönroos
b091cfea80 Update Finnish translation 2017-02-18 18:41:55 +00:00
Aurimas Černius
a8955ffe05 Updated Lithuanian translation 2017-02-18 17:35:15 +02:00
Dušan Kazik
475fd72ae1 Update Slovak translation 2017-02-18 08:54:07 +00:00
Daniel Mustieles
31675d1812 Update Spanish translation 2017-02-17 10:46:15 +00:00
Inaki Larranaga Murgoitio
cbb0c1c091 Update Basque language 2017-02-16 22:00:08 +01:00
Inaki Larranaga Murgoitio
c1234f7793 Update Basque language 2017-02-16 16:58:12 +01:00
Carlos Garnacho
1e6c44cb6b autogen: Drop usage of gnome-common 2017-02-16 16:45:44 +01:00
Ask Hjorth Larsen
2202b9330f Updated Danish translation 2017-02-16 14:24:52 +01:00
Jordi Mas
0b332fc019 Update Catalan translation 2017-02-16 06:34:51 +01:00
Baurzhan Muftakhidinov
4f4163eb05 Update Kazakh translation 2017-02-16 04:06:43 +00:00
Piotr Drąg
649d360289 Use Unicode in translatable strings
See https://developer.gnome.org/hig/stable/typography.html

https://bugzilla.gnome.org/show_bug.cgi?id=772210
2017-02-16 02:07:14 +01:00
Piotr Drąg
9bcdd9c274 Update POTFILES.in 2017-02-16 02:02:40 +01:00
Florian Müllner
fbc60199bc Bump version to 3.23.90
Update NEWS.
2017-02-16 01:27:39 +01:00
Florian Müllner
785c813771 status: Add nightLight indicator
The display configuration now exposes a setting to automatically
shift the display color at nighttime. As there are cases where
disabling the filtering temporarily is useful, it makes sense to
expose the feature in the system menu for quick access.

https://bugzilla.gnome.org/show_bug.cgi?id=741224
2017-02-15 23:20:14 +01:00
Florian Müllner
75f8279a19 extensionPrefs: Tweak UI
Update according to the latest mockups:
 - don't use a border around the list as specified
   by the latest HIG version
 - use more generous spacing between controls
 - allow extension descriptions to take up two lines
 - drop GNOME branding from the window title
 - make the app name consistent with the window title

https://bugzilla.gnome.org/show_bug.cgi?id=778672
2017-02-15 23:20:14 +01:00
Florian Müllner
5d07832e96 extensionPrefs: Expose kill-switch
While the extension prefs tool is not meant as the primary way for
users to configure extensions - that will be Tweak Tool - it still
doesn't hurt to expose the extension kill switch to easily turn
extensions back on after a session crash.

https://bugzilla.gnome.org/show_bug.cgi?id=778664
2017-02-15 23:20:14 +01:00
Florian Müllner
7395aaf9b4 extensionSystem: Add kill-switch setting to disable user extensions
When gnome-shell fails to start on login, gnome-session tries to
re-launch it again with all extensions disabled. This is currently
implemented by clearing the list of enabled extensions, which means
the user needs to re-enable their extensions manually again.
To make this process less annoying, add a single 'kill-switch' setting
gnome-session can use without interfering with the user setting.

https://bugzilla.gnome.org/show_bug.cgi?id=778664
2017-02-15 23:20:14 +01:00
Florian Müllner
2c070d38fb system: Switch between alternatives on long-press
On systems that support both shutdown and suspend, the latter operation
is currently only accessible via pressing the Alt key. As using the
keyboard may be inconvenient or simply not possible (e.g. on touch),
allow switching between alternatives via long-press as well.

https://bugzilla.gnome.org/show_bug.cgi?id=721173
2017-02-15 23:20:14 +01:00
Florian Müllner
2c5bc4a1a9 appFavorites: Only use renamed ID if it can be resolved
We currently assume that if a .desktop file has been renamed (that
is, it is in our rename list), the updated ID will be used. That
assumption was mostly sound when the list contained only GNOME apps
following the same release cycle as gnome-shell, but as applications
with less ties to the GNOME schedule adopt the reverse DNS notation,
it becomes more likely for apps to appear in the list before actually
being updated on the system. Handle this case by only renaming IDs
for which the replacement can be resolved to an existing application.

https://bugzilla.gnome.org/show_bug.cgi?id=745626
2017-02-15 23:20:14 +01:00
Florian Müllner
fa82af251f location: Initialize permissions
The permissions hash is initialized after consulting the permission
store, however the lookup is skipped for requests that cannot be
resolved to an application, resulting in an error when accessing
the uninitialized hash for saving. Just make sure that the property
is always initialized to avoid that error.

https://bugzilla.gnome.org/show_bug.cgi?id=778661
2017-02-15 23:20:14 +01:00