diff options
Diffstat (limited to 'overrides')
-rw-r--r-- | overrides/Endless.js | 2 | ||||
-rw-r--r-- | overrides/Makefile.am.inc | 3 | ||||
-rw-r--r-- | overrides/endless_private/topbar_nav_button.js | 47 |
3 files changed, 51 insertions, 1 deletions
diff --git a/overrides/Endless.js b/overrides/Endless.js index dc76847..4049836 100644 --- a/overrides/Endless.js +++ b/overrides/Endless.js @@ -26,6 +26,7 @@ imports.searchPath.unshift(getCurrentFileDir()); const AssetButton = imports.endless_private.asset_button; const ConnectionTest = imports.endless_private.connection_test; const SearchBox = imports.endless_private.search_box; +const TopbarNavButton = imports.endless_private.topbar_nav_button; function _init() { // this is imports.gi.Endless @@ -34,6 +35,7 @@ function _init() { Endless.AssetButton = AssetButton.AssetButton; Endless.doConnectionTestAsync = ConnectionTest.doConnectionTestAsync; Endless.SearchBox = SearchBox.SearchBox; + Endless.TopbarNavButton = TopbarNavButton.TopbarNavButton; // Override Endless.PageManager.add() so that you can set child properties // at the same time diff --git a/overrides/Makefile.am.inc b/overrides/Makefile.am.inc index 9a21b2e..be0f9cd 100644 --- a/overrides/Makefile.am.inc +++ b/overrides/Makefile.am.inc @@ -9,5 +9,6 @@ nobase_dist_gjs_DATA = \ overrides/Endless.js \ overrides/endless_private/asset_button.js \ overrides/endless_private/connection_test.js \ - overrides/endless_private/search_box.js \ + overrides/endless_private/search_box.js \ + overrides/endless_private/topbar_nav_button.js \ $(NULL) diff --git a/overrides/endless_private/topbar_nav_button.js b/overrides/endless_private/topbar_nav_button.js new file mode 100644 index 0000000..2f77eea --- /dev/null +++ b/overrides/endless_private/topbar_nav_button.js @@ -0,0 +1,47 @@ +const GObject = imports.gi.GObject; +const Gtk = imports.gi.Gtk; +const Lang = imports.lang; + +const TopbarNavButton = new Lang.Class({ + Name: 'TopbarNavButton', + GTypeName: 'EosTopbarNavButton', + Extends: Gtk.Grid, + Properties: { + 'back-button': GObject.ParamSpec.object('back-button', 'Back button', + 'Topbar back button widget', + GObject.ParamFlags.READABLE, + Gtk.Button.$gtype), + 'forward-button': GObject.ParamSpec.object('forward-button', + 'Forward button', 'Topbar forward button widget', + GObject.ParamFlags.READABLE, + Gtk.Button.$gtype) + }, + + _init: function(props) { + props = props || {}; + props.orientation = Gtk.Orientation.HORIZONTAL; + this.parent(props); + + this._back_button = Gtk.Button.new_from_icon_name('topbar-go-previous-symbolic', + Gtk.IconSize.SMALL_TOOLBAR); + this._forward_button = Gtk.Button.new_from_icon_name('topbar-go-next-symbolic', + Gtk.IconSize.SMALL_TOOLBAR); + this._back_button.can_focus = false; + this._forward_button.can_focus = false; + this._back_button.get_style_context().add_class('back'); + this._back_button.get_style_context().add_class(Gtk.STYLE_CLASS_LINKED); + this._forward_button.get_style_context().add_class('forward'); + this._forward_button.get_style_context().add_class(Gtk.STYLE_CLASS_LINKED); + + this.add(this._back_button); + this.add(this._forward_button); + }, + + get back_button() { + return this._back_button; + }, + + get forward_button() { + return this._forward_button; + } +}); |