clock: Use settings from gsettings-desktop-schemas
A key for 12hr/24hr clock format has been added to gsettings-desktop-schemas, so use that instead of the one from the shell clock schema. As the setting can be controlled from the Date and Time panel of gnome-control-center now, drop the temporary preference dialog as well. https://bugzilla.gnome.org/show_bug.cgi?id=633200
This commit is contained in:
parent
68a0d7897f
commit
24f1e87813
3
.gitignore
vendored
3
.gitignore
vendored
@ -18,8 +18,6 @@ config
|
|||||||
configure
|
configure
|
||||||
data/gnome-shell.desktop
|
data/gnome-shell.desktop
|
||||||
data/gnome-shell.desktop.in
|
data/gnome-shell.desktop.in
|
||||||
data/gnome-shell-clock-preferences.desktop
|
|
||||||
data/gnome-shell-clock-preferences.desktop.in
|
|
||||||
data/gschemas.compiled
|
data/gschemas.compiled
|
||||||
data/org.gnome.shell.gschema.xml
|
data/org.gnome.shell.gschema.xml
|
||||||
data/org.gnome.shell.gschema.valid
|
data/org.gnome.shell.gschema.valid
|
||||||
@ -46,7 +44,6 @@ src/Makefile
|
|||||||
src/Makefile.in
|
src/Makefile.in
|
||||||
src/gnomeshell-taskpanel
|
src/gnomeshell-taskpanel
|
||||||
src/gnome-shell
|
src/gnome-shell
|
||||||
src/gnome-shell-clock-preferences
|
|
||||||
src/run-js-test
|
src/run-js-test
|
||||||
src/test-recorder
|
src/test-recorder
|
||||||
src/test-recorder.ogg
|
src/test-recorder.ogg
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
desktopdir=$(datadir)/applications
|
desktopdir=$(datadir)/applications
|
||||||
desktop_DATA = gnome-shell.desktop gnome-shell-clock-preferences.desktop
|
desktop_DATA = gnome-shell.desktop
|
||||||
|
|
||||||
# We substitute in bindir so it works as an autostart
|
# We substitute in bindir so it works as an autostart
|
||||||
# file when built in a non-system prefix
|
# file when built in a non-system prefix
|
||||||
@ -12,8 +12,6 @@ desktop_DATA = gnome-shell.desktop gnome-shell-clock-preferences.desktop
|
|||||||
%.desktop:%.desktop.in
|
%.desktop:%.desktop.in
|
||||||
$(AM_V_GEN) sed s/^_// < $< > $@ || rm $@
|
$(AM_V_GEN) sed s/^_// < $< > $@ || rm $@
|
||||||
|
|
||||||
dist_pkgdata_DATA = clock-preferences.ui
|
|
||||||
|
|
||||||
imagesdir = $(pkgdatadir)/images
|
imagesdir = $(pkgdatadir)/images
|
||||||
dist_images_DATA = \
|
dist_images_DATA = \
|
||||||
close-black.svg \
|
close-black.svg \
|
||||||
@ -88,7 +86,6 @@ install-data-local:
|
|||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
gnome-shell.desktop.in.in \
|
gnome-shell.desktop.in.in \
|
||||||
gnome-shell-clock-preferences.desktop.in.in \
|
|
||||||
$(menu_DATA) \
|
$(menu_DATA) \
|
||||||
$(gconfschema_DATA) \
|
$(gconfschema_DATA) \
|
||||||
$(shaders_DATA) \
|
$(shaders_DATA) \
|
||||||
@ -97,7 +94,6 @@ EXTRA_DIST = \
|
|||||||
|
|
||||||
CLEANFILES = \
|
CLEANFILES = \
|
||||||
gnome-shell.desktop.in \
|
gnome-shell.desktop.in \
|
||||||
gnome-shell-clock-preferences.desktop.in \
|
|
||||||
$(desktop_DATA) \
|
$(desktop_DATA) \
|
||||||
$(gsettings_SCHEMAS) \
|
$(gsettings_SCHEMAS) \
|
||||||
gschemas.compiled
|
gschemas.compiled
|
||||||
|
@ -1,188 +0,0 @@
|
|||||||
<?xml version="1.0"?>
|
|
||||||
<interface domain="gnome-shell">
|
|
||||||
<requires lib="gtk+" version="2.16"/>
|
|
||||||
<!-- interface-naming-policy project-wide -->
|
|
||||||
<object class="GtkDialog" id="prefs-dialog">
|
|
||||||
<property name="border_width">5</property>
|
|
||||||
<property name="title" translatable="yes">Clock Preferences</property>
|
|
||||||
<property name="window_position">center</property>
|
|
||||||
<property name="type_hint">normal</property>
|
|
||||||
<property name="has_separator">False</property>
|
|
||||||
<child internal-child="vbox">
|
|
||||||
<object class="GtkVBox" id="dialog-vbox1">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<property name="spacing">2</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkVBox" id="vbox1">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<property name="spacing">18</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkFrame" id="frame1">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label_xalign">0</property>
|
|
||||||
<property name="shadow_type">none</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkAlignment" id="alignment1">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="top_padding">6</property>
|
|
||||||
<property name="left_padding">12</property>
|
|
||||||
<property name="right_padding">6</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkHBox" id="hbox1">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="spacing">12</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkRadioButton" id="12hr_radio">
|
|
||||||
<property name="label" translatable="yes">_12 hour format</property>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="receives_default">False</property>
|
|
||||||
<property name="use_underline">True</property>
|
|
||||||
<property name="draw_indicator">True</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">False</property>
|
|
||||||
<property name="position">0</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkRadioButton" id="24hr_radio">
|
|
||||||
<property name="label" translatable="yes">_24 hour format</property>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="receives_default">False</property>
|
|
||||||
<property name="use_underline">True</property>
|
|
||||||
<property name="draw_indicator">True</property>
|
|
||||||
<property name="group">12hr_radio</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">False</property>
|
|
||||||
<property name="position">1</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child type="label">
|
|
||||||
<object class="GtkLabel" id="label_format">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label" translatable="yes">Clock Format</property>
|
|
||||||
<attributes>
|
|
||||||
<attribute name="weight" value="bold"/>
|
|
||||||
</attributes>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">False</property>
|
|
||||||
<property name="position">0</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkFrame" id="frame2">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label_xalign">0</property>
|
|
||||||
<property name="shadow_type">none</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkAlignment" id="alignment2">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="top_padding">6</property>
|
|
||||||
<property name="left_padding">12</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkVBox" id="vbox2">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<property name="spacing">6</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkCheckButton" id="date_check">
|
|
||||||
<property name="label" translatable="yes">Show the _date</property>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="receives_default">False</property>
|
|
||||||
<property name="use_underline">True</property>
|
|
||||||
<property name="draw_indicator">True</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="position">0</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkCheckButton" id="seconds_check">
|
|
||||||
<property name="label" translatable="yes">Show seco_nds</property>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="receives_default">False</property>
|
|
||||||
<property name="use_underline">True</property>
|
|
||||||
<property name="draw_indicator">True</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="position">1</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child type="label">
|
|
||||||
<object class="GtkLabel" id="label_display">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label" translatable="yes">Panel Display</property>
|
|
||||||
<attributes>
|
|
||||||
<attribute name="weight" value="bold"/>
|
|
||||||
</attributes>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">False</property>
|
|
||||||
<property name="position">1</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="padding">6</property>
|
|
||||||
<property name="position">1</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child internal-child="action_area">
|
|
||||||
<object class="GtkHButtonBox" id="dialog-action_area1">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="layout_style">end</property>
|
|
||||||
<child>
|
|
||||||
<placeholder/>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkButton" id="prefs_close_button">
|
|
||||||
<property name="label">gtk-close</property>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="receives_default">True</property>
|
|
||||||
<property name="use_stock">True</property>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">False</property>
|
|
||||||
<property name="position">1</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="pack_type">end</property>
|
|
||||||
<property name="position">0</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<action-widgets>
|
|
||||||
<action-widget response="0">prefs_close_button</action-widget>
|
|
||||||
</action-widgets>
|
|
||||||
</object>
|
|
||||||
</interface>
|
|
@ -1,15 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
_Name=Clock
|
|
||||||
_Comment=Customize the panel clock
|
|
||||||
Exec=@bindir@/gnome-shell-clock-preferences
|
|
||||||
Icon=gnome-panel-clock
|
|
||||||
Terminal=false
|
|
||||||
Type=Application
|
|
||||||
StartupNotify=true
|
|
||||||
Categories=GNOME;GTK;Settings;DesktopSettings;
|
|
||||||
OnlyShowIn=GNOME;
|
|
||||||
X-GNOME-ShellOnly=true
|
|
||||||
X-GNOME-Bugzilla-Bugzilla=GNOME
|
|
||||||
X-GNOME-Bugzilla-Product=gnome-shell
|
|
||||||
X-GNOME-Bugzilla-Component=general
|
|
||||||
X-GNOME-Bugzilla-Version=@VERSION@
|
|
@ -59,51 +59,18 @@
|
|||||||
|
|
||||||
<schema id="org.gnome.shell.clock" path="/apps/gnome-shell/clock/"
|
<schema id="org.gnome.shell.clock" path="/apps/gnome-shell/clock/"
|
||||||
gettext-domain="@GETTEXT_PACKAGE@">
|
gettext-domain="@GETTEXT_PACKAGE@">
|
||||||
<key name="format" type="s">
|
|
||||||
<default l10n="messages" context="hour_format">
|
|
||||||
<!-- TRANSLATORS: This is the default hour format, choose ONLY '12-hour' or '24-hour'. -->
|
|
||||||
"12-hour"
|
|
||||||
</default>
|
|
||||||
<_summary>Hour format</_summary>
|
|
||||||
<_description>
|
|
||||||
This key specifies the hour format used by the panel clock.
|
|
||||||
Possible values are "12-hour", "24-hour", "unix" and "custom". If set
|
|
||||||
to "unix", the clock will display time in seconds since Epoch,
|
|
||||||
i.e. 1970-01-01. If set to "custom", the clock will display time
|
|
||||||
according to the format specified in the custom_format key. Note that
|
|
||||||
if set to either "unix" or "custom", the show_date and show_seconds
|
|
||||||
keys are ignored.
|
|
||||||
</_description>
|
|
||||||
<choices>
|
|
||||||
<choice value="12-hour"/>
|
|
||||||
<choice value="24-hour"/>
|
|
||||||
<choice value="unix"/>
|
|
||||||
<choice value="custom"/>
|
|
||||||
</choices>
|
|
||||||
</key>
|
|
||||||
<key name="custom-format" type="s">
|
|
||||||
<default>''</default>
|
|
||||||
<_summary>Custom format of the clock</_summary>
|
|
||||||
<_description>
|
|
||||||
This key specifies the format used by the panel clock when the format
|
|
||||||
key is set to "custom". You can use conversion specifiers understood
|
|
||||||
by strftime() to obtain a specific format. See the strftime() manual
|
|
||||||
for more information.
|
|
||||||
</_description>
|
|
||||||
</key>
|
|
||||||
<key name="show-seconds" type="b">
|
<key name="show-seconds" type="b">
|
||||||
<default>false</default>
|
<default>false</default>
|
||||||
<_summary>Show time with seconds</_summary>
|
<_summary>Show time with seconds</_summary>
|
||||||
<_description>
|
<_description>
|
||||||
If true and format is either "12-hour" or "24-hour", display seconds in time.
|
If true, display seconds in time.
|
||||||
</_description>
|
</_description>
|
||||||
</key>
|
</key>
|
||||||
<key name="show-date" type="b">
|
<key name="show-date" type="b">
|
||||||
<default>false</default>
|
<default>false</default>
|
||||||
<_summary>Show date in clock</_summary>
|
<_summary>Show date in clock</_summary>
|
||||||
<_description>
|
<_description>
|
||||||
If true and format is either "12-hour" or "24-hour",
|
If true, display date in the clock, in addition to time.
|
||||||
display date in the clock, in addition to time.
|
|
||||||
</_description>
|
</_description>
|
||||||
</key>
|
</key>
|
||||||
</schema>
|
</schema>
|
||||||
|
@ -11,7 +11,6 @@ nobase_dist_js_DATA = \
|
|||||||
misc/telepathy.js \
|
misc/telepathy.js \
|
||||||
misc/utils.js \
|
misc/utils.js \
|
||||||
perf/core.js \
|
perf/core.js \
|
||||||
prefs/clockPreferences.js \
|
|
||||||
ui/altTab.js \
|
ui/altTab.js \
|
||||||
ui/appDisplay.js \
|
ui/appDisplay.js \
|
||||||
ui/appFavorites.js \
|
ui/appFavorites.js \
|
||||||
|
@ -1,97 +0,0 @@
|
|||||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
||||||
|
|
||||||
const Gio = imports.gi.Gio;
|
|
||||||
const GLib = imports.gi.GLib;
|
|
||||||
const Gtk = imports.gi.Gtk;
|
|
||||||
|
|
||||||
const Lang = imports.lang;
|
|
||||||
const Signals = imports.signals;
|
|
||||||
|
|
||||||
const Gettext = imports.gettext;
|
|
||||||
|
|
||||||
const FORMAT_KEY = 'format';
|
|
||||||
const SHOW_DATE_KEY = 'show-date';
|
|
||||||
const SHOW_SECONDS_KEY = 'show-seconds';
|
|
||||||
|
|
||||||
|
|
||||||
function ClockPreferences(uiFile) {
|
|
||||||
this._init(uiFile);
|
|
||||||
};
|
|
||||||
|
|
||||||
ClockPreferences.prototype = {
|
|
||||||
_init: function(uiFile) {
|
|
||||||
let builder = new Gtk.Builder();
|
|
||||||
builder.add_from_file(uiFile);
|
|
||||||
|
|
||||||
this._dialog = builder.get_object('prefs-dialog');
|
|
||||||
this._dialog.connect('response', Lang.bind(this, this._onResponse));
|
|
||||||
|
|
||||||
this._12hrRadio = builder.get_object('12hr_radio');
|
|
||||||
this._24hrRadio = builder.get_object('24hr_radio');
|
|
||||||
this._dateCheck = builder.get_object('date_check');
|
|
||||||
this._secondsCheck = builder.get_object('seconds_check');
|
|
||||||
|
|
||||||
delete builder;
|
|
||||||
|
|
||||||
this._settings = new Gio.Settings({ schema: 'org.gnome.shell.clock' });
|
|
||||||
this._notifyId = this._settings.connect('changed',
|
|
||||||
Lang.bind(this,
|
|
||||||
this._updateDialog));
|
|
||||||
|
|
||||||
this._12hrRadio.connect('toggled', Lang.bind(this,
|
|
||||||
function() {
|
|
||||||
let format = this._12hrRadio.active ? '12-hour' : '24-hour';
|
|
||||||
this._settings.set_string(FORMAT_KEY, format);
|
|
||||||
}));
|
|
||||||
this._dateCheck.connect('toggled', Lang.bind(this,
|
|
||||||
function() {
|
|
||||||
this._settings.set_boolean(SHOW_DATE_KEY,
|
|
||||||
this._dateCheck.active);
|
|
||||||
}));
|
|
||||||
this._secondsCheck.connect('toggled', Lang.bind(this,
|
|
||||||
function() {
|
|
||||||
this._settings.set_boolean(SHOW_SECONDS_KEY,
|
|
||||||
this._secondsCheck.active);
|
|
||||||
}));
|
|
||||||
|
|
||||||
this._updateDialog();
|
|
||||||
},
|
|
||||||
|
|
||||||
show: function() {
|
|
||||||
this._dialog.show_all();
|
|
||||||
},
|
|
||||||
|
|
||||||
_updateDialog: function() {
|
|
||||||
let format = this._settings.get_string(FORMAT_KEY);
|
|
||||||
this._12hrRadio.active = (format == "12-hour");
|
|
||||||
this._24hrRadio.active = (format == "24-hour");
|
|
||||||
|
|
||||||
this._dateCheck.active = this._settings.get_boolean(SHOW_DATE_KEY);
|
|
||||||
this._secondsCheck.active = this._settings.get_boolean(SHOW_SECONDS_KEY);
|
|
||||||
},
|
|
||||||
|
|
||||||
_onResponse: function() {
|
|
||||||
this._dialog.destroy();
|
|
||||||
this._settings.disconnect(this._notifyId);
|
|
||||||
this.emit('destroy');
|
|
||||||
}
|
|
||||||
};
|
|
||||||
Signals.addSignalMethods(ClockPreferences.prototype);
|
|
||||||
|
|
||||||
function main(params) {
|
|
||||||
if ('progName' in params)
|
|
||||||
GLib.set_prgname(params['progName']);
|
|
||||||
if ('localeDir' in params)
|
|
||||||
Gettext.bindtextdomain('gnome-shell', params['localeDir']);
|
|
||||||
|
|
||||||
Gtk.init(null, null);
|
|
||||||
|
|
||||||
let clockPrefs = new ClockPreferences(params['uiFile']);
|
|
||||||
clockPrefs.connect('destroy',
|
|
||||||
function() {
|
|
||||||
Gtk.main_quit();
|
|
||||||
});
|
|
||||||
clockPrefs.show();
|
|
||||||
|
|
||||||
Gtk.main();
|
|
||||||
}
|
|
@ -40,8 +40,10 @@ const STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION = {
|
|||||||
if (Config.HAVE_BLUETOOTH)
|
if (Config.HAVE_BLUETOOTH)
|
||||||
STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = imports.ui.status.bluetooth.Indicator;
|
STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = imports.ui.status.bluetooth.Indicator;
|
||||||
|
|
||||||
const CLOCK_FORMAT_KEY = 'format';
|
// in org.gnome.desktop.interface
|
||||||
const CLOCK_CUSTOM_FORMAT_KEY = 'custom-format';
|
const CLOCK_FORMAT_KEY = 'clock-format';
|
||||||
|
|
||||||
|
// in org.gnome.shell.clock
|
||||||
const CLOCK_SHOW_DATE_KEY = 'show-date';
|
const CLOCK_SHOW_DATE_KEY = 'show-date';
|
||||||
const CLOCK_SHOW_SECONDS_KEY = 'show-seconds';
|
const CLOCK_SHOW_SECONDS_KEY = 'show-seconds';
|
||||||
|
|
||||||
@ -492,36 +494,32 @@ function ClockButton() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ClockButton.prototype = {
|
ClockButton.prototype = {
|
||||||
__proto__: PanelMenu.Button.prototype,
|
|
||||||
|
|
||||||
_init: function() {
|
_init: function() {
|
||||||
PanelMenu.Button.prototype._init.call(this, St.Align.START);
|
this.actor = new St.Bin({ style_class: 'panel-button',
|
||||||
this.menu.addAction(_("Preferences"), Lang.bind(this, this._onPrefs));
|
reactive: true,
|
||||||
|
can_focus: true,
|
||||||
|
x_fill: true,
|
||||||
|
y_fill: false,
|
||||||
|
track_hover: true });
|
||||||
|
this.actor._delegate = this;
|
||||||
|
this.actor.connect('button-press-event',
|
||||||
|
Lang.bind(this, this._toggleCalendar));
|
||||||
|
|
||||||
this._clock = new St.Label();
|
this._clock = new St.Label();
|
||||||
this.actor.set_child(this._clock);
|
this.actor.set_child(this._clock);
|
||||||
|
|
||||||
this._calendarPopup = null;
|
this._calendarPopup = null;
|
||||||
|
|
||||||
|
this._desktopSettings = new Gio.Settings({ schema: 'org.gnome.desktop.interface' });
|
||||||
this._clockSettings = new Gio.Settings({ schema: 'org.gnome.shell.clock' });
|
this._clockSettings = new Gio.Settings({ schema: 'org.gnome.shell.clock' });
|
||||||
|
|
||||||
|
this._desktopSettings.connect('changed', Lang.bind(this, this._updateClock));
|
||||||
this._clockSettings.connect('changed', Lang.bind(this, this._updateClock));
|
this._clockSettings.connect('changed', Lang.bind(this, this._updateClock));
|
||||||
|
|
||||||
// Start the clock
|
// Start the clock
|
||||||
this._updateClock();
|
this._updateClock();
|
||||||
},
|
},
|
||||||
|
|
||||||
_onButtonPress: function(actor, event) {
|
|
||||||
let button = event.get_button();
|
|
||||||
let menuShowing = this.menu.isOpen;
|
|
||||||
let calendarShowing = this._calendarPopup && this._calendarPopup.isOpen;
|
|
||||||
|
|
||||||
if (menuShowing || (button == 3 && !calendarShowing))
|
|
||||||
this.menu.toggle();
|
|
||||||
else
|
|
||||||
this._toggleCalendar();
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
|
|
||||||
closeCalendar: function() {
|
closeCalendar: function() {
|
||||||
if (!this._calendarPopup || !this._calendarPopup.isOpen)
|
if (!this._calendarPopup || !this._calendarPopup.isOpen)
|
||||||
return;
|
return;
|
||||||
@ -537,24 +535,12 @@ ClockButton.prototype = {
|
|||||||
this.actor.add_style_pseudo_class('pressed');
|
this.actor.add_style_pseudo_class('pressed');
|
||||||
},
|
},
|
||||||
|
|
||||||
_onPrefs: function() {
|
|
||||||
let args = ['gnome-shell-clock-preferences'];
|
|
||||||
let p = new Shell.Process({ args: args });
|
|
||||||
|
|
||||||
p.run();
|
|
||||||
},
|
|
||||||
|
|
||||||
_toggleCalendar: function() {
|
_toggleCalendar: function() {
|
||||||
if (this._calendarPopup == null) {
|
if (this._calendarPopup == null) {
|
||||||
this._calendarPopup = new CalendarPopup();
|
this._calendarPopup = new CalendarPopup();
|
||||||
this._calendarPopup.actor.hide();
|
this._calendarPopup.actor.hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.menu.isOpen && !this._calendarPopup.isOpen) {
|
|
||||||
this.menu.close();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!this._calendarPopup.isOpen)
|
if (!this._calendarPopup.isOpen)
|
||||||
this.openCalendar();
|
this.openCalendar();
|
||||||
else
|
else
|
||||||
@ -562,23 +548,13 @@ ClockButton.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
_updateClock: function() {
|
_updateClock: function() {
|
||||||
let format = this._clockSettings.get_string(CLOCK_FORMAT_KEY);
|
let format = this._desktopSettings.get_string(CLOCK_FORMAT_KEY);
|
||||||
let showDate = this._clockSettings.get_boolean(CLOCK_SHOW_DATE_KEY);
|
let showDate = this._clockSettings.get_boolean(CLOCK_SHOW_DATE_KEY);
|
||||||
let showSeconds = this._clockSettings.get_boolean(CLOCK_SHOW_SECONDS_KEY);
|
let showSeconds = this._clockSettings.get_boolean(CLOCK_SHOW_SECONDS_KEY);
|
||||||
|
|
||||||
let clockFormat;
|
let clockFormat;
|
||||||
switch (format) {
|
switch (format) {
|
||||||
case 'unix':
|
case '24h':
|
||||||
// force updates every second
|
|
||||||
showSeconds = true;
|
|
||||||
clockFormat = '%s';
|
|
||||||
break;
|
|
||||||
case 'custom':
|
|
||||||
// force updates every second
|
|
||||||
showSeconds = true;
|
|
||||||
clockFormat = this._clockSettings.get_string(CLOCK_CUSTOM_FORMAT_KEY);
|
|
||||||
break;
|
|
||||||
case '24-hour':
|
|
||||||
if (showDate)
|
if (showDate)
|
||||||
/* Translators: This is the time format with date used
|
/* Translators: This is the time format with date used
|
||||||
in 24-hour mode. */
|
in 24-hour mode. */
|
||||||
@ -590,7 +566,7 @@ ClockButton.prototype = {
|
|||||||
clockFormat = showSeconds ? _("%a %R:%S")
|
clockFormat = showSeconds ? _("%a %R:%S")
|
||||||
: _("%a %R");
|
: _("%a %R");
|
||||||
break;
|
break;
|
||||||
case '12-hour':
|
case '12h':
|
||||||
default:
|
default:
|
||||||
if (showDate)
|
if (showDate)
|
||||||
/* Translators: This is a time format with date used
|
/* Translators: This is a time format with date used
|
||||||
@ -803,9 +779,6 @@ Panel.prototype = {
|
|||||||
this._clockButton = new ClockButton();
|
this._clockButton = new ClockButton();
|
||||||
this._centerBox.add(this._clockButton.actor, { y_fill: true });
|
this._centerBox.add(this._clockButton.actor, { y_fill: true });
|
||||||
|
|
||||||
let clockMenuManager = new PopupMenu.PopupMenuManager(this);
|
|
||||||
clockMenuManager.addMenu(this._clockButton.menu);
|
|
||||||
|
|
||||||
/* right */
|
/* right */
|
||||||
|
|
||||||
// System status applets live in statusBox, while legacy tray icons
|
// System status applets live in statusBox, while legacy tray icons
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
data/gnome-shell.desktop.in.in
|
data/gnome-shell.desktop.in.in
|
||||||
data/gnome-shell-clock-preferences.desktop.in.in
|
|
||||||
data/org.gnome.shell.gschema.xml.in
|
data/org.gnome.shell.gschema.xml.in
|
||||||
data/org.gnome.accessibility.magnifier.gschema.xml.in
|
data/org.gnome.accessibility.magnifier.gschema.xml.in
|
||||||
[type: gettext/glade]data/clock-preferences.ui
|
|
||||||
js/ui/appDisplay.js
|
js/ui/appDisplay.js
|
||||||
js/ui/appFavorites.js
|
js/ui/appFavorites.js
|
||||||
js/ui/dash.js
|
js/ui/dash.js
|
||||||
|
@ -8,7 +8,7 @@ noinst_PROGRAMS =
|
|||||||
|
|
||||||
.AUTOPARALLEL:
|
.AUTOPARALLEL:
|
||||||
|
|
||||||
bin_SCRIPTS = gnome-shell gnome-shell-clock-preferences
|
bin_SCRIPTS = gnome-shell
|
||||||
|
|
||||||
gnome-shell: gnome-shell.in
|
gnome-shell: gnome-shell.in
|
||||||
$(AM_V_GEN) sed -e "s|@MUTTER_BIN_DIR[@]|$(MUTTER_BIN_DIR)|" \
|
$(AM_V_GEN) sed -e "s|@MUTTER_BIN_DIR[@]|$(MUTTER_BIN_DIR)|" \
|
||||||
@ -23,15 +23,6 @@ gnome-shell: gnome-shell.in
|
|||||||
CLEANFILES += gnome-shell
|
CLEANFILES += gnome-shell
|
||||||
EXTRA_DIST += gnome-shell.in
|
EXTRA_DIST += gnome-shell.in
|
||||||
|
|
||||||
gnome-shell-clock-preferences: gnome-shell-clock-preferences.in
|
|
||||||
$(AM_V_GEN) sed -e "s|@datadir[@]|$(datadir)|" \
|
|
||||||
-e "s|@pkgdatadir[@]|$(pkgdatadir)|" \
|
|
||||||
-e "s|@localedir[@]|$(datadir)/locale|" \
|
|
||||||
-e "s|@GJS_CONSOLE[@]|$(GJS_CONSOLE)|" \
|
|
||||||
$< > $@ && chmod a+x $@
|
|
||||||
CLEANFILES += gnome-shell-clock-preferences
|
|
||||||
EXTRA_DIST += gnome-shell-clock-preferences.in
|
|
||||||
|
|
||||||
include Makefile-gdmuser.am
|
include Makefile-gdmuser.am
|
||||||
include Makefile-st.am
|
include Makefile-st.am
|
||||||
include Makefile-tray.am
|
include Makefile-tray.am
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if [ -f "$0.in" ]
|
|
||||||
then
|
|
||||||
scriptDir="`dirname $0`"
|
|
||||||
uiDir="$scriptDir/../data"
|
|
||||||
jsDir="$scriptDir/../js"
|
|
||||||
schemaDir="$scriptDir/../data"
|
|
||||||
else
|
|
||||||
uiDir="@pkgdatadir@"
|
|
||||||
jsDir="@pkgdatadir@/js"
|
|
||||||
schemaDir="@datadir@/glib-2.0/schemas"
|
|
||||||
fi
|
|
||||||
|
|
||||||
progName="`basename $0`"
|
|
||||||
localeDir="@localedir@"
|
|
||||||
uiFile="$uiDir/clock-preferences.ui"
|
|
||||||
export GJS_PATH="$jsDir"
|
|
||||||
export GSETTINGS_SCHEMA_DIR="$schemaDir"
|
|
||||||
|
|
||||||
@GJS_CONSOLE@ --js-version 1.8 -c "const ClockPreferences = imports.prefs.clockPreferences;
|
|
||||||
ClockPreferences.main({ progName: '$progName',
|
|
||||||
uiFile: '$uiFile',
|
|
||||||
localeDir: '$localeDir' });"
|
|
Loading…
Reference in New Issue
Block a user