summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Erias Morandeira <femorandeira@igalia.com>2013-06-07 16:16:47 +0200
committerFelipe Erias Morandeira <femorandeira@igalia.com>2013-06-21 14:14:14 +0100
commit45ee1b7fe40c97a539def40c92fd3f6b47279cc6 (patch)
treecdcae76c325e335316163ebee345af43eab2338e
parenta590e08267771472dd5c89ce01c1ffcbb21cb978 (diff)
Override Endless.ActionMenu.add_action() to hide GtkAction from the developer, as that will be deprecated in the future.
[endlessm/eos-sdk#79]
-rw-r--r--overrides/Endless.js12
-rw-r--r--test/smoke-tests/action-buttons.js18
2 files changed, 20 insertions, 10 deletions
diff --git a/overrides/Endless.js b/overrides/Endless.js
index 00315a3..8fadd94 100644
--- a/overrides/Endless.js
+++ b/overrides/Endless.js
@@ -15,4 +15,16 @@ function _init() {
}
}
}
+
+ // Override Endless.ActionMenu.add_action() so that we hide the use of
+ // GtkAction from the developer, as that will be deprecated in the future.
+ Endless.ActionMenu.prototype._add_action_real = Endless.ActionMenu.prototype.add_action;
+ Endless.ActionMenu.prototype.add_action = function(dict, callback) {
+ let action = new Gtk.Action(dict);
+ this._add_action_real(action);
+
+ if (typeof callback === "function") {
+ action.connect('activate', callback);
+ }
+ }
}
diff --git a/test/smoke-tests/action-buttons.js b/test/smoke-tests/action-buttons.js
index 54d0fc1..85499f9 100644
--- a/test/smoke-tests/action-buttons.js
+++ b/test/smoke-tests/action-buttons.js
@@ -15,13 +15,11 @@ const TestApplication = new Lang.Class ({
this._page = new Endless.ActionMenu();
- this._page.add_action (new Gtk.Action({
+ this._page.add_action ({
name: 'select',
'icon-name': 'object-select-symbolic',
label: 'select stuff',
- 'is-important': true }));
-
- this._page.get_action('select').connect('activate',
+ 'is-important': true },
Lang.bind(this, function () {
var md = new Gtk.MessageDialog({modal:true, title:"Information",
message_type:Gtk.MessageType.INFO,
@@ -30,23 +28,23 @@ const TestApplication = new Lang.Class ({
md.destroy();
}));
- this._page.add_action (new Gtk.Action({
+ this._page.add_action ({
name: 'delete',
'icon-name': 'edit-delete-symbolic',
label: 'delete stuff',
- 'is-important': false }));
+ 'is-important': false });
- this._page.add_action (new Gtk.Action({
+ this._page.add_action ({
name: 'smile',
'icon-name': 'face-smile-symbolic',
label: 'smile',
- 'is-important': false }));
+ 'is-important': false });
- this._page.add_action (new Gtk.Action({
+ this._page.add_action ({
name: 'sadface',
'icon-name': 'face-sad-symbolic',
label: 'sadface',
- 'is-important': false }));
+ 'is-important': false });
this._pm = new Endless.PageManager();
this._pm.add(this._page, { name: "page" });