summaryrefslogtreecommitdiff
path: root/overrides
diff options
context:
space:
mode:
Diffstat (limited to 'overrides')
-rw-r--r--overrides/Endless.js2
-rw-r--r--overrides/Makefile.am.inc3
-rw-r--r--overrides/endless_private/topbar_nav_button.js47
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;
+ }
+});