kopia lustrzana https://github.com/backface/turtlestitch
				
				
				
			spread project dialog action buttons over 2 rows
							rodzic
							
								
									670595e4c8
								
							
						
					
					
						commit
						e3fcfc0b6e
					
				| 
						 | 
				
			
			@ -46,6 +46,7 @@
 | 
			
		|||
### 2019-03-04
 | 
			
		||||
* GUI: deprecated storing projects in localStorage
 | 
			
		||||
* GUI: reenabled publish / unpublish buttons in the project dialog
 | 
			
		||||
* GUI: spread project dialog action buttons over 2 rows
 | 
			
		||||
 | 
			
		||||
### 2019-02-26
 | 
			
		||||
* Symbols: new "globe" symbol
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										77
									
								
								src/gui.js
								
								
								
								
							
							
						
						
									
										77
									
								
								src/gui.js
								
								
								
								
							| 
						 | 
				
			
			@ -6126,18 +6126,22 @@ ProjectDialogMorph.prototype.buildContents = function () {
 | 
			
		|||
    if (this.task === 'open') {
 | 
			
		||||
        this.addButton('openProject', 'Open');
 | 
			
		||||
        this.action = 'openProject';
 | 
			
		||||
        this.recoverButton = this.addButton('recoveryDialog', 'Recover');
 | 
			
		||||
        this.recoverButton = this.addButton('recoveryDialog', 'Recover', true);
 | 
			
		||||
        this.recoverButton.hide();
 | 
			
		||||
    } else { // 'save'
 | 
			
		||||
        this.addButton('saveProject', 'Save');
 | 
			
		||||
        this.action = 'saveProject';
 | 
			
		||||
    }
 | 
			
		||||
    this.shareButton = this.addButton('shareProject', 'Share');
 | 
			
		||||
    this.unshareButton = this.addButton('unshareProject', 'Unshare');
 | 
			
		||||
    this.shareButton = this.addButton('shareProject', 'Share', true);
 | 
			
		||||
    this.unshareButton = this.addButton('unshareProject', 'Unshare', true);
 | 
			
		||||
    this.shareButton.hide();
 | 
			
		||||
    this.unshareButton.hide();
 | 
			
		||||
    this.publishButton = this.addButton('publishProject', 'Publish');
 | 
			
		||||
    this.unpublishButton = this.addButton('unpublishProject', 'Unpublish');
 | 
			
		||||
    this.publishButton = this.addButton('publishProject', 'Publish', true);
 | 
			
		||||
    this.unpublishButton = this.addButton(
 | 
			
		||||
        'unpublishProject',
 | 
			
		||||
        'Unpublish',
 | 
			
		||||
        true
 | 
			
		||||
    );
 | 
			
		||||
    this.publishButton.hide();
 | 
			
		||||
    this.unpublishButton.hide();
 | 
			
		||||
    this.deleteButton = this.addButton('deleteProject', 'Delete');
 | 
			
		||||
| 
						 | 
				
			
			@ -6166,6 +6170,67 @@ ProjectDialogMorph.prototype.popUp = function (wrrld) {
 | 
			
		|||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// ProjectDialogMorph action buttons
 | 
			
		||||
 | 
			
		||||
ProjectDialogMorph.prototype.createButtons = function () {
 | 
			
		||||
    if (this.buttons) {
 | 
			
		||||
        this.buttons.destroy();
 | 
			
		||||
    }
 | 
			
		||||
    this.buttons = new AlignmentMorph('column', this.padding / 3);
 | 
			
		||||
    this.buttons.bottomRow = new AlignmentMorph('row', this.padding);
 | 
			
		||||
    this.buttons.topRow = new AlignmentMorph('row', this.padding);
 | 
			
		||||
    this.buttons.add(this.buttons.topRow);
 | 
			
		||||
    this.buttons.add(this.buttons.bottomRow);
 | 
			
		||||
    this.add(this.buttons);
 | 
			
		||||
 | 
			
		||||
    this.buttons.topRow.hide = function () {
 | 
			
		||||
        this.isVisible = false;
 | 
			
		||||
        this.changed();
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    this.buttons.topRow.show = function () {
 | 
			
		||||
        this.isVisible = true;
 | 
			
		||||
        this.changed();
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    this.buttons.fixLayout = function () {
 | 
			
		||||
        if (this.topRow.children.some(function (any) {
 | 
			
		||||
            return any.isVisible;
 | 
			
		||||
        })) {
 | 
			
		||||
            this.topRow.show();
 | 
			
		||||
            this.topRow.fixLayout();
 | 
			
		||||
        } else {
 | 
			
		||||
            this.topRow.hide();
 | 
			
		||||
        }
 | 
			
		||||
        this.bottomRow.fixLayout();
 | 
			
		||||
        AlignmentMorph.prototype.fixLayout.call(this);
 | 
			
		||||
    };
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
ProjectDialogMorph.prototype.addButton = function (action, label, topRow) {
 | 
			
		||||
    var button = new PushButtonMorph(
 | 
			
		||||
        this,
 | 
			
		||||
        action || 'ok',
 | 
			
		||||
        '  ' + localize((label || 'OK')) + '  '
 | 
			
		||||
    );
 | 
			
		||||
    button.fontSize = this.buttonFontSize;
 | 
			
		||||
    button.corner = this.buttonCorner;
 | 
			
		||||
    button.edge = this.buttonEdge;
 | 
			
		||||
    button.outline = this.buttonOutline;
 | 
			
		||||
    button.outlineColor = this.buttonOutlineColor;
 | 
			
		||||
    button.outlineGradient = this.buttonOutlineGradient;
 | 
			
		||||
    button.padding = this.buttonPadding;
 | 
			
		||||
    button.contrast = this.buttonContrast;
 | 
			
		||||
    button.drawNew();
 | 
			
		||||
    button.fixLayout();
 | 
			
		||||
    if (topRow) {
 | 
			
		||||
        this.buttons.topRow.add(button);
 | 
			
		||||
    } else {
 | 
			
		||||
        this.buttons.bottomRow.add(button);
 | 
			
		||||
    }
 | 
			
		||||
    return button;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// ProjectDialogMorph source buttons
 | 
			
		||||
 | 
			
		||||
ProjectDialogMorph.prototype.addSourceButton = function (
 | 
			
		||||
| 
						 | 
				
			
			@ -7090,7 +7155,7 @@ ProjectRecoveryDialogMorph.prototype.buildContents = function () {
 | 
			
		|||
 | 
			
		||||
    this.body.add(this.notesField);
 | 
			
		||||
 | 
			
		||||
    this.addButton('recoverProject', 'Recover');
 | 
			
		||||
    this.addButton('recoverProject', 'Recover', true);
 | 
			
		||||
    this.addButton('cancel', 'Cancel');
 | 
			
		||||
 | 
			
		||||
    this.setExtent(new Point(360, 300));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue