Compare commits
21 Commits
Author | SHA1 | Date | |
---|---|---|---|
3a060d755d | |||
e43c8f6364 | |||
e65bd48062 | |||
1c5f926a70 | |||
92f1e88e06 | |||
5100458c1b | |||
5150166336 | |||
d0d9c249de | |||
2d9ed18668 | |||
a1af8b94fd | |||
0539efc8df | |||
059c729da0 | |||
2d0e84469e | |||
59559d5fc2 | |||
c062be25d6 | |||
e5cfdf9f48 | |||
6db9f51bda | |||
8cefd91933 | |||
435d9ed750 | |||
78d6ccd804 | |||
f662864ada |
@ -17,6 +17,8 @@ variables:
|
|||||||
check_commit_log:
|
check_commit_log:
|
||||||
image: registry.gitlab.gnome.org/gnome/mutter/master:v1
|
image: registry.gitlab.gnome.org/gnome/mutter/master:v1
|
||||||
stage: review
|
stage: review
|
||||||
|
variables:
|
||||||
|
GIT_DEPTH: "100"
|
||||||
script:
|
script:
|
||||||
- ./.gitlab-ci/check-commit-log.sh
|
- ./.gitlab-ci/check-commit-log.sh
|
||||||
only:
|
only:
|
||||||
|
@ -17,15 +17,19 @@ if [ "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then
|
|||||||
merge_request_branch=$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
|
merge_request_branch=$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
|
||||||
|
|
||||||
echo Looking for $merge_request_branch on remote ...
|
echo Looking for $merge_request_branch on remote ...
|
||||||
if git fetch $merge_request_remote $merge_request_branch >/dev/null 2>&1; then
|
if git fetch -q $merge_request_remote $merge_request_branch 2>/dev/null; then
|
||||||
mutter_target=FETCH_HEAD
|
mutter_target=FETCH_HEAD
|
||||||
|
else
|
||||||
|
mutter_target=origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
|
||||||
|
echo Using $mutter_target instead
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$mutter_target" ]; then
|
if [ -z "$mutter_target" ]; then
|
||||||
mutter_target=$(git branch -r -l $shell_branch)
|
mutter_target=$(git branch -r -l origin/$shell_branch)
|
||||||
|
mutter_target=${mutter_target:-$(git branch -r -l ${shell_branch#remotes/})}
|
||||||
mutter_target=${mutter_target:-origin/master}
|
mutter_target=${mutter_target:-origin/master}
|
||||||
echo Using $mutter_target instead
|
echo Using $mutter_target instead
|
||||||
fi
|
fi
|
||||||
|
|
||||||
git checkout $mutter_target
|
git checkout -q $mutter_target
|
||||||
|
19
NEWS
19
NEWS
@ -1,3 +1,22 @@
|
|||||||
|
3.32.2
|
||||||
|
======
|
||||||
|
* Fix tablet button mapping overlay [Carlos; #1220]
|
||||||
|
* Fix ellipsization in dialog subtitles/bodies [Marco; !531]
|
||||||
|
* Don't crash for world clock locations with no timezone<Paste> [Florian; #1062]
|
||||||
|
* Handle network interface name changes [Fabrice; !534]
|
||||||
|
* Don't leak old on-screen keyboard layout groups [Carlos; mutter#556]
|
||||||
|
* Avoid unnecessary style changes when computing :first/:last-child
|
||||||
|
[Florian; !529]
|
||||||
|
* Misc. bug fixes [Simon, Carlos, Florian; #822, !551, !509,
|
||||||
|
!511, #1054, !506, #1065]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Fabrice Bellet, Carlos Garnacho, Simon McVittie, Florian Müllner,
|
||||||
|
Marco Trevisan (Treviño)
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Dingzhong Chen [zh_CN], Tim Sabsch [de]
|
||||||
|
|
||||||
3.32.1
|
3.32.1
|
||||||
======
|
======
|
||||||
* Fix avatar scaling on login screen [Florian; #1024]
|
* Fix avatar scaling on login screen [Florian; #1024]
|
||||||
|
@ -118,7 +118,7 @@ var WorldClocksSection = class WorldClocksSection {
|
|||||||
if (!clocks[i].location)
|
if (!clocks[i].location)
|
||||||
continue;
|
continue;
|
||||||
let l = world.deserialize(clocks[i].location);
|
let l = world.deserialize(clocks[i].location);
|
||||||
if (l)
|
if (l && l.get_timezone() != null)
|
||||||
this._locations.push({ location: l });
|
this._locations.push({ location: l });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -175,7 +175,7 @@ var MessageDialogContent = GObject.registerClass({
|
|||||||
this[`_${prop}`].add_style_class_name(`message-dialog-${prop}`);
|
this[`_${prop}`].add_style_class_name(`message-dialog-${prop}`);
|
||||||
});
|
});
|
||||||
|
|
||||||
let textProps = { ellipsize_mode: Pango.EllipsizeMode.NONE,
|
let textProps = { ellipsize: Pango.EllipsizeMode.NONE,
|
||||||
line_wrap: true };
|
line_wrap: true };
|
||||||
Object.assign(this._subtitle.clutter_text, textProps);
|
Object.assign(this._subtitle.clutter_text, textProps);
|
||||||
Object.assign(this._body.clutter_text, textProps);
|
Object.assign(this._body.clutter_text, textProps);
|
||||||
|
@ -1470,7 +1470,12 @@ var Keyboard = class Keyboard {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_onKeyboardGroupsChanged(keyboard) {
|
_onKeyboardGroupsChanged(keyboard) {
|
||||||
this._groups = [];
|
let nonGroupActors = [this._emojiSelection.actor, this._keypad.actor];
|
||||||
|
this._aspectContainer.get_children().filter(c => !nonGroupActors.includes(c)).forEach(c => {
|
||||||
|
c.destroy();
|
||||||
|
});
|
||||||
|
|
||||||
|
this._groups = {};
|
||||||
this._onGroupChanged();
|
this._onGroupChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -369,17 +369,15 @@ class DashSpacer extends St.Widget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
vfunc_get_preferred_width(forHeight) {
|
vfunc_get_preferred_width(forHeight) {
|
||||||
let box = this.get_allocation_box();
|
if (this._bindConstraint)
|
||||||
let minWidth = super.vfunc_get_preferred_width(forHeight)[0];
|
return this._bindConstraint.source.get_preferred_width(forHeight);
|
||||||
let natWidth = box.x2 - box.x1;
|
return super.vfunc_get_preferred_width(forHeight);
|
||||||
return [minWidth, natWidth];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
vfunc_get_preferred_height(forWidth) {
|
vfunc_get_preferred_height(forWidth) {
|
||||||
let box = this.get_allocation_box();
|
if (this._bindConstraint)
|
||||||
let minHeight = super.vfunc_get_preferred_height(forWidth)[0];
|
return this._bindConstraint.source.get_preferred_height(forWidth);
|
||||||
let natHeight = box.y2 - box.y1;
|
return super.vfunc_get_preferred_height(forWidth);
|
||||||
return [minHeight, natHeight];
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -374,12 +374,12 @@ var PadDiagram = GObject.registerClass({
|
|||||||
svgData += this._cssString();
|
svgData += this._cssString();
|
||||||
svgData += this._wrappingSvgFooter();
|
svgData += this._wrappingSvgFooter();
|
||||||
|
|
||||||
let handle = new Rsvg.Handle();
|
let istream = new Gio.MemoryInputStream();
|
||||||
handle.set_base_uri(GLib.path_get_dirname(this._imagePath));
|
istream.add_bytes(new GLib.Bytes(svgData));
|
||||||
handle.write(svgData);
|
|
||||||
handle.close();
|
|
||||||
|
|
||||||
return handle;
|
return Rsvg.Handle.new_from_stream_sync(istream,
|
||||||
|
Gio.File.new_for_path(this._imagePath),
|
||||||
|
0, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
_updateDiagramScale() {
|
_updateDiagramScale() {
|
||||||
|
@ -882,7 +882,7 @@ class Panel extends St.Widget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
vfunc_allocate(box, flags) {
|
vfunc_allocate(box, flags) {
|
||||||
super.vfunc_allocate(box, flags);
|
this.set_allocation(box, flags);
|
||||||
|
|
||||||
let allocWidth = box.x2 - box.x1;
|
let allocWidth = box.x2 - box.x1;
|
||||||
let allocHeight = box.y2 - box.y1;
|
let allocHeight = box.y2 - box.y1;
|
||||||
|
@ -1730,14 +1730,24 @@ var NMApplet = class extends PanelMenu.SystemIndicator {
|
|||||||
this._addDeviceWrapper(wrapper);
|
this._addDeviceWrapper(wrapper);
|
||||||
|
|
||||||
this._nmDevices.push(device);
|
this._nmDevices.push(device);
|
||||||
if (!skipSyncDeviceNames)
|
this._deviceChanged(device, skipSyncDeviceNames);
|
||||||
this._syncDeviceNames();
|
|
||||||
|
|
||||||
if (wrapper instanceof NMConnectionSection) {
|
device.connect('notify::interface', () => {
|
||||||
this._connections.forEach(connection => {
|
this._deviceChanged(device, false);
|
||||||
wrapper.checkConnection(connection);
|
});
|
||||||
});
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_deviceChanged(device, skipSyncDeviceNames) {
|
||||||
|
let wrapper = device._delegate;
|
||||||
|
|
||||||
|
if (!skipSyncDeviceNames)
|
||||||
|
this._syncDeviceNames();
|
||||||
|
|
||||||
|
if (wrapper instanceof NMConnectionSection) {
|
||||||
|
this._connections.forEach(connection => {
|
||||||
|
wrapper.checkConnection(connection);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -479,12 +479,12 @@ var WorkspacesDisplay = class {
|
|||||||
this.actor.connect('notify::mapped', () => {
|
this.actor.connect('notify::mapped', () => {
|
||||||
switchGesture.enabled = this.actor.mapped;
|
switchGesture.enabled = this.actor.mapped;
|
||||||
});
|
});
|
||||||
switchGesture.enabled = this.actor.mapped;
|
|
||||||
|
|
||||||
this._primaryIndex = Main.layoutManager.primaryIndex;
|
this._primaryIndex = Main.layoutManager.primaryIndex;
|
||||||
|
|
||||||
this._workspacesViews = [];
|
this._workspacesViews = [];
|
||||||
this._primaryScrollAdjustment = null;
|
this._primaryScrollAdjustment = null;
|
||||||
|
switchGesture.enabled = this.actor.mapped;
|
||||||
|
|
||||||
this._settings = new Gio.Settings({ schema_id: MUTTER_SCHEMA });
|
this._settings = new Gio.Settings({ schema_id: MUTTER_SCHEMA });
|
||||||
this._settings.connect('changed::workspaces-only-on-primary',
|
this._settings.connect('changed::workspaces-only-on-primary',
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
project('gnome-shell', 'c',
|
project('gnome-shell', 'c',
|
||||||
version: '3.32.1',
|
version: '3.32.2',
|
||||||
meson_version: '>= 0.47.0',
|
meson_version: '>= 0.47.0',
|
||||||
license: 'GPLv2+'
|
license: 'GPLv2+'
|
||||||
)
|
)
|
||||||
|
128
po/de.po
128
po/de.po
@ -16,14 +16,14 @@
|
|||||||
# Benjamin Steinwender <b@stbe.at>, 2013-2014.
|
# Benjamin Steinwender <b@stbe.at>, 2013-2014.
|
||||||
# Bernd Homuth <dev@hmt.im>, 2014-2015, 2016, 2019.
|
# Bernd Homuth <dev@hmt.im>, 2014-2015, 2016, 2019.
|
||||||
# Franco Della-Monica <franco.della.monica@gmail.com>, 2016.
|
# Franco Della-Monica <franco.della.monica@gmail.com>, 2016.
|
||||||
# Tim Sabsch <tim@sabsch.com>, 2018.
|
# Tim Sabsch <tim@sabsch.com>, 2018-2019.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell master\n"
|
"Project-Id-Version: gnome-shell master\n"
|
||||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||||
"POT-Creation-Date: 2019-03-02 19:56+0000\n"
|
"POT-Creation-Date: 2019-05-08 10:16+0000\n"
|
||||||
"PO-Revision-Date: 2019-03-02 21:13+0100\n"
|
"PO-Revision-Date: 2019-05-12 12:36+0200\n"
|
||||||
"Last-Translator: Tim Sabsch <tim@sabsch.com>\n"
|
"Last-Translator: Tim Sabsch <tim@sabsch.com>\n"
|
||||||
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
|
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
|
||||||
"Language: de\n"
|
"Language: de\n"
|
||||||
@ -390,11 +390,6 @@ msgstr ""
|
|||||||
msgid "Network Login"
|
msgid "Network Login"
|
||||||
msgstr "Netzwerkanmeldung"
|
msgstr "Netzwerkanmeldung"
|
||||||
|
|
||||||
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
|
|
||||||
#: data/org.gnome.Shell.PortalHelper.desktop.in.in:9
|
|
||||||
msgid "network-workgroup"
|
|
||||||
msgstr "network-workgroup"
|
|
||||||
|
|
||||||
#: js/extensionPrefs/main.js:116
|
#: js/extensionPrefs/main.js:116
|
||||||
msgid "Something’s gone wrong"
|
msgid "Something’s gone wrong"
|
||||||
msgstr "Etwas ist schiefgelaufen"
|
msgstr "Etwas ist schiefgelaufen"
|
||||||
@ -542,7 +537,7 @@ msgstr "abmelden;verlassen"
|
|||||||
#: js/misc/systemActions.js:109
|
#: js/misc/systemActions.js:109
|
||||||
msgctxt "search-result"
|
msgctxt "search-result"
|
||||||
msgid "Suspend"
|
msgid "Suspend"
|
||||||
msgstr "In Bereitschaft versetzen"
|
msgstr "Bereitschaft"
|
||||||
|
|
||||||
#. Translators: A list of keywords that match the suspend action, separated by semicolons
|
#. Translators: A list of keywords that match the suspend action, separated by semicolons
|
||||||
#: js/misc/systemActions.js:112
|
#: js/misc/systemActions.js:112
|
||||||
@ -762,12 +757,12 @@ msgstr "Zu Favoriten hinzufügen"
|
|||||||
msgid "Show Details"
|
msgid "Show Details"
|
||||||
msgstr "Details anzeigen"
|
msgstr "Details anzeigen"
|
||||||
|
|
||||||
#: js/ui/appFavorites.js:141
|
#: js/ui/appFavorites.js:149
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s has been added to your favorites."
|
msgid "%s has been added to your favorites."
|
||||||
msgstr "%s wurde zu Ihren Favoriten hinzugefügt"
|
msgstr "%s wurde zu Ihren Favoriten hinzugefügt"
|
||||||
|
|
||||||
#: js/ui/appFavorites.js:175
|
#: js/ui/appFavorites.js:183
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s has been removed from your favorites."
|
msgid "%s has been removed from your favorites."
|
||||||
msgstr "%s wurde aus Ihren Favoriten entfernt"
|
msgstr "%s wurde aus Ihren Favoriten entfernt"
|
||||||
@ -1053,7 +1048,7 @@ msgstr "Passwort der mobilen Breitbandverbindung"
|
|||||||
msgid "A password is required to connect to “%s”."
|
msgid "A password is required to connect to “%s”."
|
||||||
msgstr "Es wird ein Passwort benötigt, um sich mit »%s« zu verbinden."
|
msgstr "Es wird ein Passwort benötigt, um sich mit »%s« zu verbinden."
|
||||||
|
|
||||||
#: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1665
|
#: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1664
|
||||||
msgid "Network Manager"
|
msgid "Network Manager"
|
||||||
msgstr "Netzwerk-Verwaltung"
|
msgstr "Netzwerk-Verwaltung"
|
||||||
|
|
||||||
@ -1125,23 +1120,23 @@ msgstr "Weltuhren hinzufügen …"
|
|||||||
msgid "World Clocks"
|
msgid "World Clocks"
|
||||||
msgstr "Weltuhren"
|
msgstr "Weltuhren"
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:222
|
#: js/ui/dateMenu.js:228
|
||||||
msgid "Weather"
|
msgid "Weather"
|
||||||
msgstr "Wetter"
|
msgstr "Wetter"
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:305
|
#: js/ui/dateMenu.js:311
|
||||||
msgid "Select a location…"
|
msgid "Select a location…"
|
||||||
msgstr "Ort auswählen …"
|
msgstr "Ort auswählen …"
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:313
|
#: js/ui/dateMenu.js:319
|
||||||
msgid "Loading…"
|
msgid "Loading…"
|
||||||
msgstr "Wird geladen …"
|
msgstr "Wird geladen …"
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:323
|
#: js/ui/dateMenu.js:329
|
||||||
msgid "Go online for weather information"
|
msgid "Go online for weather information"
|
||||||
msgstr "Gehen Sie Online, um Wetterinformationen beziehen zu können"
|
msgstr "Gehen Sie Online, um Wetterinformationen beziehen zu können"
|
||||||
|
|
||||||
#: js/ui/dateMenu.js:325
|
#: js/ui/dateMenu.js:331
|
||||||
msgid "Weather information is currently unavailable"
|
msgid "Weather information is currently unavailable"
|
||||||
msgstr "Wetterinformationen sind momentan nicht verfügbar"
|
msgstr "Wetterinformationen sind momentan nicht verfügbar"
|
||||||
|
|
||||||
@ -1304,26 +1299,26 @@ msgid "Download and install “%s” from extensions.gnome.org?"
|
|||||||
msgstr "»%s« von extensions.gnome.org herunterladen und installieren?"
|
msgstr "»%s« von extensions.gnome.org herunterladen und installieren?"
|
||||||
|
|
||||||
#. Translators: %s is an application name like "Settings"
|
#. Translators: %s is an application name like "Settings"
|
||||||
#: js/ui/inhibitShortcutsDialog.js:50
|
#: js/ui/inhibitShortcutsDialog.js:78
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s wants to inhibit shortcuts"
|
msgid "%s wants to inhibit shortcuts"
|
||||||
msgstr "%s möchte Tastenkombinationen sperren"
|
msgstr "%s möchte Tastenkombinationen sperren"
|
||||||
|
|
||||||
#: js/ui/inhibitShortcutsDialog.js:51
|
#: js/ui/inhibitShortcutsDialog.js:79
|
||||||
msgid "Application wants to inhibit shortcuts"
|
msgid "Application wants to inhibit shortcuts"
|
||||||
msgstr "Die Anwendung möchte Tastenkombinationen sperren"
|
msgstr "Die Anwendung möchte Tastenkombinationen sperren"
|
||||||
|
|
||||||
#. Translators: %s is a keyboard shortcut like "Super+x"
|
#. Translators: %s is a keyboard shortcut like "Super+x"
|
||||||
#: js/ui/inhibitShortcutsDialog.js:60
|
#: js/ui/inhibitShortcutsDialog.js:88
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "You can restore shortcuts by pressing %s."
|
msgid "You can restore shortcuts by pressing %s."
|
||||||
msgstr "Sie können Tastenkombinationen durch Drücken von %s wiederherstellen."
|
msgstr "Sie können Tastenkombinationen durch Drücken von %s wiederherstellen."
|
||||||
|
|
||||||
#: js/ui/inhibitShortcutsDialog.js:65
|
#: js/ui/inhibitShortcutsDialog.js:93
|
||||||
msgid "Deny"
|
msgid "Deny"
|
||||||
msgstr "Ablehnen"
|
msgstr "Ablehnen"
|
||||||
|
|
||||||
#: js/ui/inhibitShortcutsDialog.js:71
|
#: js/ui/inhibitShortcutsDialog.js:100
|
||||||
msgid "Allow"
|
msgid "Allow"
|
||||||
msgstr "Zulassen"
|
msgstr "Zulassen"
|
||||||
|
|
||||||
@ -1376,13 +1371,13 @@ msgid "Leave On"
|
|||||||
msgstr "Eingeschaltet lassen"
|
msgstr "Eingeschaltet lassen"
|
||||||
|
|
||||||
#: js/ui/kbdA11yDialog.js:57 js/ui/status/bluetooth.js:133
|
#: js/ui/kbdA11yDialog.js:57 js/ui/status/bluetooth.js:133
|
||||||
#: js/ui/status/network.js:1264
|
#: js/ui/status/network.js:1263
|
||||||
msgid "Turn On"
|
msgid "Turn On"
|
||||||
msgstr "Einschalten"
|
msgstr "Einschalten"
|
||||||
|
|
||||||
#: js/ui/kbdA11yDialog.js:65 js/ui/status/bluetooth.js:133
|
#: js/ui/kbdA11yDialog.js:65 js/ui/status/bluetooth.js:133
|
||||||
#: js/ui/status/network.js:128 js/ui/status/network.js:310
|
#: js/ui/status/network.js:128 js/ui/status/network.js:310
|
||||||
#: js/ui/status/network.js:1264 js/ui/status/network.js:1376
|
#: js/ui/status/network.js:1263 js/ui/status/network.js:1375
|
||||||
#: js/ui/status/nightLight.js:39 js/ui/status/rfkill.js:79
|
#: js/ui/status/nightLight.js:39 js/ui/status/rfkill.js:79
|
||||||
#: js/ui/status/rfkill.js:106
|
#: js/ui/status/rfkill.js:106
|
||||||
msgid "Turn Off"
|
msgid "Turn Off"
|
||||||
@ -1392,7 +1387,7 @@ msgstr "Ausschalten"
|
|||||||
msgid "Leave Off"
|
msgid "Leave Off"
|
||||||
msgstr "Ausgeschaltet lassen"
|
msgstr "Ausgeschaltet lassen"
|
||||||
|
|
||||||
#: js/ui/keyboard.js:203
|
#: js/ui/keyboard.js:200
|
||||||
msgid "Region & Language Settings"
|
msgid "Region & Language Settings"
|
||||||
msgstr "Regions- und Spracheinstellungen"
|
msgstr "Regions- und Spracheinstellungen"
|
||||||
|
|
||||||
@ -1444,7 +1439,7 @@ msgstr "Quelle zeigen"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "Webseite"
|
msgstr "Webseite"
|
||||||
|
|
||||||
#: js/ui/messageTray.js:1474
|
#: js/ui/messageTray.js:1480
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "Systeminformationen"
|
msgstr "Systeminformationen"
|
||||||
|
|
||||||
@ -1528,11 +1523,11 @@ msgstr "Beenden"
|
|||||||
|
|
||||||
#. Translators: If there is no suitable word for "Activities"
|
#. Translators: If there is no suitable word for "Activities"
|
||||||
#. in your language, you can use the word for "Overview".
|
#. in your language, you can use the word for "Overview".
|
||||||
#: js/ui/panel.js:471
|
#: js/ui/panel.js:470
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "Aktivitäten"
|
msgstr "Aktivitäten"
|
||||||
|
|
||||||
#: js/ui/panel.js:746
|
#: js/ui/panel.js:745
|
||||||
msgctxt "System menu in the top bar"
|
msgctxt "System menu in the top bar"
|
||||||
msgid "System"
|
msgid "System"
|
||||||
msgstr "System"
|
msgstr "System"
|
||||||
@ -1541,15 +1536,6 @@ msgstr "System"
|
|||||||
msgid "Top Bar"
|
msgid "Top Bar"
|
||||||
msgstr "Oberes Panel"
|
msgstr "Oberes Panel"
|
||||||
|
|
||||||
#. Translators: this MUST be either "toggle-switch-us"
|
|
||||||
#. (for toggle switches containing the English words
|
|
||||||
#. "ON" and "OFF") or "toggle-switch-intl" (for toggle
|
|
||||||
#. switches containing "◯" and "|"). Other values will
|
|
||||||
#. simply result in invisible toggle switches.
|
|
||||||
#: js/ui/popupMenu.js:285
|
|
||||||
msgid "toggle-switch-us"
|
|
||||||
msgstr "toggle-switch-intl"
|
|
||||||
|
|
||||||
#: js/ui/runDialog.js:64
|
#: js/ui/runDialog.js:64
|
||||||
msgid "Enter a Command"
|
msgid "Enter a Command"
|
||||||
msgstr "Bitte geben Sie einen Befehl ein"
|
msgstr "Bitte geben Sie einen Befehl ein"
|
||||||
@ -1589,7 +1575,7 @@ msgid_plural "%d new notifications"
|
|||||||
msgstr[0] "%d neue Benachrichtigung"
|
msgstr[0] "%d neue Benachrichtigung"
|
||||||
msgstr[1] "%d neue Benachrichtigungen"
|
msgstr[1] "%d neue Benachrichtigungen"
|
||||||
|
|
||||||
#: js/ui/screenShield.js:449 js/ui/status/system.js:270
|
#: js/ui/screenShield.js:449 js/ui/status/system.js:271
|
||||||
msgid "Lock"
|
msgid "Lock"
|
||||||
msgstr "Sperren"
|
msgstr "Sperren"
|
||||||
|
|
||||||
@ -1604,11 +1590,11 @@ msgstr "GNOME muss den Bildschirm sperren"
|
|||||||
#.
|
#.
|
||||||
#. XXX: another option is to kick the user into the gdm login
|
#. XXX: another option is to kick the user into the gdm login
|
||||||
#. screen, where we're not affected by grabs
|
#. screen, where we're not affected by grabs
|
||||||
#: js/ui/screenShield.js:834 js/ui/screenShield.js:1307
|
#: js/ui/screenShield.js:826 js/ui/screenShield.js:1299
|
||||||
msgid "Unable to lock"
|
msgid "Unable to lock"
|
||||||
msgstr "Sperrung fehlgeschlagen"
|
msgstr "Sperrung fehlgeschlagen"
|
||||||
|
|
||||||
#: js/ui/screenShield.js:835 js/ui/screenShield.js:1308
|
#: js/ui/screenShield.js:827 js/ui/screenShield.js:1300
|
||||||
msgid "Lock was blocked by an application"
|
msgid "Lock was blocked by an application"
|
||||||
msgstr "Sperrung wurde von einer Anwendung blockiert"
|
msgstr "Sperrung wurde von einer Anwendung blockiert"
|
||||||
|
|
||||||
@ -1772,7 +1758,7 @@ msgid "<unknown>"
|
|||||||
msgstr "<Unbekannt>"
|
msgstr "<Unbekannt>"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:416 js/ui/status/network.js:1293
|
#: js/ui/status/network.js:416 js/ui/status/network.js:1292
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Off"
|
msgid "%s Off"
|
||||||
msgstr "%s ausgeschaltet"
|
msgstr "%s ausgeschaltet"
|
||||||
@ -1798,7 +1784,7 @@ msgid "%s Disconnecting"
|
|||||||
msgstr "%s wird getrennt"
|
msgstr "%s wird getrennt"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:434 js/ui/status/network.js:1285
|
#: js/ui/status/network.js:434 js/ui/status/network.js:1284
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Connecting"
|
msgid "%s Connecting"
|
||||||
msgstr "%s wird verbunden"
|
msgstr "%s wird verbunden"
|
||||||
@ -1838,7 +1824,7 @@ msgid "Mobile Broadband Settings"
|
|||||||
msgstr "Einstellungen der mobilen Breitbandverbindung"
|
msgstr "Einstellungen der mobilen Breitbandverbindung"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:553 js/ui/status/network.js:1290
|
#: js/ui/status/network.js:553 js/ui/status/network.js:1289
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Hardware Disabled"
|
msgid "%s Hardware Disabled"
|
||||||
msgstr "%s-Hardware ausgeschaltet"
|
msgstr "%s-Hardware ausgeschaltet"
|
||||||
@ -1910,72 +1896,72 @@ msgid "Wi-Fi Settings"
|
|||||||
msgstr "Drahtlosnetzwerk-Einstellungen"
|
msgstr "Drahtlosnetzwerk-Einstellungen"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:1281
|
#: js/ui/status/network.js:1280
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Hotspot Active"
|
msgid "%s Hotspot Active"
|
||||||
msgstr "Hotspot %s eingeschaltet"
|
msgstr "Hotspot %s eingeschaltet"
|
||||||
|
|
||||||
#. Translators: %s is a network identifier
|
#. Translators: %s is a network identifier
|
||||||
#: js/ui/status/network.js:1296
|
#: js/ui/status/network.js:1295
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Not Connected"
|
msgid "%s Not Connected"
|
||||||
msgstr "%s nicht verbunden"
|
msgstr "%s nicht verbunden"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1393
|
#: js/ui/status/network.js:1392
|
||||||
msgid "connecting…"
|
msgid "connecting…"
|
||||||
msgstr "Verbindungsaufbau …"
|
msgstr "Verbindungsaufbau …"
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password
|
#. Translators: this is for network connections that require some kind of key or password
|
||||||
#: js/ui/status/network.js:1396
|
#: js/ui/status/network.js:1395
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "Anmeldung erforderlich"
|
msgstr "Anmeldung erforderlich"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1398
|
#: js/ui/status/network.js:1397
|
||||||
msgid "connection failed"
|
msgid "connection failed"
|
||||||
msgstr "Verbindung gescheitert"
|
msgstr "Verbindung gescheitert"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1448
|
#: js/ui/status/network.js:1447
|
||||||
msgid "VPN Settings"
|
msgid "VPN Settings"
|
||||||
msgstr "VPN-Einstellungen"
|
msgstr "VPN-Einstellungen"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1465
|
#: js/ui/status/network.js:1464
|
||||||
msgid "VPN"
|
msgid "VPN"
|
||||||
msgstr "VPN"
|
msgstr "VPN"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1475
|
#: js/ui/status/network.js:1474
|
||||||
msgid "VPN Off"
|
msgid "VPN Off"
|
||||||
msgstr "VPN ausgeschaltet"
|
msgstr "VPN ausgeschaltet"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1536 js/ui/status/rfkill.js:82
|
#: js/ui/status/network.js:1535 js/ui/status/rfkill.js:82
|
||||||
msgid "Network Settings"
|
msgid "Network Settings"
|
||||||
msgstr "Netzwerkeinstellungen"
|
msgstr "Netzwerkeinstellungen"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1565
|
#: js/ui/status/network.js:1564
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Wired Connection"
|
msgid "%s Wired Connection"
|
||||||
msgid_plural "%s Wired Connections"
|
msgid_plural "%s Wired Connections"
|
||||||
msgstr[0] "%s Kabelverbindung"
|
msgstr[0] "%s Kabelverbindung"
|
||||||
msgstr[1] "%s Kabelverbindungen"
|
msgstr[1] "%s Kabelverbindungen"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1569
|
#: js/ui/status/network.js:1568
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Wi-Fi Connection"
|
msgid "%s Wi-Fi Connection"
|
||||||
msgid_plural "%s Wi-Fi Connections"
|
msgid_plural "%s Wi-Fi Connections"
|
||||||
msgstr[0] "%s Funknetzwerkverbindung"
|
msgstr[0] "%s Funknetzwerkverbindung"
|
||||||
msgstr[1] "%s Funknetzwerkverbindungen"
|
msgstr[1] "%s Funknetzwerkverbindungen"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1573
|
#: js/ui/status/network.js:1572
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s Modem Connection"
|
msgid "%s Modem Connection"
|
||||||
msgid_plural "%s Modem Connections"
|
msgid_plural "%s Modem Connections"
|
||||||
msgstr[0] "%s Modem-Verbindung"
|
msgstr[0] "%s Modem-Verbindung"
|
||||||
msgstr[1] "%s Modem-Verbindungen"
|
msgstr[1] "%s Modem-Verbindungen"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1702
|
#: js/ui/status/network.js:1705
|
||||||
msgid "Connection failed"
|
msgid "Connection failed"
|
||||||
msgstr "Verbindung gescheitert"
|
msgstr "Verbindung gescheitert"
|
||||||
|
|
||||||
#: js/ui/status/network.js:1703
|
#: js/ui/status/network.js:1706
|
||||||
msgid "Activation of network connection failed"
|
msgid "Activation of network connection failed"
|
||||||
msgstr "Aktivierung der Netzwerkverbindung ist gescheitert"
|
msgstr "Aktivierung der Netzwerkverbindung ist gescheitert"
|
||||||
|
|
||||||
@ -2057,15 +2043,15 @@ msgstr "Abmelden"
|
|||||||
msgid "Account Settings"
|
msgid "Account Settings"
|
||||||
msgstr "Kontoeinstellungen"
|
msgstr "Kontoeinstellungen"
|
||||||
|
|
||||||
#: js/ui/status/system.js:255
|
#: js/ui/status/system.js:256
|
||||||
msgid "Orientation Lock"
|
msgid "Orientation Lock"
|
||||||
msgstr "Hoch-/Querformats-Fixierung"
|
msgstr "Hoch-/Querformats-Fixierung"
|
||||||
|
|
||||||
#: js/ui/status/system.js:281
|
#: js/ui/status/system.js:282
|
||||||
msgid "Suspend"
|
msgid "Suspend"
|
||||||
msgstr "In Bereitschaft versetzen"
|
msgstr "Bereitschaft"
|
||||||
|
|
||||||
#: js/ui/status/system.js:291
|
#: js/ui/status/system.js:292
|
||||||
msgid "Power Off"
|
msgid "Power Off"
|
||||||
msgstr "Ausschalten"
|
msgstr "Ausschalten"
|
||||||
|
|
||||||
@ -2183,7 +2169,7 @@ msgstr[1] ""
|
|||||||
|
|
||||||
#. Translators: This represents the size of a window. The first number is
|
#. Translators: This represents the size of a window. The first number is
|
||||||
#. * the width of the window and the second is the height.
|
#. * the width of the window and the second is the height.
|
||||||
#: js/ui/windowManager.js:662
|
#: js/ui/windowManager.js:677
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%d × %d"
|
msgid "%d × %d"
|
||||||
msgstr "%d × %d"
|
msgstr "%d × %d"
|
||||||
@ -2256,11 +2242,6 @@ msgstr "Auf den Bildschirm nach rechts verschieben"
|
|||||||
msgid "Evolution Calendar"
|
msgid "Evolution Calendar"
|
||||||
msgstr "Evolution-Kalender"
|
msgstr "Evolution-Kalender"
|
||||||
|
|
||||||
#. Translators: Do NOT translate or transliterate this text (this is an icon file name)!
|
|
||||||
#: src/calendar-server/evolution-calendar.desktop.in:6
|
|
||||||
msgid "evolution"
|
|
||||||
msgstr "evolution"
|
|
||||||
|
|
||||||
#: src/main.c:408
|
#: src/main.c:408
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Version ausgeben"
|
msgstr "Version ausgeben"
|
||||||
@ -2279,12 +2260,12 @@ msgstr ""
|
|||||||
msgid "List possible modes"
|
msgid "List possible modes"
|
||||||
msgstr "Die möglichen Modi auflisten"
|
msgstr "Die möglichen Modi auflisten"
|
||||||
|
|
||||||
#: src/shell-app.c:260
|
#: src/shell-app.c:264
|
||||||
msgctxt "program"
|
msgctxt "program"
|
||||||
msgid "Unknown"
|
msgid "Unknown"
|
||||||
msgstr "Unbekannt"
|
msgstr "Unbekannt"
|
||||||
|
|
||||||
#: src/shell-app.c:511
|
#: src/shell-app.c:515
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to launch “%s”"
|
msgid "Failed to launch “%s”"
|
||||||
msgstr "»%s« konnte nicht gestartet werden"
|
msgstr "»%s« konnte nicht gestartet werden"
|
||||||
@ -2323,6 +2304,15 @@ msgstr[1] "%u Eingänge"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Systemklänge"
|
msgstr "Systemklänge"
|
||||||
|
|
||||||
|
#~ msgid "network-workgroup"
|
||||||
|
#~ msgstr "network-workgroup"
|
||||||
|
|
||||||
|
#~ msgid "toggle-switch-us"
|
||||||
|
#~ msgstr "toggle-switch-intl"
|
||||||
|
|
||||||
|
#~ msgid "evolution"
|
||||||
|
#~ msgstr "evolution"
|
||||||
|
|
||||||
#~ msgid "There was an error loading the preferences dialog for %s:"
|
#~ msgid "There was an error loading the preferences dialog for %s:"
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
#~ "Beim Laden des Einstellungsdialogs für %s ist ein Fehler aufgetreten:"
|
#~ "Beim Laden des Einstellungsdialogs für %s ist ein Fehler aufgetreten:"
|
||||||
|
1083
po/zh_CN.po
1083
po/zh_CN.po
File diff suppressed because it is too large
Load Diff
@ -1069,9 +1069,9 @@ _shell_app_add_window (ShellApp *app,
|
|||||||
|
|
||||||
app->running_state->window_sort_stale = TRUE;
|
app->running_state->window_sort_stale = TRUE;
|
||||||
app->running_state->windows = g_slist_prepend (app->running_state->windows, g_object_ref (window));
|
app->running_state->windows = g_slist_prepend (app->running_state->windows, g_object_ref (window));
|
||||||
g_signal_connect (window, "unmanaged", G_CALLBACK(shell_app_on_unmanaged), app);
|
g_signal_connect_object (window, "unmanaged", G_CALLBACK(shell_app_on_unmanaged), app, 0);
|
||||||
g_signal_connect (window, "notify::user-time", G_CALLBACK(shell_app_on_user_time_changed), app);
|
g_signal_connect_object (window, "notify::user-time", G_CALLBACK(shell_app_on_user_time_changed), app, 0);
|
||||||
g_signal_connect (window, "notify::skip-taskbar", G_CALLBACK(shell_app_on_skip_taskbar_changed), app);
|
g_signal_connect_object (window, "notify::skip-taskbar", G_CALLBACK(shell_app_on_skip_taskbar_changed), app, 0);
|
||||||
|
|
||||||
shell_app_update_app_actions (app, window);
|
shell_app_update_app_actions (app, window);
|
||||||
shell_app_ensure_busy_watch (app);
|
shell_app_ensure_busy_watch (app);
|
||||||
|
@ -65,6 +65,8 @@ struct _StWidgetPrivate
|
|||||||
StThemeNodeTransition *transition_animation;
|
StThemeNodeTransition *transition_animation;
|
||||||
|
|
||||||
guint is_style_dirty : 1;
|
guint is_style_dirty : 1;
|
||||||
|
guint first_child_dirty : 1;
|
||||||
|
guint last_child_dirty : 1;
|
||||||
guint draw_bg_color : 1;
|
guint draw_bg_color : 1;
|
||||||
guint draw_border_internal : 1;
|
guint draw_border_internal : 1;
|
||||||
guint track_hover : 1;
|
guint track_hover : 1;
|
||||||
@ -72,6 +74,7 @@ struct _StWidgetPrivate
|
|||||||
guint can_focus : 1;
|
guint can_focus : 1;
|
||||||
|
|
||||||
gulong texture_file_changed_id;
|
gulong texture_file_changed_id;
|
||||||
|
guint update_child_styles_id;
|
||||||
|
|
||||||
AtkObject *accessible;
|
AtkObject *accessible;
|
||||||
AtkRole accessible_role;
|
AtkRole accessible_role;
|
||||||
@ -323,6 +326,8 @@ st_widget_dispose (GObject *gobject)
|
|||||||
g_clear_object (&priv->last_visible_child);
|
g_clear_object (&priv->last_visible_child);
|
||||||
|
|
||||||
G_OBJECT_CLASS (st_widget_parent_class)->dispose (gobject);
|
G_OBJECT_CLASS (st_widget_parent_class)->dispose (gobject);
|
||||||
|
|
||||||
|
g_clear_handle_id (&priv->update_child_styles_id, g_source_remove);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -1608,47 +1613,85 @@ find_nearest_visible_forward (ClutterActor *actor)
|
|||||||
return next;
|
return next;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
st_widget_update_child_styles (StWidget *widget)
|
||||||
|
{
|
||||||
|
StWidgetPrivate *priv = st_widget_get_instance_private (widget);
|
||||||
|
|
||||||
|
if (priv->first_child_dirty)
|
||||||
|
{
|
||||||
|
ClutterActor *first_child;
|
||||||
|
|
||||||
|
priv->first_child_dirty = FALSE;
|
||||||
|
|
||||||
|
first_child = clutter_actor_get_first_child (CLUTTER_ACTOR (widget));
|
||||||
|
st_widget_set_first_visible_child (widget,
|
||||||
|
find_nearest_visible_forward (first_child));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (priv->last_child_dirty)
|
||||||
|
{
|
||||||
|
ClutterActor *last_child;
|
||||||
|
|
||||||
|
priv->last_child_dirty = FALSE;
|
||||||
|
|
||||||
|
last_child = clutter_actor_get_last_child (CLUTTER_ACTOR (widget));
|
||||||
|
st_widget_set_last_visible_child (widget,
|
||||||
|
find_nearest_visible_backwards (last_child));
|
||||||
|
}
|
||||||
|
|
||||||
|
priv->update_child_styles_id = 0;
|
||||||
|
return G_SOURCE_REMOVE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
st_widget_queue_child_styles_update (StWidget *widget)
|
||||||
|
{
|
||||||
|
StWidgetPrivate *priv = st_widget_get_instance_private (widget);
|
||||||
|
|
||||||
|
if (priv->update_child_styles_id != 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
priv->update_child_styles_id = g_idle_add ((GSourceFunc) st_widget_update_child_styles, widget);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
st_widget_visible_notify (StWidget *widget,
|
st_widget_visible_notify (StWidget *widget,
|
||||||
GParamSpec *pspec,
|
GParamSpec *pspec,
|
||||||
gpointer data)
|
gpointer data)
|
||||||
{
|
{
|
||||||
|
StWidgetPrivate *parent_priv;
|
||||||
ClutterActor *actor = CLUTTER_ACTOR (widget);
|
ClutterActor *actor = CLUTTER_ACTOR (widget);
|
||||||
ClutterActor *parent = clutter_actor_get_parent (actor);
|
ClutterActor *parent = clutter_actor_get_parent (actor);
|
||||||
|
|
||||||
if (parent == NULL || !ST_IS_WIDGET (parent))
|
if (parent == NULL || !ST_IS_WIDGET (parent))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
parent_priv = st_widget_get_instance_private (ST_WIDGET (parent));
|
||||||
|
|
||||||
if (clutter_actor_is_visible (actor))
|
if (clutter_actor_is_visible (actor))
|
||||||
{
|
{
|
||||||
ClutterActor *before, *after;
|
ClutterActor *before, *after;
|
||||||
|
|
||||||
before = clutter_actor_get_previous_sibling (actor);
|
before = clutter_actor_get_previous_sibling (actor);
|
||||||
if (find_nearest_visible_backwards (before) == NULL)
|
if (find_nearest_visible_backwards (before) == NULL)
|
||||||
st_widget_set_first_visible_child (ST_WIDGET (parent), actor);
|
parent_priv->first_child_dirty = TRUE;
|
||||||
|
|
||||||
after = clutter_actor_get_next_sibling (actor);
|
after = clutter_actor_get_next_sibling (actor);
|
||||||
if (find_nearest_visible_forward (after) == NULL)
|
if (find_nearest_visible_forward (after) == NULL)
|
||||||
st_widget_set_last_visible_child (ST_WIDGET (parent), actor);
|
parent_priv->last_child_dirty = TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (st_widget_has_style_pseudo_class (widget, "first-child"))
|
if (st_widget_has_style_pseudo_class (widget, "first-child"))
|
||||||
{
|
parent_priv->first_child_dirty = TRUE;
|
||||||
ClutterActor *new_first;
|
|
||||||
|
|
||||||
new_first = find_nearest_visible_forward (CLUTTER_ACTOR (widget));
|
|
||||||
st_widget_set_first_visible_child (ST_WIDGET (parent), new_first);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (st_widget_has_style_pseudo_class (widget, "last-child"))
|
if (st_widget_has_style_pseudo_class (widget, "last-child"))
|
||||||
{
|
parent_priv->last_child_dirty = TRUE;
|
||||||
ClutterActor *new_last;
|
|
||||||
|
|
||||||
new_last = find_nearest_visible_backwards (CLUTTER_ACTOR (widget));
|
|
||||||
st_widget_set_last_visible_child (ST_WIDGET (parent), new_last);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (parent_priv->first_child_dirty || parent_priv->last_child_dirty)
|
||||||
|
st_widget_queue_child_styles_update (ST_WIDGET (parent));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -1656,10 +1699,10 @@ st_widget_first_child_notify (StWidget *widget,
|
|||||||
GParamSpec *pspec,
|
GParamSpec *pspec,
|
||||||
gpointer data)
|
gpointer data)
|
||||||
{
|
{
|
||||||
ClutterActor *first_child;
|
StWidgetPrivate *priv = st_widget_get_instance_private (widget);
|
||||||
|
|
||||||
first_child = clutter_actor_get_first_child (CLUTTER_ACTOR (widget));
|
priv->first_child_dirty = TRUE;
|
||||||
st_widget_set_first_visible_child (widget, find_nearest_visible_forward (first_child));
|
st_widget_queue_child_styles_update (widget);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -1667,10 +1710,10 @@ st_widget_last_child_notify (StWidget *widget,
|
|||||||
GParamSpec *pspec,
|
GParamSpec *pspec,
|
||||||
gpointer data)
|
gpointer data)
|
||||||
{
|
{
|
||||||
ClutterActor *last_child;
|
StWidgetPrivate *priv = st_widget_get_instance_private (widget);
|
||||||
|
|
||||||
last_child = clutter_actor_get_last_child (CLUTTER_ACTOR (widget));
|
priv->last_child_dirty = TRUE;
|
||||||
st_widget_set_last_visible_child (widget, find_nearest_visible_backwards (last_child));
|
st_widget_queue_child_styles_update (widget);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Reference in New Issue
Block a user