Skip to content

Commit f63a111

Browse files
committed
Added new change type "Mosh", which means Modify + (Move and/or Slide)
1 parent d8b520c commit f63a111

File tree

2 files changed

+32
-14
lines changed

2 files changed

+32
-14
lines changed

SSYModelChangeTypes.h

+29-14
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,37 @@ typedef struct SSYModelChangeCounts_struct SSYModelChangeCounts ;
2222
the correct change type in -[Stange tryNewChangeType:].
2323
*/
2424
enum SSYModelChangeAction_enum { // Examples:
25-
// DO NOT CHANGE THE ORDER OF THESE because they are in users' Diaries databases!
26-
SSYModelChangeActionReplace = 10, // was 0 "Undo/Redo Replace myFoo1 with myFoo2"
27-
SSYModelChangeActionRemove = 20, // was 1 "Undo/Redo Delete object myFoo"
28-
SSYModelChangeActionMerge = 30, // was 2 "Undo/Redo Merge objects myFoo"
29-
SSYModelChangeActionInsert = 40, // was 3 "Undo/Redo Insert object myFoo"
30-
SSYModelChangeActionCancel = 45, // Insertion which was cancelled by a deletion before all changes completed
31-
SSYModelChangeActionModify = 50, // was 6 "Undo/Redo Change myBar of object myFoo"
32-
SSYModelChangeActionSort = 55,
33-
SSYModelChangeActionMove = 60, // was 4 "Undo/Redo Move object myFoo"
34-
SSYModelChangeActionSlide = 70, // was 5 "Undo/Redo Slide object myFoo"
35-
SSYModelChangeActionMigrate = 80, // was 7 "Undo/Redo Migrate Foo"
36-
SSYModelChangeActionVague = 90, // was 8 "Undo/Redo Foo"
37-
SSYModelChangeActionUndefined = 100 // was 9
38-
// The 'was' values give values before BookMacster version 1.5.7
25+
// DO NOT CHANGE THE VALUES OF THESE because they are in users' Diaries databases!
26+
SSYModelChangeActionReplace = 10, // was1 0 "Undo/Redo Replace myFoo1 with myFoo2"
27+
SSYModelChangeActionRemove = 20, // was1 1 "Undo/Redo Delete object myFoo"
28+
SSYModelChangeActionMerge = 30, // was1 2 "Undo/Redo Merge objects myFoo"
29+
SSYModelChangeActionInsert = 40, // was1 3 "Undo/Redo Insert object myFoo"
30+
SSYModelChangeActionCancel = 45, // Insertion which was cancelled by a deletion before all changes completed
31+
SSYModelChangeActionMosh = 48, // was1 did not exist. Item was both modified and moved, modified and slid, or all three
32+
SSYModelChangeActionModify = 50, // was1 6 "Undo/Redo Change myBar of object myFoo"
33+
SSYModelChangeActionMove = 60, // was1 4 "Undo/Redo Move object myFoo"
34+
SSYModelChangeActionSlide = 70, // was1 5 "Undo/Redo Slide object myFoo"
35+
SSYModelChangeActionSort = 75, // was2 55 But this one is not used in Sync Logs database
36+
SSYModelChangeActionMigrate = 80, // was1 7 "Undo/Redo Migrate Foo"
37+
SSYModelChangeActionVague = 90, // was1 8 "Undo/Redo Foo"
38+
SSYModelChangeActionUndefined = 100 // was1 9
3939
// DO NOT CHANGE THE ORDER OF THESE because they are in users' Diaries databases,
4040
// and also used to "rank" changes in Chaker.
41+
42+
/* Note 098534. The 'was1' values were used before BookMacster version 1.5.7. The change
43+
was apparently made to fix a bug which caused changes in item attributes,
44+
for example a bookmark’s name, to be not counted if the item had also been moved
45+
or slid within its family by an Import or Export operation. This could cause
46+
under-counting of changes, allowing an Import or Export operation which had over
47+
the Safe Limit number of changes to be not detected as such. In other words,
48+
Change Counts wants to see Modify by a higher priority than Move and Slide.
49+
However, I discovered while developing BookMacster 1.7/1.6.8 that this change
50+
caused a regression in exporting to Google Chrome via Proper API because that
51+
JavaScript needs to do moves and slides first; otherwise items may be attempted
52+
to be placed with gaps in families, which will cause errors in the JavaScript
53+
background.html function doNextPut(). To solve this problem I introduced the
54+
55+
*/
4156
} ;
4257
typedef enum SSYModelChangeAction_enum SSYModelChangeAction ;
4358

SSYModelChangeTypes.m

+3
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ + (NSString*)symbolForAction:(SSYModelChangeAction)action {
1313
case SSYModelChangeActionSort:
1414
return @"\xe2\x97\x83" ; // Right triangle
1515
break;
16+
case SSYModelChangeActionMosh:
17+
return @"\xe2\x9c\xa3" ; // Four Balloon-spoked asterisk
18+
break;
1619
case SSYModelChangeActionSlide:
1720
return @"\xe2\x86\x95" ; // Up-and-down arrow
1821
break;

0 commit comments

Comments
 (0)