Compare commits
403 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
01d38c54da | ||
|
|
18e715f187 | ||
|
|
31a29e2b68 | ||
|
|
0173e1873c | ||
|
|
57b0f873c4 | ||
|
|
92b784f561 | ||
|
|
770d3f3bf1 | ||
|
|
f8527ab5e4 | ||
|
|
7371f6fe0a | ||
|
|
cb8145f840 | ||
|
|
08090c389d | ||
|
|
ac74cf695c | ||
|
|
b3f6a5a9cf | ||
|
|
1e07dfc650 | ||
|
|
a29276bf01 | ||
|
|
2ea1ca7f7c | ||
|
|
af1bc40908 | ||
|
|
0cd72feb98 | ||
|
|
8f264cc4cb | ||
|
|
920302bb52 | ||
|
|
12352f8c1a | ||
|
|
ff904208cb | ||
|
|
381b5f51e9 | ||
|
|
1268ad7274 | ||
|
|
0e8e4ff976 | ||
|
|
47f7367d9d | ||
|
|
0245329949 | ||
|
|
b6c6f5c165 | ||
|
|
be3d9752bc | ||
|
|
941fdeaa05 | ||
|
|
52c56c1393 | ||
|
|
37921f8a46 | ||
|
|
53ff717b4d | ||
|
|
83b6df42d3 | ||
|
|
981e153afd | ||
|
|
9d3eeae93c | ||
|
|
918a60797f | ||
|
|
3a31e34514 | ||
|
|
37f5cbe6af | ||
|
|
9abcf928c3 | ||
|
|
3653a2f512 | ||
|
|
1ae4d99421 | ||
|
|
6885a787ee | ||
|
|
7f6dc4511f | ||
|
|
bad61a2229 | ||
|
|
986a37ff6c | ||
|
|
9d7379139f | ||
|
|
e2af7d0803 | ||
|
|
2b66ca051d | ||
|
|
0cb71a11d0 | ||
|
|
f4928d019e | ||
|
|
d54a95b5e7 | ||
|
|
5d344d4b0a | ||
|
|
b9a684dc1d | ||
|
|
7846e57bfe | ||
|
|
32b5e5dcb3 | ||
|
|
18eea16ff3 | ||
|
|
451acd06e3 | ||
|
|
25ffe130c7 | ||
|
|
7b699747f7 | ||
|
|
1aa9e87ff8 | ||
|
|
1e158a3099 | ||
|
|
8eec14743e | ||
|
|
5ceabcb5c7 | ||
|
|
c965de1eb4 | ||
|
|
4ea4f41e20 | ||
|
|
39402f21ba | ||
|
|
32f73d9045 | ||
|
|
2dbc195d77 | ||
|
|
38d62974b6 | ||
|
|
234485fd19 | ||
|
|
e6aa605bd0 | ||
|
|
a4aa214d76 | ||
|
|
658f10ccb7 | ||
|
|
e552ad2108 | ||
|
|
42066f9284 | ||
|
|
5f3b16b288 | ||
|
|
5782c7312c | ||
|
|
08b1f05a2a | ||
|
|
ff39de678b | ||
|
|
57c919b7d9 | ||
|
|
1c81645735 | ||
|
|
25360f2d3b | ||
|
|
674644a85e | ||
|
|
fe8d4ad073 | ||
|
|
b9b04f4f28 | ||
|
|
9d6d0281d4 | ||
|
|
4900242cf0 | ||
|
|
b8023ab903 | ||
|
|
12bff97e53 | ||
|
|
f90f503aea | ||
|
|
43b61571c1 | ||
|
|
50a92f110d | ||
|
|
3194a1890f | ||
|
|
d4b47f4fc3 | ||
|
|
18cca37d26 | ||
|
|
9def0c98e3 | ||
|
|
a71c3ac3c3 | ||
|
|
e3395b1dc3 | ||
|
|
878171bd7c | ||
|
|
cc8014f54b | ||
|
|
7b9bc5e23d | ||
|
|
ef2dada3be | ||
|
|
0aed0c5ecd | ||
|
|
82b6e2c7bb | ||
|
|
817f9da208 | ||
|
|
17b018a9fb | ||
|
|
04f9784b5c | ||
|
|
5b251eab69 | ||
|
|
57fb0e28ae | ||
|
|
39d05db0e5 | ||
|
|
f395ff3e71 | ||
|
|
56ee5e1b00 | ||
|
|
24435c7212 | ||
|
|
6fd7164837 | ||
|
|
17fd8f3a5c | ||
|
|
78434394b2 | ||
|
|
94b591ac42 | ||
|
|
49486dba68 | ||
|
|
e3209ca2fa | ||
|
|
5edf8fdc56 | ||
|
|
a233c68bf9 | ||
|
|
d88e24dcd2 | ||
|
|
a958cb13c7 | ||
|
|
04e6ebc2d3 | ||
|
|
646e71c761 | ||
|
|
df73711e36 | ||
|
|
fae29f0f8d | ||
|
|
784f83eb44 | ||
|
|
c2145cacf4 | ||
|
|
48497080b3 | ||
|
|
dea4ce1d48 | ||
|
|
33a445f12e | ||
|
|
68760a06a9 | ||
|
|
c381c633af | ||
|
|
3b8f43647d | ||
|
|
c44ee6fa80 | ||
|
|
5cfc7175b1 | ||
|
|
e94e959e1d | ||
|
|
e89c36c05e | ||
|
|
3adb3ef3f2 | ||
|
|
83278d2724 | ||
|
|
e0d599bb40 | ||
|
|
3452fdf788 | ||
|
|
e987c076de | ||
|
|
3c7974f8a1 | ||
|
|
776006a75f | ||
|
|
d992d7547e | ||
|
|
15f389563c | ||
|
|
8587718491 | ||
|
|
f53147acc2 | ||
|
|
f5a295ff74 | ||
|
|
df653e3129 | ||
|
|
f04e363bdc | ||
|
|
68ca4e5a3f | ||
|
|
72863a8f56 | ||
|
|
2f6d086c6f | ||
|
|
b327301951 | ||
|
|
4e06f21e14 | ||
|
|
d9235f3fb5 | ||
|
|
1720d39c83 | ||
|
|
ec2c3d477d | ||
|
|
24f4c66dd5 | ||
|
|
60f9dafb65 | ||
|
|
51c5111687 | ||
|
|
5bf2ff0d93 | ||
|
|
272b73795d | ||
|
|
311268c4f7 | ||
|
|
cf99eb4529 | ||
|
|
3f83ec7f7b | ||
|
|
de25df57bd | ||
|
|
2c09603854 | ||
|
|
ff50996181 | ||
|
|
b17568d14c | ||
|
|
bda6b466ff | ||
|
|
952bb43c58 | ||
|
|
caa9b59f41 | ||
|
|
1e53da4720 | ||
|
|
e11929e0c1 | ||
|
|
590351051f | ||
|
|
d38a570efa | ||
|
|
032f8a4556 | ||
|
|
5954dffda4 | ||
|
|
bb86c36147 | ||
|
|
624023d633 | ||
|
|
1f7377e19d | ||
|
|
57f2dca0f7 | ||
|
|
f7c7537a90 | ||
|
|
56eea97e13 | ||
|
|
b9bf21a016 | ||
|
|
577d4ba798 | ||
|
|
66a2d561a3 | ||
|
|
4eb075e5a5 | ||
|
|
e8fcfc05a6 | ||
|
|
dc8eb2c22c | ||
|
|
e7e80efcbc | ||
|
|
2f9ec8b0a8 | ||
|
|
7e08d6874f | ||
|
|
064c6a807d | ||
|
|
f923c3ca01 | ||
|
|
65d83189e9 | ||
|
|
05de8cb2ee | ||
|
|
f0890ca1b6 | ||
|
|
7e6022a048 | ||
|
|
bb89fc1d0e | ||
|
|
368ed784eb | ||
|
|
5c025fcff9 | ||
|
|
46d4338335 | ||
|
|
4723b8c1eb | ||
|
|
ccbf4d26fe | ||
|
|
3d5be3b1fd | ||
|
|
8baa16d891 | ||
|
|
150e92aa69 | ||
|
|
0671705610 | ||
|
|
38442303e0 | ||
|
|
478b472a9c | ||
|
|
c4ff476f2b | ||
|
|
850684d62e | ||
|
|
69598b9e08 | ||
|
|
9e4f15353c | ||
|
|
6087c0397b | ||
|
|
588e721472 | ||
|
|
fcf9a970df | ||
|
|
5d89ef3723 | ||
|
|
0c35f298ee | ||
|
|
733478920d | ||
|
|
dce8c31f05 | ||
|
|
1e372ae0af | ||
|
|
914657e405 | ||
|
|
599bb9fe4a | ||
|
|
dad011062b | ||
|
|
0fbe2ada5a | ||
|
|
3ca850b257 | ||
|
|
96e0db8ba0 | ||
|
|
e39de651a2 | ||
|
|
bd74296222 | ||
|
|
e68e93dc64 | ||
|
|
2148e23d97 | ||
|
|
6c34dc5089 | ||
|
|
2690daf819 | ||
|
|
07f850b65a | ||
|
|
cfc5fdb7c6 | ||
|
|
4159a5ca68 | ||
|
|
6911110111 | ||
|
|
a793e49acd | ||
|
|
c23c56a0a1 | ||
|
|
bb4acf75ef | ||
|
|
0f60cad6bd | ||
|
|
fd76bfb71e | ||
|
|
2252ee27b4 | ||
|
|
533b698f60 | ||
|
|
8cd39513be | ||
|
|
ca04a2b550 | ||
|
|
fa10fcfe5e | ||
|
|
ab852ca63c | ||
|
|
3a96f428ca | ||
|
|
c6fe35a310 | ||
|
|
840024b685 | ||
|
|
1e06a0e0dd | ||
|
|
87ef7e25f6 | ||
|
|
06b6614e9b | ||
|
|
01eb0e9ae1 | ||
|
|
cbf345069c | ||
|
|
35ac91e00f | ||
|
|
9ca6a7ab2c | ||
|
|
f0b9dae503 | ||
|
|
1e6e77e07d | ||
|
|
3375e87448 | ||
|
|
98fcce2202 | ||
|
|
2536f946eb | ||
|
|
7f4a7c125f | ||
|
|
dbfc44b1f4 | ||
|
|
91f3a7ec4f | ||
|
|
787e96de9b | ||
|
|
c42f3c3a2a | ||
|
|
44601644b3 | ||
|
|
fbad193899 | ||
|
|
ea635be532 | ||
|
|
8949aeb338 | ||
|
|
f2f2807e84 | ||
|
|
47c586a82e | ||
|
|
43419403b1 | ||
|
|
6b93b355bd | ||
|
|
6cdec6e3a4 | ||
|
|
e8b24c3d41 | ||
|
|
b76e109857 | ||
|
|
95d4e664b5 | ||
|
|
97cec8d167 | ||
|
|
e58a80d804 | ||
|
|
9327bbe759 | ||
|
|
7cb4dc4ff0 | ||
|
|
42f64f197f | ||
|
|
af197cb813 | ||
|
|
4f3eb61395 | ||
|
|
23d70d6952 | ||
|
|
46932dcffe | ||
|
|
fd7691c0b9 | ||
|
|
83d27d1081 | ||
|
|
93e7458569 | ||
|
|
e559ecb1b1 | ||
|
|
be6d2e38dd | ||
|
|
0e8835d18c | ||
|
|
6f887237fd | ||
|
|
666af4ddea | ||
|
|
6388d3715a | ||
|
|
7eda06f9ee | ||
|
|
5711ee0ce1 | ||
|
|
03f08faf81 | ||
|
|
c9448f76c2 | ||
|
|
7c4428eb59 | ||
|
|
eece14f1cd | ||
|
|
99f27e802f | ||
|
|
edbc075eb0 | ||
|
|
261545b6cb | ||
|
|
b2a3da4927 | ||
|
|
e5dbc0dcc1 | ||
|
|
aef272e3fa | ||
|
|
3088c5f673 | ||
|
|
a7287ebecb | ||
|
|
de40b25790 | ||
|
|
2641f68fcc | ||
|
|
9c54390320 | ||
|
|
05dc74f120 | ||
|
|
2dd2d2acab | ||
|
|
4d8bdd5d52 | ||
|
|
f6e6ff30a3 | ||
|
|
fc984e90a1 | ||
|
|
44293e9db2 | ||
|
|
fc1b750f19 | ||
|
|
afb59388c9 | ||
|
|
5137225383 | ||
|
|
bfa06d0978 | ||
|
|
a8db661166 | ||
|
|
64768de705 | ||
|
|
c09c25805b | ||
|
|
44fdf9a492 | ||
|
|
a701ab0b8b | ||
|
|
46e8eafa92 | ||
|
|
8320d17825 | ||
|
|
d548309f34 | ||
|
|
f2402869bb | ||
|
|
1523ab6c6b | ||
|
|
b7302348cf | ||
|
|
32a807b964 | ||
|
|
7bf240ca3f | ||
|
|
7d4c8346ca | ||
|
|
f94c96577b | ||
|
|
f9fd2587ca | ||
|
|
0118598763 | ||
|
|
69f51bdab0 | ||
|
|
88f87de748 | ||
|
|
bfc567955f | ||
|
|
d253fe188c | ||
|
|
8914fae8da | ||
|
|
95de2049c7 | ||
|
|
4a421d0abc | ||
|
|
e26f28d1fd | ||
|
|
de8d28c3eb | ||
|
|
df30f44709 | ||
|
|
450c05471b | ||
|
|
861d762ce5 | ||
|
|
3151598aef | ||
|
|
46673670d9 | ||
|
|
a477684f20 | ||
|
|
48354fde43 | ||
|
|
6affceebee | ||
|
|
aa7ebe5d7c | ||
|
|
df51bed16c | ||
|
|
54341cae07 | ||
|
|
b7c545a1e7 | ||
|
|
92ee00e39b | ||
|
|
42cb548115 | ||
|
|
ddfacc6b81 | ||
|
|
1204b91f52 | ||
|
|
9aff773564 | ||
|
|
1dccede9a7 | ||
|
|
adffd7a2df | ||
|
|
fbadba1a18 | ||
|
|
7b1af9c8ba | ||
|
|
31d6c7704c | ||
|
|
30b6d51c5a | ||
|
|
0be875c0b0 | ||
|
|
f7d0aa7a12 | ||
|
|
f1d5215cdd | ||
|
|
5329a8f942 | ||
|
|
e2c8b7d3a4 | ||
|
|
91b13f4283 | ||
|
|
faa9a7ace4 | ||
|
|
6129c1ce00 | ||
|
|
1b1b0fc5de | ||
|
|
5df1519d7d | ||
|
|
340ee1dc4a | ||
|
|
1abe3c3553 | ||
|
|
b807f242e6 | ||
|
|
cea7c82789 | ||
|
|
a556616081 | ||
|
|
7f77d087f4 | ||
|
|
a89f64dde7 | ||
|
|
b51513e4fa | ||
|
|
d8bad3eda1 | ||
|
|
62bde81c54 | ||
|
|
bbe3ae4a91 | ||
|
|
0bfb1e8906 |
@@ -222,6 +222,7 @@ test:
|
||||
- build
|
||||
|
||||
script:
|
||||
- dnf -y install setxkbmap
|
||||
- *environment_information
|
||||
- *run_tests
|
||||
|
||||
@@ -247,7 +248,7 @@ coverage:
|
||||
BUILD_OPTS: "-Db_coverage=true"
|
||||
coverage: '/^Lines:.\d+.\d+.(\d+\.\d+\%)/'
|
||||
only:
|
||||
- master@GNOME/gnome-control-center
|
||||
- main@GNOME/gnome-control-center
|
||||
|
||||
script:
|
||||
- *environment_information
|
||||
@@ -287,7 +288,7 @@ pages:
|
||||
paths:
|
||||
- public
|
||||
only:
|
||||
- master@GNOME/gnome-control-center
|
||||
- main@GNOME/gnome-control-center
|
||||
|
||||
except:
|
||||
variables:
|
||||
@@ -301,7 +302,7 @@ pages:
|
||||
##
|
||||
flatpak:
|
||||
stage: manual
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-runtime-images/gnome:master
|
||||
image: quay.io/gnome_infrastructure/gnome-runtime-images:gnome-master
|
||||
artifacts:
|
||||
name: package
|
||||
paths:
|
||||
@@ -353,7 +354,7 @@ flatpak:
|
||||
except:
|
||||
- tags
|
||||
- gnome-3-.*
|
||||
- master@GNOME/gnome-control-center
|
||||
- main@GNOME/gnome-control-center
|
||||
|
||||
|
||||
# Runs the sanitizers [address, thread, undefined, and memory].
|
||||
|
||||
@@ -4,7 +4,7 @@ Not following the communication guidelines [1] will mean your issue or comment
|
||||
will be removed. Read it carefully before submitting this issue.
|
||||
|
||||
|
||||
[1] https://gitlab.gnome.org/GNOME/gnome-control-center/blob/master/docs/CONTRIBUTING.md#communication-guideline
|
||||
[1] https://gitlab.gnome.org/GNOME/gnome-control-center/blob/main/docs/CONTRIBUTING.md#communication-guideline
|
||||
|
||||
-->
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ Not following the communication guidelines [1] will mean your issue or comment
|
||||
will be removed. Read it carefully before submitting this issue.
|
||||
|
||||
|
||||
[1] https://gitlab.gnome.org/GNOME/gnome-control-center/blob/master/docs/CONTRIBUTING.md#communication-guideline
|
||||
[1] https://gitlab.gnome.org/GNOME/gnome-control-center/blob/main/docs/CONTRIBUTING.md#communication-guideline
|
||||
|
||||
-->
|
||||
|
||||
|
||||
85
NEWS
@@ -1,3 +1,88 @@
|
||||
================
|
||||
Version 43.rc
|
||||
================
|
||||
|
||||
- Fix initial AM/PM label value
|
||||
- Remove no longer used icon
|
||||
- Select panel only if non-folded when search is canceled
|
||||
- Updated translations
|
||||
|
||||
Appearance
|
||||
- Allow backgrounds to use any image format
|
||||
|
||||
Device Security
|
||||
- Several UI improvements
|
||||
|
||||
Display
|
||||
- Fix primary monitor selection
|
||||
|
||||
Info
|
||||
- Improve dark theme support
|
||||
|
||||
Keyboard
|
||||
- Fix activation of input source toggle button
|
||||
- Improve handling of Shift shortcuts
|
||||
|
||||
Power
|
||||
- Fix blank screen and power button behavior settings
|
||||
|
||||
Printers
|
||||
- Show empty state after removing last printer
|
||||
|
||||
Search
|
||||
- Fix Move Up and Move Down actions
|
||||
|
||||
Sound
|
||||
- Fix sound alert selection
|
||||
|
||||
Wacom
|
||||
- Better support Wacom Express Key Remote
|
||||
|
||||
================
|
||||
Version 43.beta
|
||||
================
|
||||
|
||||
- Updated translations
|
||||
|
||||
Cellular
|
||||
- Add WWAN 5G connection support
|
||||
|
||||
Device Security
|
||||
- Polish failure messages
|
||||
- Various style updates
|
||||
|
||||
Display
|
||||
- Support privacy screens
|
||||
|
||||
Info
|
||||
- Show build id in a separate row
|
||||
|
||||
Network
|
||||
- Fix VPN empty state
|
||||
|
||||
Sound
|
||||
- Update default sounds
|
||||
|
||||
User Accounts
|
||||
- Fix back button not appearing sometimes
|
||||
|
||||
================
|
||||
Version 43.alpha
|
||||
================
|
||||
|
||||
- Improved accessibility in various panels
|
||||
- New Device Security panel
|
||||
- Updated translations
|
||||
|
||||
Date & Time
|
||||
- Update visual style of the timezone map
|
||||
|
||||
Display
|
||||
- Various visual improvements
|
||||
|
||||
Sound
|
||||
- Remove dog barking sounds
|
||||
|
||||
================
|
||||
Version 42.1
|
||||
================
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[](https://gitlab.gnome.org/GNOME/gnome-control-center/pipelines)
|
||||
[](https://gnome.pages.gitlab.gnome.org/gnome-control-center/)
|
||||
[](https://gitlab.gnome.org/GNOME/gnome-control-center/blob/master/COPYING)
|
||||
[](https://gitlab.gnome.org/GNOME/gnome-control-center/pipelines)
|
||||
[](https://gnome.pages.gitlab.gnome.org/gnome-control-center/)
|
||||
[](https://gitlab.gnome.org/GNOME/gnome-control-center/blob/main/COPYING)
|
||||
|
||||
GNOME Settings
|
||||
====================
|
||||
@@ -60,4 +60,4 @@ Note that GNOME Settings Flatpak will only work if you are running
|
||||
the latest GNOME version in your host system.
|
||||
|
||||
|
||||
[communication-guidelines]: https://gitlab.gnome.org/GNOME/gnome-control-center/blob/master/docs/CONTRIBUTING.md#communication-guidelines
|
||||
[communication-guidelines]: https://gitlab.gnome.org/GNOME/gnome-control-center/blob/main/docs/CONTRIBUTING.md#communication-guidelines
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
meson.add_install_script('meson/meson_post_install.py', control_center_datadir)
|
||||
@@ -1,15 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
gsettingsschemadir = os.path.join(sys.argv[1], 'glib-2.0', 'schemas')
|
||||
icondir = os.path.join(sys.argv[1], 'icons', 'hicolor')
|
||||
|
||||
if not os.environ.get('DESTDIR'):
|
||||
print('Compiling gsettings schemas...')
|
||||
subprocess.call(['glib-compile-schemas', gsettingsschemadir])
|
||||
|
||||
print('Update icon cache...')
|
||||
subprocess.call(['gtk-update-icon-cache', '-f', '-t', icondir])
|
||||
@@ -209,4 +209,4 @@ available at [http://contributor-covenant.org/version/1/4][version]
|
||||
|
||||
[homepage]: http://contributor-covenant.org
|
||||
[version]: http://contributor-covenant.org/version/1/4/
|
||||
[maintainers]: https://gitlab.gnome.org/GNOME/gnome-control-center/blob/master/docs/MAINTAINERS.md
|
||||
[maintainers]: https://gitlab.gnome.org/GNOME/gnome-control-center/blob/main/docs/MAINTAINERS.md
|
||||
|
||||
@@ -50,7 +50,7 @@ by being explicit. Suggested acceptance phrase:
|
||||
Urgency commits should never happen, but in case they're needed, they are defined by the following
|
||||
criteria:
|
||||
|
||||
* On stable branches (or master right after a stable release)
|
||||
* On stable branches (or `main` right after a stable release)
|
||||
* Symptoms:
|
||||
* Always OR often reproducible; AND
|
||||
* Crash; OR
|
||||
@@ -59,4 +59,4 @@ criteria:
|
||||
* Quickly followed by an emergency release (at most 2 days after the commit)
|
||||
|
||||
|
||||
[doap]: https://gitlab.gnome.org/GNOME/gnome-control-center/blob/master/gnome-control-center.doap
|
||||
[doap]: https://gitlab.gnome.org/GNOME/gnome-control-center/blob/main/gnome-control-center.doap
|
||||
|
||||
25
meson.build
@@ -1,8 +1,8 @@
|
||||
project(
|
||||
'gnome-control-center', 'c',
|
||||
version : '42.2',
|
||||
version : '43.rc',
|
||||
license : 'GPL2+',
|
||||
meson_version : '>= 0.53.0'
|
||||
meson_version : '>= 0.57.0'
|
||||
)
|
||||
|
||||
control_center_prefix = get_option('prefix')
|
||||
@@ -50,6 +50,17 @@ foreach define: set_defines
|
||||
config_h.set_quoted(define[0], define[1])
|
||||
endforeach
|
||||
|
||||
distributor_logo = get_option('distributor_logo')
|
||||
if (distributor_logo != '')
|
||||
config_h.set_quoted('DISTRIBUTOR_LOGO', distributor_logo,
|
||||
description: 'Define to absolute path of distributor logo')
|
||||
dark_mode_distributor_logo = get_option('dark_mode_distributor_logo')
|
||||
if (dark_mode_distributor_logo != '')
|
||||
config_h.set_quoted('DARK_MODE_DISTRIBUTOR_LOGO', dark_mode_distributor_logo,
|
||||
description: 'Define to absolute path of distributor logo for use in dark mode')
|
||||
endif
|
||||
endif
|
||||
|
||||
# meson does not support octal values, so it must be handled as a
|
||||
# string. See: https://github.com/mesonbuild/meson/issues/2047
|
||||
config_h.set('USER_DIR_MODE', '0700',
|
||||
@@ -104,7 +115,7 @@ pulse_req_version = '>= 2.0'
|
||||
|
||||
libadwaita_dep = dependency(
|
||||
'libadwaita-1',
|
||||
version: '>= 1.1',
|
||||
version: '>= 1.2.alpha',
|
||||
fallback: ['libadwaita', 'libadwaita_dep'],
|
||||
default_options: ['examples=false', 'introspection=disabled', 'tests=false', 'vapi=false'],
|
||||
)
|
||||
@@ -113,7 +124,7 @@ accounts_dep = dependency('accountsservice', version: '>= 0.6.39')
|
||||
colord_dep = dependency('colord', version: '>= 0.1.34')
|
||||
gdk_pixbuf_dep = dependency('gdk-pixbuf-2.0', version: '>= 2.23.0')
|
||||
gio_dep = dependency('gio-2.0')
|
||||
glib_dep = dependency('glib-2.0', version: '>= 2.68.0')
|
||||
glib_dep = dependency('glib-2.0', version: '>= 2.70.0')
|
||||
gnome_desktop_dep = dependency('gnome-desktop-4')
|
||||
gnome_bg_dep = dependency('gnome-bg-4')
|
||||
gnome_rr_dep = dependency('gnome-rr-4')
|
||||
@@ -270,7 +281,6 @@ install_subdir(
|
||||
top_inc = include_directories('.')
|
||||
shell_inc = include_directories('shell')
|
||||
|
||||
subdir('build-aux')
|
||||
subdir('data/icons')
|
||||
subdir('po')
|
||||
subdir('panels')
|
||||
@@ -285,6 +295,11 @@ if get_option('documentation')
|
||||
subdir('man')
|
||||
endif
|
||||
|
||||
gnome.post_install(
|
||||
glib_compile_schemas: true,
|
||||
gtk_update_icon_cache: true,
|
||||
)
|
||||
|
||||
configure_file(
|
||||
output: 'config.h',
|
||||
configuration: config_h
|
||||
|
||||
@@ -7,3 +7,5 @@ option('tracing', type: 'boolean', value: false, description: 'add extra debuggi
|
||||
option('wayland', type: 'boolean', value: true, description: 'build with Wayland support')
|
||||
option('profile', type: 'combo', choices: ['default','development'], value: 'default')
|
||||
option('malcontent', type: 'boolean', value: false, description: 'build with malcontent support')
|
||||
option('distributor_logo', type: 'string', description: 'absolute path to distributor logo for the About panel')
|
||||
option('dark_mode_distributor_logo', type: 'string', description: 'absolute path to distributor logo dark mode variant')
|
||||
|
||||
@@ -92,10 +92,11 @@ struct _CcApplicationsPanel
|
||||
GtkWidget *settings_box;
|
||||
GtkButton *install_button;
|
||||
|
||||
GtkWidget *integration_section;
|
||||
AdwPreferencesGroup *integration_section;
|
||||
CcToggleRow *notification;
|
||||
CcToggleRow *background;
|
||||
CcToggleRow *wallpaper;
|
||||
CcToggleRow *screenshot;
|
||||
CcToggleRow *sound;
|
||||
CcInfoRow *no_sound;
|
||||
CcToggleRow *search;
|
||||
@@ -111,6 +112,9 @@ struct _CcApplicationsPanel
|
||||
GtkDialog *builtin_dialog;
|
||||
AdwPreferencesGroup *builtin_group;
|
||||
GtkListBox *builtin_list;
|
||||
#ifdef HAVE_SNAP
|
||||
GList *snap_permission_rows;
|
||||
#endif
|
||||
|
||||
GtkButton *handler_reset;
|
||||
GtkDialog *handler_dialog;
|
||||
@@ -512,6 +516,37 @@ wallpaper_cb (CcApplicationsPanel *self)
|
||||
set_wallpaper_allowed (self, cc_toggle_row_get_allowed (self->wallpaper));
|
||||
}
|
||||
|
||||
/* --- screenshot --- */
|
||||
|
||||
static void
|
||||
get_screenshot_allowed (CcApplicationsPanel *self,
|
||||
const gchar *app_id,
|
||||
gboolean *set,
|
||||
gboolean *allowed)
|
||||
{
|
||||
g_auto(GStrv) perms = get_portal_permissions (self, "screenshot", "screenshot", app_id);
|
||||
|
||||
*set = perms != NULL;
|
||||
*allowed = perms == NULL || strcmp (perms[0], "no") != 0;
|
||||
}
|
||||
|
||||
static void
|
||||
set_screenshot_allowed (CcApplicationsPanel *self,
|
||||
gboolean allowed)
|
||||
{
|
||||
const gchar *perms[2] = { NULL, NULL };
|
||||
|
||||
perms[0] = allowed ? "yes" : "no";
|
||||
set_portal_permissions (self, "screenshot", "screenshot", self->current_app_id, perms);
|
||||
}
|
||||
|
||||
static void
|
||||
screenshot_cb (CcApplicationsPanel *self)
|
||||
{
|
||||
if (self->current_app_id)
|
||||
set_screenshot_allowed (self, cc_toggle_row_get_allowed (self->screenshot));
|
||||
}
|
||||
|
||||
/* --- shortcuts permissions (flatpak) --- */
|
||||
|
||||
static void
|
||||
@@ -541,7 +576,7 @@ set_shortcuts_allowed (CcApplicationsPanel *self,
|
||||
|
||||
/* "GRANTED" and "DENIED" here match the values set by the "inhibit shortcut
|
||||
* dialog" is GNOME Shell:
|
||||
* https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/master/js/ui/inhibitShortcutsDialog.js
|
||||
* https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/main/js/ui/inhibitShortcutsDialog.js
|
||||
*/
|
||||
perms[0] = granted ? "GRANTED" : "DENIED";
|
||||
perms[1] = NULL;
|
||||
@@ -650,20 +685,11 @@ location_cb (CcApplicationsPanel *self)
|
||||
static void
|
||||
remove_snap_permissions (CcApplicationsPanel *self)
|
||||
{
|
||||
g_autoptr(GList) rows = NULL;
|
||||
GList *link;
|
||||
GList *l;
|
||||
|
||||
rows = gtk_container_get_children (GTK_CONTAINER (self->permission_list));
|
||||
for (link = rows; link; link = link->next)
|
||||
{
|
||||
GtkWidget *row = link->data;
|
||||
|
||||
if (row == GTK_WIDGET (self->builtin))
|
||||
break;
|
||||
|
||||
if (CC_IS_SNAP_ROW (row))
|
||||
gtk_container_remove (GTK_CONTAINER (self->permission_list), GTK_WIDGET (row));
|
||||
}
|
||||
for (l = self->snap_permission_rows; l; l = l->next)
|
||||
adw_preferences_group_remove (self->integration_section, l->data);
|
||||
g_clear_pointer (&self->snap_permission_rows, g_list_free);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@@ -672,8 +698,6 @@ add_snap_permissions (CcApplicationsPanel *self,
|
||||
const gchar *app_id)
|
||||
{
|
||||
const gchar *snap_name;
|
||||
g_autoptr(GList) rows = NULL;
|
||||
gint index;
|
||||
g_autoptr(SnapdClient) client = NULL;
|
||||
g_autoptr(GPtrArray) interfaces = NULL;
|
||||
g_autoptr(GPtrArray) plugs = NULL;
|
||||
@@ -687,10 +711,6 @@ add_snap_permissions (CcApplicationsPanel *self,
|
||||
return FALSE;
|
||||
snap_name = app_id + strlen (PORTAL_SNAP_PREFIX);
|
||||
|
||||
rows = gtk_container_get_children (GTK_CONTAINER (self->permission_list));
|
||||
index = g_list_index (rows, self->builtin);
|
||||
g_assert (index >= 0);
|
||||
|
||||
client = snapd_client_new ();
|
||||
|
||||
interfaces = snapd_client_get_interfaces2_sync (client,
|
||||
@@ -753,9 +773,8 @@ add_snap_permissions (CcApplicationsPanel *self,
|
||||
}
|
||||
|
||||
row = cc_snap_row_new (cc_panel_get_cancellable (CC_PANEL (self)), interface, plug, available_slots);
|
||||
gtk_widget_show (GTK_WIDGET (row));
|
||||
gtk_list_box_insert (GTK_LIST_BOX (self->permission_list), GTK_WIDGET (row), index);
|
||||
index++;
|
||||
adw_preferences_group_add (self->integration_section, GTK_WIDGET (row));
|
||||
self->snap_permission_rows = g_list_prepend (self->snap_permission_rows, row);
|
||||
added++;
|
||||
}
|
||||
|
||||
@@ -846,7 +865,7 @@ static void
|
||||
update_header_section (CcApplicationsPanel *self,
|
||||
GAppInfo *info)
|
||||
{
|
||||
g_autoptr(GIcon) icon = NULL;
|
||||
GIcon *icon;
|
||||
|
||||
icon = g_app_info_get_icon (info);
|
||||
gtk_image_set_from_gicon (self->app_icon_image, icon);
|
||||
@@ -885,6 +904,10 @@ update_integration_section (CcApplicationsPanel *self,
|
||||
gtk_widget_hide (GTK_WIDGET (self->shortcuts));
|
||||
}
|
||||
|
||||
#ifdef HAVE_SNAP
|
||||
remove_snap_permissions (self);
|
||||
#endif
|
||||
|
||||
if (portal_app_id != NULL)
|
||||
{
|
||||
g_clear_object (&self->notification_settings);
|
||||
@@ -903,6 +926,11 @@ update_integration_section (CcApplicationsPanel *self,
|
||||
gtk_widget_set_visible (GTK_WIDGET (self->wallpaper), set);
|
||||
has_any |= set;
|
||||
|
||||
get_screenshot_allowed (self, portal_app_id, &set, &allowed);
|
||||
cc_toggle_row_set_allowed (self->screenshot, allowed);
|
||||
gtk_widget_set_visible (GTK_WIDGET (self->screenshot), set);
|
||||
has_any |= set;
|
||||
|
||||
disabled = g_settings_get_boolean (self->privacy_settings, "disable-sound-output");
|
||||
get_device_allowed (self, "speakers", portal_app_id, &set, &allowed);
|
||||
cc_toggle_row_set_allowed (self->sound, allowed);
|
||||
@@ -931,7 +959,6 @@ update_integration_section (CcApplicationsPanel *self,
|
||||
has_any |= set;
|
||||
|
||||
#ifdef HAVE_SNAP
|
||||
remove_snap_permissions (self);
|
||||
has_any |= add_snap_permissions (self, info, portal_app_id);
|
||||
#endif
|
||||
}
|
||||
@@ -945,6 +972,7 @@ update_integration_section (CcApplicationsPanel *self,
|
||||
|
||||
gtk_widget_hide (GTK_WIDGET (self->background));
|
||||
gtk_widget_hide (GTK_WIDGET (self->wallpaper));
|
||||
gtk_widget_hide (GTK_WIDGET (self->screenshot));
|
||||
gtk_widget_hide (GTK_WIDGET (self->sound));
|
||||
gtk_widget_hide (GTK_WIDGET (self->no_sound));
|
||||
gtk_widget_hide (GTK_WIDGET (self->camera));
|
||||
@@ -955,7 +983,7 @@ update_integration_section (CcApplicationsPanel *self,
|
||||
gtk_widget_hide (GTK_WIDGET (self->no_location));
|
||||
}
|
||||
|
||||
gtk_widget_set_visible (self->integration_section, has_any);
|
||||
gtk_widget_set_visible (GTK_WIDGET (self->integration_section), has_any);
|
||||
}
|
||||
|
||||
/* --- handler section --- */
|
||||
@@ -1220,7 +1248,7 @@ update_total_size (CcApplicationsPanel *self)
|
||||
g_object_set (self->total, "info", formatted_size, NULL);
|
||||
|
||||
/* Translators: '%s' is the formatted size, e.g. "26.2 MB" */
|
||||
subtitle = g_strdup_printf (_("%s of disk space used"), formatted_size);
|
||||
subtitle = g_strdup_printf (_("%s of disk space used."), formatted_size);
|
||||
g_object_set (self->storage, "subtitle", subtitle, NULL);
|
||||
}
|
||||
|
||||
@@ -1610,6 +1638,9 @@ cc_applications_panel_dispose (GObject *object)
|
||||
CcApplicationsPanel *self = CC_APPLICATIONS_PANEL (object);
|
||||
|
||||
remove_all_handler_rows (self);
|
||||
#ifdef HAVE_SNAP
|
||||
remove_snap_permissions (self);
|
||||
#endif
|
||||
g_clear_object (&self->monitor);
|
||||
g_clear_object (&self->perm_store);
|
||||
|
||||
@@ -1751,6 +1782,7 @@ cc_applications_panel_class_init (CcApplicationsPanelClass *klass)
|
||||
gtk_widget_class_bind_template_child (widget_class, CcApplicationsPanel, notification);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcApplicationsPanel, background);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcApplicationsPanel, wallpaper);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcApplicationsPanel, screenshot);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcApplicationsPanel, shortcuts);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcApplicationsPanel, sidebar_box);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcApplicationsPanel, sidebar_listbox);
|
||||
@@ -1772,6 +1804,7 @@ cc_applications_panel_class_init (CcApplicationsPanelClass *klass)
|
||||
gtk_widget_class_bind_template_callback (widget_class, notification_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, background_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, wallpaper_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, screenshot_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, shortcuts_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, privacy_link_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, sound_cb);
|
||||
|
||||
@@ -130,11 +130,18 @@
|
||||
</child>
|
||||
<child>
|
||||
<object class="CcToggleRow" id="background">
|
||||
<property name="title" translatable="yes">Run in background</property>
|
||||
<property name="title" translatable="yes">Run in Background</property>
|
||||
<property name="subtitle" translatable="yes">Allow activity when the app is closed.</property>
|
||||
<signal name="notify::allowed" handler="background_cb" swapped="yes"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="CcToggleRow" id="screenshot">
|
||||
<property name="title" translatable="yes">Screenshots</property>
|
||||
<property name="subtitle" translatable="yes">Take pictures of the screen at any time.</property>
|
||||
<signal name="notify::allowed" handler="screenshot_cb" object="CcApplicationsPanel" swapped="yes"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="CcToggleRow" id="wallpaper">
|
||||
<property name="title" translatable="yes">Change Wallpaper</property>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
struct _CcInfoRow
|
||||
{
|
||||
GtkListBoxRow parent;
|
||||
AdwActionRow parent;
|
||||
|
||||
GtkWidget *info;
|
||||
GtkWidget *expander;
|
||||
|
||||
@@ -26,9 +26,8 @@
|
||||
|
||||
struct _CcSnapRow
|
||||
{
|
||||
GtkListBoxRow parent;
|
||||
AdwActionRow parent;
|
||||
|
||||
GtkLabel *title_label;
|
||||
GtkSwitch *slot_toggle;
|
||||
GtkComboBox *slots_combo;
|
||||
GtkListStore *slots_combo_model;
|
||||
@@ -40,7 +39,7 @@ struct _CcSnapRow
|
||||
GPtrArray *slots;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (CcSnapRow, cc_snap_row, GTK_TYPE_LIST_BOX_ROW)
|
||||
G_DEFINE_TYPE (CcSnapRow, cc_snap_row, ADW_TYPE_ACTION_ROW)
|
||||
|
||||
typedef struct
|
||||
{
|
||||
@@ -245,7 +244,6 @@ cc_snap_row_class_init (CcSnapRowClass *klass)
|
||||
|
||||
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/applications/cc-snap-row.ui");
|
||||
|
||||
gtk_widget_class_bind_template_child (widget_class, CcSnapRow, title_label);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcSnapRow, slot_toggle);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcSnapRow, slots_combo);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcSnapRow, slots_combo_model);
|
||||
@@ -295,7 +293,7 @@ cc_snap_row_new (GCancellable *cancellable, SnapdInterface *interface, SnapdPlug
|
||||
label = snapd_interface_make_label (interface);
|
||||
else
|
||||
label = g_strdup (snapd_plug_get_interface (plug));
|
||||
gtk_label_set_label (self->title_label, label);
|
||||
adw_preferences_row_set_title (ADW_PREFERENCES_ROW (self), label);
|
||||
|
||||
/* Add option into combo box */
|
||||
gtk_list_store_append (self->slots_combo_model, &iter);
|
||||
|
||||
@@ -20,13 +20,13 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <adwaita.h>
|
||||
#include <snapd-glib/snapd-glib.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define CC_TYPE_SNAP_ROW (cc_snap_row_get_type())
|
||||
G_DECLARE_FINAL_TYPE (CcSnapRow, cc_snap_row, CC, SNAP_ROW, GtkListBoxRow)
|
||||
G_DECLARE_FINAL_TYPE (CcSnapRow, cc_snap_row, CC, SNAP_ROW, AdwActionRow)
|
||||
|
||||
CcSnapRow* cc_snap_row_new (GCancellable *cancellable,
|
||||
SnapdInterface *interface,
|
||||
|
||||
@@ -8,45 +8,27 @@
|
||||
<column type="gchararray"/>
|
||||
</columns>
|
||||
</object>
|
||||
<template class="CcSnapRow" parent="GtkListBoxRow">
|
||||
<property name="visible">True</property>
|
||||
<template class="CcSnapRow" parent="AdwActionRow">
|
||||
<property name="can-focus">True</property>
|
||||
<property name="activatable">False</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="border-width">12</property>
|
||||
<property name="spacing">12</property>
|
||||
<object class="GtkSwitch" id="slot_toggle">
|
||||
<property name="valign">center</property>
|
||||
<signal name="notify::active" handler="switch_changed_cb" swapped="yes"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkComboBox" id="slots_combo">
|
||||
<property name="valign">center</property>
|
||||
<property name="model">slots_combo_model</property>
|
||||
<signal name="changed" handler="combo_changed_cb" swapped="yes"/>
|
||||
<child>
|
||||
<object class="GtkLabel" id="title_label">
|
||||
<property name="visible">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="hexpand">1</property>
|
||||
<object class="GtkCellRendererText">
|
||||
<property name="ellipsize">end</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSwitch" id="slot_toggle">
|
||||
<property name="visible">True</property>
|
||||
<property name="valign">center</property>
|
||||
<signal name="notify::active" handler="switch_changed_cb" swapped="yes"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkComboBox" id="slots_combo">
|
||||
<property name="visible">True</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="model">slots_combo_model</property>
|
||||
<signal name="changed" handler="combo_changed_cb" swapped="yes"/>
|
||||
<child>
|
||||
<object class="GtkCellRendererText">
|
||||
<property name="ellipsize">end</property>
|
||||
</object>
|
||||
<attributes>
|
||||
<attribute name="text">1</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
<attributes>
|
||||
<attribute name="text">1</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
@@ -11,6 +11,6 @@ NoDisplay=true
|
||||
StartupNotify=true
|
||||
Categories=GNOME;GTK;Settings;DesktopSettings;X-GNOME-Settings-Panel;X-GNOME-AccountSettings;
|
||||
OnlyShowIn=GNOME;Unity;
|
||||
# Translators: Search terms to find the Privacy panel. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
|
||||
# Translators: Search terms to find the Applications panel. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
|
||||
Keywords=application;flatpak;permission;setting;
|
||||
X-GNOME-ControlCenter-HasSidebar=true
|
||||
|
||||
@@ -41,17 +41,6 @@ struct _BgRecentSource
|
||||
|
||||
G_DEFINE_TYPE (BgRecentSource, bg_recent_source, BG_TYPE_SOURCE)
|
||||
|
||||
|
||||
static const gchar * const content_types[] = {
|
||||
"image/png",
|
||||
"image/jp2",
|
||||
"image/jpeg",
|
||||
"image/bmp",
|
||||
"image/svg+xml",
|
||||
"image/x-portable-anymap",
|
||||
NULL
|
||||
};
|
||||
|
||||
static int
|
||||
sort_func (gconstpointer a,
|
||||
gconstpointer b,
|
||||
@@ -89,7 +78,7 @@ add_file_from_info (BgRecentSource *self,
|
||||
content_type = g_file_info_get_content_type (info);
|
||||
mtime = g_file_info_get_attribute_uint64 (info, G_FILE_ATTRIBUTE_TIME_MODIFIED);
|
||||
|
||||
if (!content_type || !g_strv_contains (content_types, content_type))
|
||||
if (!content_type || !g_content_type_is_a (content_type, "image/*"))
|
||||
return;
|
||||
|
||||
uri = g_file_get_uri (file);
|
||||
|
||||
@@ -35,6 +35,27 @@ struct _BgWallpapersSource
|
||||
|
||||
G_DEFINE_TYPE (BgWallpapersSource, bg_wallpapers_source, BG_TYPE_SOURCE)
|
||||
|
||||
static int
|
||||
sort_func (gconstpointer a,
|
||||
gconstpointer b,
|
||||
gpointer user_data)
|
||||
{
|
||||
CcBackgroundItem *item_a;
|
||||
CcBackgroundItem *item_b;
|
||||
|
||||
item_a = (CcBackgroundItem *) a;
|
||||
item_b = (CcBackgroundItem *) b;
|
||||
|
||||
if (strcmp (cc_background_item_get_name (item_a), "Default Background") == 0)
|
||||
return -1;
|
||||
if (strcmp (cc_background_item_get_name (item_b), "Default Background") == 0)
|
||||
return 1;
|
||||
|
||||
|
||||
return strcmp (cc_background_item_get_name (item_a),
|
||||
cc_background_item_get_name (item_b));
|
||||
}
|
||||
|
||||
static void
|
||||
load_wallpapers (gchar *key,
|
||||
CcBackgroundItem *item,
|
||||
@@ -48,7 +69,7 @@ load_wallpapers (gchar *key,
|
||||
if (deleted)
|
||||
return;
|
||||
|
||||
g_list_store_append (store, item);
|
||||
g_list_store_insert_sorted (store, item, sort_func, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -157,6 +157,11 @@ create_widget_func (gpointer model_item,
|
||||
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), check);
|
||||
if (button)
|
||||
gtk_overlay_add_overlay (GTK_OVERLAY (overlay), button);
|
||||
gtk_accessible_update_property (GTK_ACCESSIBLE (overlay),
|
||||
GTK_ACCESSIBLE_PROPERTY_LABEL,
|
||||
cc_background_item_get_name (item),
|
||||
-1);
|
||||
|
||||
|
||||
child = gtk_flow_box_child_new ();
|
||||
gtk_widget_set_halign (child, GTK_ALIGN_CENTER);
|
||||
@@ -315,6 +320,7 @@ cc_background_chooser_select_file (CcBackgroundChooser *self)
|
||||
filter = gtk_file_filter_new ();
|
||||
gtk_file_filter_add_pixbuf_formats (filter);
|
||||
gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (filechooser), filter);
|
||||
gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (filechooser), TRUE);
|
||||
|
||||
pictures_folder = g_file_new_for_path (g_get_user_special_dir (G_USER_DIRECTORY_PICTURES));
|
||||
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (filechooser),
|
||||
|
||||
@@ -63,9 +63,9 @@ struct _CcBackgroundPanel
|
||||
CcBackgroundItem *current_background;
|
||||
|
||||
CcBackgroundChooser *background_chooser;
|
||||
CcBackgroundPreview *light_preview;
|
||||
CcBackgroundPreview *default_preview;
|
||||
CcBackgroundPreview *dark_preview;
|
||||
GtkToggleButton *light_toggle;
|
||||
GtkToggleButton *default_toggle;
|
||||
GtkToggleButton *dark_toggle;
|
||||
};
|
||||
|
||||
@@ -84,7 +84,7 @@ load_custom_css (CcBackgroundPanel *self)
|
||||
}
|
||||
|
||||
static void
|
||||
reload_light_dark_toggles (CcBackgroundPanel *self)
|
||||
reload_color_scheme_toggles (CcBackgroundPanel *self)
|
||||
{
|
||||
GDesktopColorScheme scheme;
|
||||
|
||||
@@ -92,7 +92,7 @@ reload_light_dark_toggles (CcBackgroundPanel *self)
|
||||
|
||||
if (scheme == G_DESKTOP_COLOR_SCHEME_DEFAULT)
|
||||
{
|
||||
gtk_toggle_button_set_active (self->light_toggle, TRUE);
|
||||
gtk_toggle_button_set_active (self->default_toggle, TRUE);
|
||||
}
|
||||
else if (scheme == G_DESKTOP_COLOR_SCHEME_PREFER_DARK)
|
||||
{
|
||||
@@ -100,7 +100,7 @@ reload_light_dark_toggles (CcBackgroundPanel *self)
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_toggle_button_set_active (self->light_toggle, FALSE);
|
||||
gtk_toggle_button_set_active (self->default_toggle, FALSE);
|
||||
gtk_toggle_button_set_active (self->dark_toggle, FALSE);
|
||||
}
|
||||
}
|
||||
@@ -149,9 +149,9 @@ set_color_scheme (CcBackgroundPanel *self,
|
||||
/* Color schemes */
|
||||
|
||||
static void
|
||||
on_light_dark_toggle_active_cb (CcBackgroundPanel *self)
|
||||
on_color_scheme_toggle_active_cb (CcBackgroundPanel *self)
|
||||
{
|
||||
if (gtk_toggle_button_get_active (self->light_toggle))
|
||||
if (gtk_toggle_button_get_active (self->default_toggle))
|
||||
set_color_scheme (self, G_DESKTOP_COLOR_SCHEME_DEFAULT);
|
||||
else if (gtk_toggle_button_get_active (self->dark_toggle))
|
||||
set_color_scheme (self, G_DESKTOP_COLOR_SCHEME_PREFER_DARK);
|
||||
@@ -182,7 +182,7 @@ update_preview (CcBackgroundPanel *panel)
|
||||
CcBackgroundItem *current_background;
|
||||
|
||||
current_background = panel->current_background;
|
||||
cc_background_preview_set_item (panel->light_preview, current_background);
|
||||
cc_background_preview_set_item (panel->default_preview, current_background);
|
||||
cc_background_preview_set_item (panel->dark_preview, current_background);
|
||||
}
|
||||
|
||||
@@ -389,12 +389,12 @@ cc_background_panel_class_init (CcBackgroundPanelClass *klass)
|
||||
gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/background/cc-background-panel.ui");
|
||||
|
||||
gtk_widget_class_bind_template_child (widget_class, CcBackgroundPanel, background_chooser);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcBackgroundPanel, light_preview);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcBackgroundPanel, default_preview);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcBackgroundPanel, dark_preview);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcBackgroundPanel, light_toggle);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcBackgroundPanel, default_toggle);
|
||||
gtk_widget_class_bind_template_child (widget_class, CcBackgroundPanel, dark_toggle);
|
||||
|
||||
gtk_widget_class_bind_template_callback (widget_class, on_light_dark_toggle_active_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, on_color_scheme_toggle_active_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, on_chooser_background_chosen_cb);
|
||||
gtk_widget_class_bind_template_callback (widget_class, on_add_picture_button_clicked_cb);
|
||||
}
|
||||
@@ -433,11 +433,11 @@ cc_background_panel_init (CcBackgroundPanel *panel)
|
||||
g_signal_connect_object (panel->settings, "changed", G_CALLBACK (on_settings_changed), panel, G_CONNECT_SWAPPED);
|
||||
|
||||
/* Interface settings */
|
||||
reload_light_dark_toggles (panel);
|
||||
reload_color_scheme_toggles (panel);
|
||||
|
||||
g_signal_connect_object (panel->interface_settings,
|
||||
"changed::" INTERFACE_COLOR_SCHEME_KEY,
|
||||
G_CALLBACK (reload_light_dark_toggles),
|
||||
G_CALLBACK (reload_color_scheme_toggles),
|
||||
panel,
|
||||
G_CONNECT_SWAPPED);
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
<property name="tightening_threshold">300</property>
|
||||
<child>
|
||||
<object class="GtkGrid">
|
||||
<property name="column-homogeneous">True</property>
|
||||
<property name="column-spacing">24</property>
|
||||
<property name="row-spacing">12</property>
|
||||
<property name="margin-start">12</property>
|
||||
@@ -26,10 +27,13 @@
|
||||
<property name="margin-bottom">12</property>
|
||||
<property name="hexpand">True</property>
|
||||
<child>
|
||||
<object class="GtkToggleButton" id="light_toggle">
|
||||
<signal name="notify::active" handler="on_light_dark_toggle_active_cb" swapped="true"/>
|
||||
<object class="GtkToggleButton" id="default_toggle">
|
||||
<accessibility>
|
||||
<relation name="labelled-by">default_label</relation>
|
||||
</accessibility>
|
||||
<signal name="notify::active" handler="on_color_scheme_toggle_active_cb" swapped="true"/>
|
||||
<child>
|
||||
<object class="CcBackgroundPreview" id="light_preview"/>
|
||||
<object class="CcBackgroundPreview" id="default_preview"/>
|
||||
</child>
|
||||
<style>
|
||||
<class name="background-preview-button"/>
|
||||
@@ -41,8 +45,8 @@
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="label" translatable="yes">Light</property>
|
||||
<object class="GtkLabel" id="default_label">
|
||||
<property name="label" translatable="yes">Default</property>
|
||||
<layout>
|
||||
<property name="column">0</property>
|
||||
<property name="row">1</property>
|
||||
@@ -51,8 +55,11 @@
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToggleButton" id="dark_toggle">
|
||||
<property name="group">light_toggle</property>
|
||||
<signal name="notify::active" handler="on_light_dark_toggle_active_cb" swapped="true"/>
|
||||
<property name="group">default_toggle</property>
|
||||
<accessibility>
|
||||
<relation name="labelled-by">dark_label</relation>
|
||||
</accessibility>
|
||||
<signal name="notify::active" handler="on_color_scheme_toggle_active_cb" swapped="true"/>
|
||||
<child>
|
||||
<object class="CcBackgroundPreview" id="dark_preview">
|
||||
<property name="is-dark">True</property>
|
||||
@@ -68,7 +75,7 @@
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<object class="GtkLabel" id="dark_label">
|
||||
<property name="label" translatable="yes">Dark</property>
|
||||
<layout>
|
||||
<property name="column">1</property>
|
||||
|
||||
@@ -11,4 +11,4 @@ StartupNotify=true
|
||||
Categories=GNOME;GTK;Settings;DesktopSettings;X-GNOME-Settings-Panel;X-GNOME-PersonalizationSettings;
|
||||
OnlyShowIn=GNOME;
|
||||
# Translators: Search terms to find the Appearance panel. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
|
||||
Keywords=Background;Wallpaper;Screen;Desktop;Style;Light;Dark;
|
||||
Keywords=Background;Wallpaper;Screen;Desktop;Style;Light;Dark;Appearance;
|
||||
|
||||
@@ -12,7 +12,6 @@ background-preview .window {
|
||||
|
||||
background-preview .window .header-bar {
|
||||
min-height: 15px;
|
||||
box-shadow: inset 0 -1px @borders;
|
||||
}
|
||||
|
||||
background-preview .window.light {
|
||||
@@ -20,6 +19,10 @@ background-preview .window.light {
|
||||
color: alpha(black, .8);
|
||||
}
|
||||
|
||||
background-preview .window.light .header-bar {
|
||||
box-shadow: inset 0 -1px alpha(black, .07);
|
||||
}
|
||||
|
||||
background-preview .window.front.light .header-bar {
|
||||
background-color: #ebebeb;
|
||||
}
|
||||
@@ -29,6 +32,10 @@ background-preview .window.dark {
|
||||
color: white;
|
||||
}
|
||||
|
||||
background-preview .window.dark .header-bar {
|
||||
box-shadow: inset 0 -1px alpha(black, .36);
|
||||
}
|
||||
|
||||
background-preview .window.front.dark .header-bar {
|
||||
background-color: #303030;
|
||||
}
|
||||
|
||||
@@ -117,8 +117,8 @@ class GccDBusTestCase(DBusTestCase):
|
||||
adapter.UpdateProperties('org.bluez.Adapter1',
|
||||
{'Powered': dbus.Boolean(self.hci0_powered, variant_level=1)})
|
||||
self.devices = []
|
||||
self.add_device('hci0', '22:33:44:55:66:77', "Bastien's mouse", True, 0x580, 'input-mouse')
|
||||
self.add_device('hci0', '22:33:44:55:66:78', 'Bloutouf keyboard', True, 0x540, 'input-keyboard')
|
||||
self.add_device('hci0', '22:33:44:55:66:77', "Bastienʼs mouse", True, 0x580, 'input-mouse')
|
||||
self.add_device('hci0', '22:33:44:55:66:78', 'Bloutouf keyboard & keys', True, 0x540, 'input-keyboard')
|
||||
self.add_device('hci0', '60:8B:0E:55:66:79', 'iPhoone 19S', True, 0x20C, 'phone')
|
||||
# Uncategorised audio device
|
||||
self.add_device('hci0', '22:33:44:55:66:79', 'MEGA Speakers', True, 0x200400, 'audio-card')
|
||||
|
||||
@@ -7,6 +7,9 @@
|
||||
<child>
|
||||
<object class="GtkSwitch" id="enable_switch">
|
||||
<property name="valign">center</property>
|
||||
<accessibility>
|
||||
<property name="label" translatable="yes">Enable</property>
|
||||
</accessibility>
|
||||
<signal name="state-set" handler="enable_switch_state_set_cb" object="CcBluetoothPanel" swapped="yes"/>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
|
||||
<child type="titlebar-end">
|
||||
<object class="GtkSwitch" id="main_switch">
|
||||
<accessibility>
|
||||
<property name="label" translatable="yes">Enable</property>
|
||||
</accessibility>
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
@@ -15,5 +15,5 @@ X-GNOME-Bugzilla-Bugzilla=GNOME
|
||||
X-GNOME-Bugzilla-Product=gnome-control-center
|
||||
X-GNOME-Bugzilla-Component=privacy
|
||||
X-GNOME-Bugzilla-Version=@VERSION@
|
||||
# Translators: Search terms to find the Privacy panel. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
|
||||
Keywords=screen;lock;diagnostics;crash;private;recent;temporary;tmp;index;name;network;identity;
|
||||
# Translators: Search terms to find the Camera panel. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
|
||||
Keywords=camera;photos;video;webcam;lock;private;privacy;
|
||||
|
||||
@@ -603,96 +603,6 @@ cc_color_calibrate_cancel (CcColorCalibrate *calibrate)
|
||||
g_main_loop_quit (calibrate->loop);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
cc_color_calibrate_move_and_resize_window (GtkWindow *window,
|
||||
CdDevice *device,
|
||||
GError **error)
|
||||
{
|
||||
g_autoptr(GListModel) monitors = NULL;
|
||||
g_autoptr(GdkMonitor) monitor = NULL;
|
||||
const gchar *xrandr_name;
|
||||
gboolean ret = TRUE;
|
||||
GdkRectangle rect;
|
||||
GdkDisplay *display;
|
||||
gint i;
|
||||
gint monitor_num = -1;
|
||||
gint num_monitors;
|
||||
|
||||
/* find the monitor num of the device output */
|
||||
display = gdk_display_get_default ();
|
||||
monitors = gdk_display_get_monitors (display);
|
||||
num_monitors = g_list_model_get_n_items (monitors);
|
||||
xrandr_name = cd_device_get_metadata_item (device, CD_DEVICE_METADATA_XRANDR_NAME);
|
||||
for (i = 0; i < num_monitors; i++)
|
||||
{
|
||||
g_autoptr(GdkMonitor) m = NULL;
|
||||
const gchar *plug_name;
|
||||
|
||||
m = g_list_model_get_item (monitors, i);
|
||||
plug_name = gdk_monitor_get_model (m);
|
||||
|
||||
if (g_strcmp0 (plug_name, xrandr_name) == 0)
|
||||
monitor_num = i;
|
||||
}
|
||||
if (monitor_num == -1)
|
||||
{
|
||||
ret = FALSE;
|
||||
g_set_error (error,
|
||||
CD_SESSION_ERROR,
|
||||
CD_SESSION_ERROR_INTERNAL,
|
||||
"failed to find output %s",
|
||||
xrandr_name);
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* move the window, and set it to the right size */
|
||||
monitor = g_list_model_get_item (monitors, monitor_num);
|
||||
gdk_monitor_get_geometry (monitor, &rect);
|
||||
g_debug ("Setting window to %ix%i with size %ix%i",
|
||||
rect.x, rect.y, rect.width, rect.height);
|
||||
out:
|
||||
return ret;
|
||||
}
|
||||
#if 0
|
||||
static void
|
||||
cc_color_calibrate_window_realize_cb (CcColorCalibrate *self)
|
||||
{
|
||||
GtkWidget *widget;
|
||||
|
||||
widget = GTK_WIDGET (gtk_builder_get_object (self->builder,
|
||||
"dialog_calibrate"));
|
||||
gtk_window_fullscreen (GTK_WINDOW (widget));
|
||||
gtk_window_maximize (GTK_WINDOW (widget));
|
||||
}
|
||||
|
||||
static gboolean
|
||||
cc_color_calibrate_window_state_cb (CcColorCalibrate *calibrate,
|
||||
GdkEvent *event)
|
||||
{
|
||||
gboolean ret;
|
||||
g_autoptr(GError) error = NULL;
|
||||
GdkEventWindowState *event_state = (GdkEventWindowState *) event;
|
||||
GtkWindow *window;
|
||||
|
||||
window = GTK_WINDOW (gtk_builder_get_object (calibrate->builder,
|
||||
"dialog_calibrate"));
|
||||
|
||||
/* check event */
|
||||
if (event->type != GDK_WINDOW_STATE)
|
||||
return TRUE;
|
||||
if (event_state->changed_mask != GDK_WINDOW_STATE_FULLSCREEN)
|
||||
return TRUE;
|
||||
|
||||
/* resize to the correct screen */
|
||||
ret = cc_color_calibrate_move_and_resize_window (window,
|
||||
calibrate->device,
|
||||
&error);
|
||||
if (!ret)
|
||||
g_warning ("Failed to resize window: %s", error->message);
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
cc_color_calibrate_button_done_cb (CcColorCalibrate *calibrate)
|
||||
{
|
||||
@@ -989,14 +899,6 @@ cc_color_calibrate_start (CcColorCalibrate *calibrate,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
cc_color_calibrate_delete_event_cb (CcColorCalibrate *calibrate)
|
||||
{
|
||||
/* do not destroy the window */
|
||||
cc_color_calibrate_cancel (calibrate);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
cc_color_calibrate_finalize (GObject *object)
|
||||
{
|
||||
@@ -1079,19 +981,6 @@ cc_color_calibrate_init (CcColorCalibrate *calibrate)
|
||||
/* setup the specialist calibration window */
|
||||
window = GTK_WINDOW (gtk_builder_get_object (calibrate->builder,
|
||||
"dialog_calibrate"));
|
||||
/*
|
||||
g_signal_connect_object (window, "draw",
|
||||
G_CALLBACK (cc_color_calibrate_alpha_window_draw), calibrate, G_CONNECT_SWAPPED);
|
||||
g_signal_connect_object (window, "realize",
|
||||
G_CALLBACK (cc_color_calibrate_window_realize_cb), calibrate, G_CONNECT_SWAPPED);
|
||||
g_signal_connect_object (window, "window-state-event",
|
||||
G_CALLBACK (cc_color_calibrate_window_state_cb), calibrate, G_CONNECT_SWAPPED);
|
||||
g_signal_connect_object (window, "delete-event",
|
||||
G_CALLBACK (cc_color_calibrate_delete_event_cb), calibrate, G_CONNECT_SWAPPED);
|
||||
cc_color_calibrate_alpha_screen_changed_cb (calibrate);
|
||||
g_signal_connect_object (window, "screen-changed",
|
||||
G_CALLBACK (cc_color_calibrate_alpha_screen_changed_cb), calibrate, G_CONNECT_SWAPPED);
|
||||
*/
|
||||
calibrate->window = window;
|
||||
}
|
||||
|
||||
|
||||
@@ -112,9 +112,17 @@ cc_language_row_new (const gchar *locale_id)
|
||||
self->language_local = get_language_label (language_code, modifier, NULL);
|
||||
gtk_label_set_label (self->language_label, self->language);
|
||||
|
||||
self->country = gnome_get_country_from_code (country_code, locale_id);
|
||||
self->country_local = gnome_get_country_from_code (country_code, NULL);
|
||||
gtk_label_set_label (self->country_label, self->country);
|
||||
if (country_code == NULL)
|
||||
{
|
||||
self->country = NULL;
|
||||
self->country_local = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
self->country = gnome_get_country_from_code (country_code, locale_id);
|
||||
self->country_local = gnome_get_country_from_code (country_code, NULL);
|
||||
gtk_label_set_label (self->country_label, self->country);
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
<child>
|
||||
<object class="GtkLabel" id="title">
|
||||
<property name="halign">start</property>
|
||||
<property name="wrap">True</property>
|
||||
<!-- Actual string set in code -->
|
||||
<property name="label"></property>
|
||||
<attributes>
|
||||
@@ -37,6 +38,7 @@
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="halign">start</property>
|
||||
<property name="wrap">True</property>
|
||||
<property name="label" translatable="yes">Some settings must be unlocked before they can be changed.</property>
|
||||
</object>
|
||||
</child>
|
||||
@@ -55,6 +57,7 @@
|
||||
<object class="GtkLockButton" id="lock_button">
|
||||
<property name="receives-default">True</property>
|
||||
<property name="label" translatable="yes">Unlock…</property>
|
||||
<property name="valign">GTK_ALIGN_CENTER</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
||||
@@ -108,6 +108,7 @@ time_editor_time_changed_cb (CcTimeEditor *self)
|
||||
{
|
||||
g_assert (CC_IS_TIME_EDITOR (self));
|
||||
|
||||
time_editor_clock_changed_cb (self);
|
||||
g_signal_emit (self, signals[TIME_CHANGED], 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -568,6 +568,8 @@ cc_time_entry_set_time (CcTimeEntry *self,
|
||||
self->minute = CLAMP (minute, 0, 59);
|
||||
|
||||
cc_time_entry_set_am_pm (self, is_am_pm);
|
||||
|
||||
g_signal_emit (self, signals[TIME_CHANGED], 0);
|
||||
time_entry_fill_time (self);
|
||||
}
|
||||
|
||||
|
||||
@@ -168,6 +168,9 @@
|
||||
<child>
|
||||
<object class="GtkSwitch" id="network_time_switch">
|
||||
<property name="valign">center</property>
|
||||
<accessibility>
|
||||
<property name="label" translatable="yes">Enable</property>
|
||||
</accessibility>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
@@ -205,6 +208,9 @@
|
||||
<child>
|
||||
<object class="GtkSwitch" id="auto_timezone_switch">
|
||||
<property name="valign">center</property>
|
||||
<accessibility>
|
||||
<property name="label" translatable="yes">Enabled</property>
|
||||
</accessibility>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
||||
@@ -48,11 +48,8 @@ struct _CcTimezoneMap
|
||||
GdkTexture *orig_background_dim;
|
||||
|
||||
GdkTexture *background;
|
||||
GdkTexture *color_map;
|
||||
GdkTexture *pin;
|
||||
|
||||
gdouble selected_offset;
|
||||
|
||||
TzDB *tzdb;
|
||||
TzLocation *location;
|
||||
|
||||
@@ -85,7 +82,6 @@ cc_timezone_map_dispose (GObject *object)
|
||||
{
|
||||
CcTimezoneMap *self = CC_TIMEZONE_MAP (object);
|
||||
|
||||
g_clear_object (&self->color_map);
|
||||
g_clear_object (&self->orig_background);
|
||||
g_clear_object (&self->orig_background_dim);
|
||||
g_clear_object (&self->background);
|
||||
@@ -286,12 +282,8 @@ cc_timezone_map_snapshot (GtkWidget *widget,
|
||||
GtkSnapshot *snapshot)
|
||||
{
|
||||
CcTimezoneMap *map = CC_TIMEZONE_MAP (widget);
|
||||
g_autoptr(GdkTexture) orig_highlight = NULL;
|
||||
g_autofree gchar *file = NULL;
|
||||
g_autoptr(GError) err = NULL;
|
||||
gdouble pointx, pointy;
|
||||
gint width, height;
|
||||
char buf[16];
|
||||
|
||||
width = gtk_widget_get_width (widget);
|
||||
height = gtk_widget_get_height (widget);
|
||||
@@ -301,35 +293,6 @@ cc_timezone_map_snapshot (GtkWidget *widget,
|
||||
map->background,
|
||||
&GRAPHENE_RECT_INIT (0, 0, width, height));
|
||||
|
||||
/* paint highlight */
|
||||
if (gtk_widget_is_sensitive (widget))
|
||||
{
|
||||
file = g_strdup_printf (DATETIME_RESOURCE_PATH "/timezone_%s.png",
|
||||
g_ascii_formatd (buf, sizeof (buf),
|
||||
"%g", map->selected_offset));
|
||||
}
|
||||
else
|
||||
{
|
||||
file = g_strdup_printf (DATETIME_RESOURCE_PATH "/timezone_%s_dim.png",
|
||||
g_ascii_formatd (buf, sizeof (buf),
|
||||
"%g", map->selected_offset));
|
||||
|
||||
}
|
||||
|
||||
orig_highlight = texture_from_resource (file, &err);
|
||||
|
||||
if (!orig_highlight)
|
||||
{
|
||||
g_warning ("Could not load highlight: %s",
|
||||
(err) ? err->message : "Unknown Error");
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_snapshot_append_texture (snapshot,
|
||||
orig_highlight,
|
||||
&GRAPHENE_RECT_INIT (0, 0, width, height));
|
||||
}
|
||||
|
||||
if (map->location)
|
||||
{
|
||||
pointx = convert_longitude_to_x (map->location->longitude, width);
|
||||
@@ -426,8 +389,6 @@ set_location (CcTimezoneMap *map,
|
||||
|
||||
info = tz_info_from_location (map->location);
|
||||
|
||||
map->selected_offset = tz_location_get_base_utc_offset (map->location)
|
||||
/ (60.0*60.0);
|
||||
gtk_widget_queue_draw (GTK_WIDGET (map));
|
||||
|
||||
g_signal_emit (map, signals[LOCATION_CHANGED], 0, map->location);
|
||||
@@ -499,14 +460,6 @@ cc_timezone_map_init (CcTimezoneMap *map)
|
||||
g_clear_error (&err);
|
||||
}
|
||||
|
||||
map->color_map = texture_from_resource (DATETIME_RESOURCE_PATH "/cc.png", &err);
|
||||
if (!map->color_map)
|
||||
{
|
||||
g_warning ("Could not load background image: %s",
|
||||
(err) ? err->message : "Unknown error");
|
||||
g_clear_error (&err);
|
||||
}
|
||||
|
||||
map->pin = texture_from_resource (DATETIME_RESOURCE_PATH "/pin.png", &err);
|
||||
if (!map->pin)
|
||||
{
|
||||
|
||||
|
Before Width: | Height: | Size: 208 KiB After Width: | Height: | Size: 83 KiB |
|
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 666 B After Width: | Height: | Size: 447 B |
|
Before Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 740 B |
|
Before Width: | Height: | Size: 995 B |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 437 B |
|
Before Width: | Height: | Size: 859 B |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 437 B |
|
Before Width: | Height: | Size: 859 B |
|
Before Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 421 B |
|
Before Width: | Height: | Size: 844 B |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 446 B |
|
Before Width: | Height: | Size: 868 B |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 409 B |
|
Before Width: | Height: | Size: 846 B |
|
Before Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 621 B |
|
Before Width: | Height: | Size: 876 B |
|
Before Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 3.4 KiB |