| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
engine_get_display_name returns a newly-allocated string, which we
shouldn't copy. Only copy the name if it's borrowed from somewhere
else.
Signed-off-by: Simon McVittie <smcv@debian.org>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
keyboard: Show a non-empty list of layouts by default
Closes #165
See merge request GNOME/gnome-initial-setup!188
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Each row of the keyboard layout/input method list has a flag for whether
it is an "extra" layout, hidden by default, or not. All rows are added
with the is_extra flag set to TRUE; later, they can be marked as
non-extra in a few ways:
- The currently-selected layout is (indirectly) marked as non-extra
- Selecting a layout marks it as non-extra
- 5 semi-arbitrary layouts are marked as non-extra
To make the list work, the GtkListBox has sort and filter functions set:
- The sort function sorts extra layouts after non-extra layouts
- The filter function hides extra layouts, unless the user is searching
or has clicked the vertical ellipsis to see all layouts
But previously, the sort and filter of the list were not always
invalidated when one or more layouts' is_extra flags were changed. As a
result, the list always showed no layouts by default, just the vertical
ellipsis to see all layouts.
Fix this by invalidating both sort and filter when a layout is marked
non-extra.
Fixes #165
|
| |
| |
| |
| |
| |
| |
| |
| | |
Calling g_type_ensure (CC_TYPE_INPUT_CHOOSER) in constructed() is too
late, because the template has already been instantiated, which will
fail if the type is not available. Happily gis_keyboard_page_init() also
calls g_type_ensure (CC_TYPE_INPUT_CHOOSER) just before instantiating
the template.
|
|\ \
| | |
| | |
| | |
| | | |
Add StartupWMClass to .desktop file
See merge request GNOME/gnome-initial-setup!187
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Initial Setup's application ID is org.gnome.InitialSetup. This does not
match the desktop file name. It is too late in the current development
cycle to rename the desktop file to match.
Instead, allow the shell to associate the initial setup window with its
desktop file by specifying StartupWMClass.
See https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/179 and
https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/merge_requests/186
for more background.
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| | |
gis-driver: Set a minimum size for the window
Closes #136
See merge request GNOME/gnome-initial-setup!181
|
|/
|
|
|
|
|
| |
Otherwise, in small resolutions, the window can be abnormally small
when double clicking in the headerbar.
Fixes https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/136
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
driver: Set all categories when changing locale
Closes #177
See merge request GNOME/gnome-initial-setup!185
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, Initial Setup would only change the LC_MESSAGES locale
category when the user selects a different locale on the language page.
However, this caused non-ASCII characters to be mangled after switching
locale. The following test program demonstrates the problem:
#include "config.h"
#include <locale.h>
#include <glib.h>
#include <glib/gi18n-lib.h>
#include <libgweather/gweather.h>
gint
main (gint argc,
gchar *argv[])
{
/* gettext boilerplate */
setlocale (LC_ALL, "");
bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
/* Change locale to Czech */
locale_t locale = newlocale (LC_MESSAGES_MASK, "cs_CZ.utf8", (locale_t) 0);
g_assert (locale != (locale_t) 0);
uselocale (locale);
GWeatherLocation *world = gweather_location_get_world ();
GWeatherLocation *praha = gweather_location_find_nearest_city (world, 50.08804, 14.42076);
g_message ("%s", gweather_location_get_name (gweather_location_get_parent (praha)));
return 0;
}
The desired output is “Česká republika”, but this program instead prints
“?esk? republika”. The non-ASCII characters with diacritics are mangled.
The same problem exists in any locale: switch to an English locale in
this way, then search for “Abidjan”; it will be reported to be in “C?te
d’Ivoire”.
The issue appears to be that the LC_CTYPE category is not being changed.
According to locale(7):
> This category determines the interpretation of byte sequences as
> characters (e.g., single versus multibyte characters), character
> classifications (e.g., alphabetic or digit), and the behavior of
> character classes.
Rather than adding this category, just set all categories. It's true
that Initial Setup doesn't use, for instance, anything related to the
locale's measurement system (LC_MEASUREMENT, i.e. metric versus US
customary units) but it should be harmless to set them all.
The change in cc-common-language is probably unnecessary.
insert_language() is checking that the given locale actually exists on
the system before offering it to the user. Surely if
newlocale(LC_MESSAGES_MASK, x, 0) works then newlocale(LC_ALL_MASK, x,
0) will work? But there is no harm in using LC_ALL_MASK and the
consistency is clearer.
Fixes #177
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| | |
Refactor loading CSS
See merge request GNOME/gnome-initial-setup!184
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
These are unnecessary: constructor support is available on all relevant
platforms, so resources are automatically registered.
|
| | |
|
| | |
|
| |
| |
| |
| | |
The astute may notice that this should be in the class_init.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This project keeps a number of CSS files next to the widgets they apply
to. (You might expect from the current layout that they apply only to
the page at hand, but in fact they are global.)
Libadwaita can automatically load certain resources, but not when
arranged in this way. It may in future be desirable to centralize all
CSS rules in one file, and namespace them better.
https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/styles-and-appearance.html#custom-styles
In the meantime, add a helper function to load CSS from a resource and
install it for the default display.
|
| |
| |
| |
| |
| | |
.large-title is no longer used in this project since the GTK 4 port, and
.title-1 is present in libadwaita.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
GisAccountPageLocal may be instantiated multiple times, because all
pages are reconstructed when the language is changed. But the style
context is global (to a GdkDisplay). So previously, the same style
provider would be installed every time the language is changed.
Instead, do this in class_init().
Fixes 0416c80024e1c783df010b293173e919de7ceaa3 ("gis-account-page: Add a proper edit button to customize the user avatar").
|
| | |
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
gis-account-page: Add a proper edit button to customize the user avatar
Closes #174
See merge request GNOME/gnome-initial-setup!182
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
The user avatar can be customized by clicking in the user avatar itself. However, this isn't obvious.
With this change, the user avatar now displays an edit button.
Fixes https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/issues/174
|
| | |
|