parent
8b10248b88
commit
c7def52fae
@ -1 +1,66 @@ |
||||
|
||||
const GLib = imports.gi.GLib; |
||||
const Gio = imports.gi.Gio; |
||||
const Lang = imports.lang; |
||||
const Mainloop = imports.mainloop; |
||||
const Cairo = imports.cairo; |
||||
const Clutter = imports.gi.Clutter; |
||||
const Shell = imports.gi.Shell; |
||||
const St = imports.gi.St; |
||||
const Gettext = imports.gettext.domain('gnome-shell'); |
||||
const _ = Gettext.gettext; |
||||
|
||||
const Util = imports.misc.util; |
||||
const Main = imports.ui.main; |
||||
const PanelMenu = imports.ui.panelMenu; |
||||
const PopupMenu = imports.ui.popupMenu; |
||||
const Calendar = imports.ui.calendar; |
||||
|
||||
|
||||
function WeatherMenuButton() { |
||||
this._init(); |
||||
} |
||||
|
||||
WeatherMenuButton.prototype = { |
||||
__proto__: PanelMenu.Button.prototype, |
||||
|
||||
_init: function() { |
||||
|
||||
// Panel icon
|
||||
this._weatherIcon = new St.Icon({ icon_type: St.IconType.FULLCOLOR, icon_size: Main.panel.button.get_child().height - 4, icon_name: 'view-refresh-symbolic' }); |
||||
if (Main.panel.actor.get_direction() == St.TextDirection.RTL) { |
||||
this._weatherIcon.set_style('padding-left: 5px;'); |
||||
} |
||||
else { |
||||
this._weatherIcon.set_style('padding-right: 5px;'); |
||||
} |
||||
|
||||
// Label
|
||||
this._weatherInfo = new St.Label({ text: 'Loading weather...' }); |
||||
|
||||
// Panel menu item - the current class
|
||||
let menuAlignment = 0.25; |
||||
if (St.Widget.get_default_direction() == St.TextDirection.RTL) |
||||
menuAlignment = 1.0 - menuAlignment; |
||||
PanelMenu.Button.prototype._init.call(this, menuAlignment); |
||||
|
||||
// Putting it together
|
||||
let topBox = new St.BoxLayout();
|
||||
topBox.add_actor(this._weatherIcon); |
||||
topBox.add_actor(this._weatherInfo); |
||||
this.actor.set_child(topBox); |
||||
|
||||
let hbox = new St.BoxLayout(); |
||||
this.menu.addActor(hbox); |
||||
|
||||
// Items
|
||||
hbox.add_actor(new St.Label({ text: 'heyhey' })); |
||||
|
||||
} |
||||
}; |
||||
|
||||
function main() { |
||||
this._weatherMenu = new WeatherMenuButton(); |
||||
Main.panel._centerBox.add(this._weatherMenu.actor, { y_fill: true }); |
||||
} |
||||
|
||||
|
Loading…
Reference in new issue