summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjmoenig <jens@moenig.org>2013-04-22 16:34:01 +0200
committerjmoenig <jens@moenig.org>2013-04-22 16:34:01 +0200
commit020f95992d6e452751199ec18ab066fe2cf9d78c (patch)
tree87017af81bb66c332b5b937c1f7808f0e777b032
parent39db95a4144396bec82b317fd9eb821ed9a83e59 (diff)
downloadsnap-yow-020f95992d6e452751199ec18ab066fe2cf9d78c.tar.gz
snap-yow-020f95992d6e452751199ec18ab066fe2cf9d78c.zip
Double click support for cloud side of project dialog
-rw-r--r--gui.js57
-rwxr-xr-xhistory.txt4
2 files changed, 28 insertions, 33 deletions
diff --git a/gui.js b/gui.js
index 3dc26ed..7f58fdd 100644
--- a/gui.js
+++ b/gui.js
@@ -68,7 +68,7 @@ sb, CommentMorph, CommandBlockMorph*/
// Global stuff ////////////////////////////////////////////////////////
-modules.gui = '2013-April-21';
+modules.gui = '2013-April-22';
// Declarations
@@ -3724,7 +3724,7 @@ ProjectDialogMorph.prototype.setSource = function (source) {
myself.ide.cloudError().call(null, err, lbl);
}
);
- break;
+ return;
case 'local':
this.projectList = this.getLocalProjectList();
break;
@@ -3732,8 +3732,8 @@ ProjectDialogMorph.prototype.setSource = function (source) {
this.projectList = [];
break;
}
- this.listField.destroy();
+ this.listField.destroy();
this.listField = new ListMorph(
this.projectList,
this.projectList.length > 0 ?
@@ -3796,21 +3796,14 @@ ProjectDialogMorph.prototype.setSource = function (source) {
}
this.body.add(this.listField);
- if (this.source === 'cloud') {
- this.shareButton.show();
- this.unshareButton.hide();
+ this.shareButton.hide();
+ this.unshareButton.hide();
+ if (this.source === 'local') {
this.deleteButton.show();
- } else {
- this.shareButton.hide();
- this.unshareButton.hide();
- if (this.source === 'local') {
- this.deleteButton.show();
- } else { // examples
- this.deleteButton.hide();
- }
+ } else { // examples
+ this.deleteButton.hide();
}
this.buttons.fixLayout();
-
this.fixLayout();
if (this.task === 'open') {
this.clearDetails();
@@ -3858,10 +3851,8 @@ ProjectDialogMorph.prototype.installCloudProjectList = function (pl) {
function (proj) {return proj.Public === 'true'; }
]
],
- null,
function () {myself.ok(); }
);
-
this.fixListFieldItemColors();
this.listField.fixLayout = nop;
this.listField.edge = InputFieldMorph.prototype.edge;
@@ -3896,6 +3887,10 @@ ProjectDialogMorph.prototype.installCloudProjectList = function (pl) {
myself.edit();
};
this.body.add(this.listField);
+ this.shareButton.show();
+ this.unshareButton.hide();
+ this.deleteButton.show();
+ this.buttons.fixLayout();
this.fixLayout();
if (this.task === 'open') {
this.clearDetails();
@@ -3912,36 +3907,32 @@ ProjectDialogMorph.prototype.clearDetails = function () {
};
ProjectDialogMorph.prototype.openProject = function () {
- var myself = this;
-
+ var myself = this,
+ proj = this.listField.selected;
+ if (!proj) {return; }
if (this.source === 'cloud') {
- if (this.listField.selected) {
- this.openSelectedCloudProject();
- }
+ this.openCloudProject(proj);
} else { // 'local, examples'
- if (this.listField.selected) {
- myself.ide.source = 'local';
- this.ide.openProject(this.listField.selected.name);
- this.destroy();
- }
+ myself.ide.source = 'local';
+ this.ide.openProject(proj.name);
+ this.destroy();
}
};
-ProjectDialogMorph.prototype.openSelectedCloudProject = function () {
+ProjectDialogMorph.prototype.openCloudProject = function (project) {
var myself = this;
- this.nextSteps([
+ myself.ide.nextSteps([
function () {
myself.ide.showMessage('Fetching project\nfrom the cloud...');
},
function () {
- myself.rawOpenSelectedCloudProject();
+ myself.rawOpenCloudProject(project);
}
]);
};
-ProjectDialogMorph.prototype.rawOpenSelectedCloudProject = function () {
- var myself = this,
- proj = this.listField.selected;
+ProjectDialogMorph.prototype.rawOpenCloudProject = function (proj) {
+ var myself = this;
SnapCloud.reconnect(
function () {
SnapCloud.callService(
diff --git a/history.txt b/history.txt
index 8c39a80..2faa12b 100755
--- a/history.txt
+++ b/history.txt
@@ -1649,3 +1649,7 @@ ______
* using the percent character in variable names is now safe (fixes Github issue #65)
* Morphic: added Doubleclick support, example: inspectors
* GUI: Double clicking a project in the project dialog performs the dialog's action on it (open / save)
+
+130422
+------
+* GUI: Double clicking support for cloud side of project dialog