show "browser" source option in project dialog when (deprecated) locally stored projects still exist

pull/89/head
jmoenig 2019-07-04 13:44:53 +02:00
rodzic 025c3458a5
commit b5e16227a1
3 zmienionych plików z 17 dodań i 3 usunięć

Wyświetl plik

@ -6,11 +6,15 @@
* gliding animation when inserting blocks using the keyboard
* optimized collision detection
* **Notable Fixes:**
* show "browser" source option in project dialog when (deprecated) locally stored projects still exist
* list watchers occasionally didn't show cells after reassigning a changed list to a variable
* FOREACH over a linked list failed for scripts mutating it
* eliminated an occasional empty label line when variadic inputs wrap as a whole, thanks, Mary, for reporting this bug!
* **Translation Updates:**
### 2019-07-04
* gui: show "browser" source option in project dialog when (deprecated) locally stored projects still exist
### 2019-07-03
* blocks: eliminated an occasional empty label line when variadic inputs wrap as a whole, thanks, Mary, for reporting this bug!

Wyświetl plik

@ -9,7 +9,7 @@
<script type="text/javascript" src="src/blocks.js?version=2019-07-03"></script>
<script type="text/javascript" src="src/threads.js?version=2019-07-01"></script>
<script type="text/javascript" src="src/objects.js?version=2019-06-27"></script>
<script type="text/javascript" src="src/gui.js?version=2019-07-01"></script>
<script type="text/javascript" src="src/gui.js?version=2019-07-04"></script>
<script type="text/javascript" src="src/paint.js?version=2019-06-27"></script>
<script type="text/javascript" src="src/lists.js?version=2019-07-01"></script>
<script type="text/javascript" src="src/byob.js?version=2019-06-27"></script>

Wyświetl plik

@ -75,7 +75,7 @@ isRetinaSupported, SliderMorph, Animation, BoxMorph, MediaRecorder*/
// Global stuff ////////////////////////////////////////////////////////
modules.gui = '2019-July-01';
modules.gui = '2019-July-04';
// Declarations
@ -6078,7 +6078,8 @@ ProjectDialogMorph.prototype.buildContents = function () {
if (this.task === 'open') {
this.buildFilterField();
this.addSourceButton('examples', localize('Examples'), 'poster');
if (this.ide.world().currentKey === 16) { // shiftClicked
if (this.hasLocalProjects() || this.ide.world().currentKey === 16) {
// shift- clicked
this.addSourceButton('local', localize('Browser'), 'globe');
}
}
@ -6556,6 +6557,15 @@ ProjectDialogMorph.prototype.setSource = function (source) {
}
};
ProjectDialogMorph.prototype.hasLocalProjects = function () {
// check and report whether old projects still exist in the
// browser's local storage, which as of v5 has been deprecated,
// so the user can recover and move them elsewhere
return Object.keys(localStorage).some(function (any) {
return any.indexOf('-snap-project-') === 0;
});
};
ProjectDialogMorph.prototype.getLocalProjectList = function () {
var stored, name, dta,
projects = [];