diff --git a/Latte.xcodeproj/everzet.mode1v3 b/Latte.xcodeproj/everzet.mode1v3 index fa6726b..5cf302f 100644 --- a/Latte.xcodeproj/everzet.mode1v3 +++ b/Latte.xcodeproj/everzet.mode1v3 @@ -280,8 +280,8 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 13 - 11 + 6 + 2 1 0 @@ -414,7 +414,7 @@ PBXProjectModuleGUID 1CE0B20306471E060097A5F4 PBXProjectModuleLabel - AppController.m + Task.m PBXSplitModuleInNavigatorKey Split0 @@ -422,11 +422,11 @@ PBXProjectModuleGUID 1CE0B20406471E060097A5F4 PBXProjectModuleLabel - AppController.m + Task.m _historyCapacity 0 bookmark - 63D96F5C113AB3AD0007F92D + 63D96FB6113B06E30007F92D history 639ECAFD101CDA4900CD9EC7 @@ -449,11 +449,9 @@ 63B61BAD113AAE7A0017D0F1 63B61BAF113AAE7A0017D0F1 63B61BB1113AAE7A0017D0F1 - 63B61BB9113AAEBD0017D0F1 63B61BC1113AAEDD0017D0F1 63D96F4A113AB2DC0007F92D 63D96F4B113AB2DC0007F92D - 63D96F4C113AB2DC0007F92D 63D96F4D113AB2DC0007F92D 63D96F4E113AB2DC0007F92D 63D96F4F113AB2DC0007F92D @@ -461,7 +459,10 @@ 63D96F51113AB2DC0007F92D 63D96F52113AB2DC0007F92D 63D96F5A113AB3AD0007F92D - 63D96F5B113AB3AD0007F92D + 63D96F75113B02B50007F92D + 63D96F9D113B04F00007F92D + 63D96FB0113B066C0007F92D + 63D96FB1113B066C0007F92D SplitCount @@ -681,7 +682,7 @@ 5 WindowOrderList - 63D96F5D113AB3AD0007F92D + 63D96FB7113B06E30007F92D 6370F6A6101F311E000BD869 63D96F32113AB1270007F92D 63D96F33113AB1270007F92D @@ -712,21 +713,21 @@ PBXProjectModuleGUID 1CD0528F0623707200166675 PBXProjectModuleLabel - AppController.m + SQLiteInstanceManager.m StatusBarVisibility GeometryConfiguration Frame - {{0, 0}, {500, 218}} + {{0, 0}, {675, 195}} RubberWindowFrame - 735 192 500 500 0 0 1280 778 + 516 215 675 477 0 0 1280 778 Module PBXNavigatorGroup Proportion - 218pt + 195pt BecomeActive @@ -745,9 +746,9 @@ GeometryConfiguration Frame - {{0, 223}, {500, 236}} + {{0, 200}, {675, 236}} RubberWindowFrame - 735 192 500 500 0 0 1280 778 + 516 215 675 477 0 0 1280 778 Module PBXBuildResultsModule @@ -756,7 +757,7 @@ Proportion - 459pt + 436pt Name @@ -777,7 +778,7 @@ ToolbarConfiguration xcode.toolbar.config.buildV3 WindowString - 735 192 500 500 0 0 1280 778 + 516 215 675 477 0 0 1280 778 WindowToolGUID 632D9674101BB4BA0055F5C2 WindowToolIsVisible diff --git a/Latte.xcodeproj/everzet.pbxuser b/Latte.xcodeproj/everzet.pbxuser index ddd04a0..0d518c7 100644 --- a/Latte.xcodeproj/everzet.pbxuser +++ b/Latte.xcodeproj/everzet.pbxuser @@ -177,6 +177,30 @@ 63D96F5A113AB3AD0007F92D /* PBXTextBookmark */ = 63D96F5A113AB3AD0007F92D /* PBXTextBookmark */; 63D96F5B113AB3AD0007F92D /* PBXTextBookmark */ = 63D96F5B113AB3AD0007F92D /* PBXTextBookmark */; 63D96F5C113AB3AD0007F92D /* PBXTextBookmark */ = 63D96F5C113AB3AD0007F92D /* PBXTextBookmark */; + 63D96F64113B01E80007F92D /* PBXTextBookmark */ = 63D96F64113B01E80007F92D /* PBXTextBookmark */; + 63D96F65113B01E80007F92D /* PBXTextBookmark */ = 63D96F65113B01E80007F92D /* PBXTextBookmark */; + 63D96F66113B01E80007F92D /* XCBuildMessageTextBookmark */ = 63D96F66113B01E80007F92D /* XCBuildMessageTextBookmark */; + 63D96F67113B01E80007F92D /* PBXTextBookmark */ = 63D96F67113B01E80007F92D /* PBXTextBookmark */; + 63D96F6C113B02910007F92D /* XCBuildMessageTextBookmark */ = 63D96F6C113B02910007F92D /* XCBuildMessageTextBookmark */; + 63D96F6D113B02910007F92D /* PBXTextBookmark */ = 63D96F6D113B02910007F92D /* PBXTextBookmark */; + 63D96F70113B02B10007F92D /* PBXTextBookmark */ = 63D96F70113B02B10007F92D /* PBXTextBookmark */; + 63D96F71113B02B10007F92D /* XCBuildMessageTextBookmark */ = 63D96F71113B02B10007F92D /* XCBuildMessageTextBookmark */; + 63D96F72113B02B10007F92D /* PBXTextBookmark */ = 63D96F72113B02B10007F92D /* PBXTextBookmark */; + 63D96F75113B02B50007F92D /* PBXTextBookmark */ = 63D96F75113B02B50007F92D /* PBXTextBookmark */; + 63D96F76113B02B50007F92D /* XCBuildMessageTextBookmark */ = 63D96F76113B02B50007F92D /* XCBuildMessageTextBookmark */; + 63D96F77113B02B50007F92D /* PBXTextBookmark */ = 63D96F77113B02B50007F92D /* PBXTextBookmark */; + 63D96F9D113B04F00007F92D /* PBXTextBookmark */ = 63D96F9D113B04F00007F92D /* PBXTextBookmark */; + 63D96F9E113B04F00007F92D /* PBXTextBookmark */ = 63D96F9E113B04F00007F92D /* PBXTextBookmark */; + 63D96F9F113B04F00007F92D /* PBXTextBookmark */ = 63D96F9F113B04F00007F92D /* PBXTextBookmark */; + 63D96FA0113B04F00007F92D /* PBXTextBookmark */ = 63D96FA0113B04F00007F92D /* PBXTextBookmark */; + 63D96FA4113B05B00007F92D /* PBXTextBookmark */ = 63D96FA4113B05B00007F92D /* PBXTextBookmark */; + 63D96FA5113B05B00007F92D /* PBXTextBookmark */ = 63D96FA5113B05B00007F92D /* PBXTextBookmark */; + 63D96FA6113B05B00007F92D /* PBXTextBookmark */ = 63D96FA6113B05B00007F92D /* PBXTextBookmark */; + 63D96FAA113B05C90007F92D /* PBXTextBookmark */ = 63D96FAA113B05C90007F92D /* PBXTextBookmark */; + 63D96FB0113B066C0007F92D /* PBXTextBookmark */ = 63D96FB0113B066C0007F92D /* PBXTextBookmark */; + 63D96FB1113B066C0007F92D /* PBXTextBookmark */ = 63D96FB1113B066C0007F92D /* PBXTextBookmark */; + 63D96FB2113B066C0007F92D /* PBXTextBookmark */ = 63D96FB2113B066C0007F92D /* PBXTextBookmark */; + 63D96FB6113B06E30007F92D /* PBXTextBookmark */ = 63D96FB6113B06E30007F92D /* PBXTextBookmark */; 63DDBD7E1139FB78002BB911 = 63DDBD7E1139FB78002BB911 /* PBXTextBookmark */; 63DDBDBD113A033F002BB911 = 63DDBDBD113A033F002BB911 /* PBXTextBookmark */; 63DDBE0D113A86FF002BB911 = 63DDBE0D113A86FF002BB911 /* PBXTextBookmark */; @@ -453,9 +477,9 @@ }; 6396D1791139C5C300255A29 /* TaskTableCell.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {951, 2178}}"; - sepNavSelRange = "{1139, 0}"; - sepNavVisRange = "{0, 2061}"; + sepNavIntBoundsRect = "{{0, 0}, {951, 1947}}"; + sepNavSelRange = "{4642, 0}"; + sepNavVisRange = "{3501, 2716}"; }; }; 6396D17F1139C5C300255A29 /* EZMilk.h */ = { @@ -674,9 +698,9 @@ path = /Users/everzet/Devel/desktop/mac/Latte/Controller/AppController.m; sourceTree = ""; uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {951, 3300}}"; - sepNavSelRange = "{5337, 0}"; - sepNavVisRange = "{4663, 1243}"; + sepNavIntBoundsRect = "{{0, 0}, {951, 3135}}"; + sepNavSelRange = "{5476, 0}"; + sepNavVisRange = "{0, 2058}"; }; }; 63B61BF4113AB06E0017D0F1 /* PBXTextBookmark */ = { @@ -826,7 +850,7 @@ fRef = 63DDBDF6113A8436002BB911 /* Task.m */; name = "Task.m: 50"; rLen = 0; - rLoc = 1680; + rLoc = 1706; rType = 0; vrLen = 1483; vrLoc = 742; @@ -941,6 +965,242 @@ vrLen = 1243; vrLoc = 4663; }; + 63D96F64113B01E80007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 63B61BDC113AB02B0017D0F1 /* AppController.m */; + name = "AppController.m: 167"; + rLen = 0; + rLoc = 5160; + rType = 0; + vrLen = 328; + vrLoc = 4953; + }; + 63D96F65113B01E80007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 63DDBDA5113A032D002BB911 /* SQLiteInstanceManager.h */; + name = "SQLiteInstanceManager.h: 52"; + rLen = 0; + rLoc = 1630; + rType = 0; + vrLen = 285; + vrLoc = 1407; + }; + 63D96F66113B01E80007F92D /* XCBuildMessageTextBookmark */ = { + isa = PBXTextBookmark; + comments = "Potential leak of an object allocated on line 42"; + fRef = 63DDBDA6113A032D002BB911 /* SQLiteInstanceManager.m */; + fallbackIsa = XCBuildMessageTextBookmark; + rLen = 1; + rLoc = 44; + rType = 1; + }; + 63D96F67113B01E80007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 63DDBDA6113A032D002BB911 /* SQLiteInstanceManager.m */; + name = "SQLiteInstanceManager.m: 45"; + rLen = 0; + rLoc = 1440; + rType = 0; + vrLen = 258; + vrLoc = 1184; + }; + 63D96F6C113B02910007F92D /* XCBuildMessageTextBookmark */ = { + isa = PBXTextBookmark; + comments = "Potential leak of an object allocated on line 42"; + fRef = 63DDBDA6113A032D002BB911 /* SQLiteInstanceManager.m */; + fallbackIsa = XCBuildMessageTextBookmark; + rLen = 1; + rLoc = 44; + rType = 1; + }; + 63D96F6D113B02910007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 63DDBDA6113A032D002BB911 /* SQLiteInstanceManager.m */; + name = "SQLiteInstanceManager.m: 45"; + rLen = 0; + rLoc = 1440; + rType = 0; + vrLen = 258; + vrLoc = 1184; + }; + 63D96F70113B02B10007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 63DDBDA6113A032D002BB911 /* SQLiteInstanceManager.m */; + name = "SQLiteInstanceManager.m: 45"; + rLen = 0; + rLoc = 1440; + rType = 0; + vrLen = 258; + vrLoc = 1184; + }; + 63D96F71113B02B10007F92D /* XCBuildMessageTextBookmark */ = { + isa = PBXTextBookmark; + comments = "Potential leak of an object allocated on line 694"; + fRef = 63DDBDA8113A032D002BB911 /* SQLitePersistentObject.m */; + fallbackIsa = XCBuildMessageTextBookmark; + rLen = 1; + rLoc = 693; + rType = 1; + }; + 63D96F72113B02B10007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 63DDBDA8113A032D002BB911 /* SQLitePersistentObject.m */; + name = "SQLitePersistentObject.m: 694"; + rLen = 0; + rLoc = 25421; + rType = 0; + vrLen = 456; + vrLoc = 25289; + }; + 63D96F75113B02B50007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 63B61BDC113AB02B0017D0F1 /* AppController.m */; + name = "AppController.m: 182"; + rLen = 0; + rLoc = 5476; + rType = 0; + vrLen = 2058; + vrLoc = 0; + }; + 63D96F76113B02B50007F92D /* XCBuildMessageTextBookmark */ = { + isa = PBXTextBookmark; + comments = "Potential leak of an object allocated on line 42"; + fRef = 63DDBDA6113A032D002BB911 /* SQLiteInstanceManager.m */; + fallbackIsa = XCBuildMessageTextBookmark; + rLen = 1; + rLoc = 44; + rType = 1; + }; + 63D96F77113B02B50007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 63DDBDA6113A032D002BB911 /* SQLiteInstanceManager.m */; + name = "SQLiteInstanceManager.m: 45"; + rLen = 0; + rLoc = 1440; + rType = 0; + vrLen = 1682; + vrLoc = 0; + }; + 63D96F9D113B04F00007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 63DDBDA6113A032D002BB911 /* SQLiteInstanceManager.m */; + name = "SQLiteInstanceManager.m: 45"; + rLen = 0; + rLoc = 1440; + rType = 0; + vrLen = 1698; + vrLoc = 0; + }; + 63D96F9E113B04F00007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6396D1791139C5C300255A29 /* TaskTableCell.m */; + name = "TaskTableCell.m: 134"; + rLen = 0; + rLoc = 4509; + rType = 0; + vrLen = 2718; + vrLoc = 3501; + }; + 63D96F9F113B04F00007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 63DDBDF6113A8436002BB911 /* Task.m */; + name = "Task.m: 50"; + rLen = 0; + rLoc = 1706; + rType = 0; + vrLen = 1559; + vrLoc = 666; + }; + 63D96FA0113B04F00007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 63DDBDF6113A8436002BB911 /* Task.m */; + name = "Task.m: 56"; + rLen = 0; + rLoc = 1904; + rType = 0; + vrLen = 1500; + vrLoc = 742; + }; + 63D96FA4113B05B00007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 63DDBDF6113A8436002BB911 /* Task.m */; + name = "Task.m: 56"; + rLen = 0; + rLoc = 1904; + rType = 0; + vrLen = 1505; + vrLoc = 742; + }; + 63D96FA5113B05B00007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6396D1791139C5C300255A29 /* TaskTableCell.m */; + name = "TaskTableCell.m: 134"; + rLen = 0; + rLoc = 4509; + rType = 0; + vrLen = 2716; + vrLoc = 3501; + }; + 63D96FA6113B05B00007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6396D1791139C5C300255A29 /* TaskTableCell.m */; + name = "TaskTableCell.m: 134"; + rLen = 0; + rLoc = 4509; + rType = 0; + vrLen = 2612; + vrLoc = 3501; + }; + 63D96FAA113B05C90007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6396D1791139C5C300255A29 /* TaskTableCell.m */; + name = "TaskTableCell.m: 136"; + rLen = 0; + rLoc = 4642; + rType = 0; + vrLen = 2614; + vrLoc = 3501; + }; + 63D96FB0113B066C0007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 6396D1791139C5C300255A29 /* TaskTableCell.m */; + name = "TaskTableCell.m: 136"; + rLen = 0; + rLoc = 4642; + rType = 0; + vrLen = 2716; + vrLoc = 3501; + }; + 63D96FB1113B066C0007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 63DDBDF6113A8436002BB911 /* Task.m */; + name = "Task.m: 56"; + rLen = 0; + rLoc = 1904; + rType = 0; + vrLen = 1581; + vrLoc = 666; + }; + 63D96FB2113B066C0007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 63DDBDF6113A8436002BB911 /* Task.m */; + name = "Task.m: 48"; + rLen = 0; + rLoc = 1640; + rType = 0; + vrLen = 1528; + vrLoc = 742; + }; + 63D96FB6113B06E30007F92D /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 63DDBDF6113A8436002BB911 /* Task.m */; + name = "Task.m: 56"; + rLen = 0; + rLoc = 1874; + rType = 0; + vrLen = 1544; + vrLoc = 742; + }; 63DDBD7E1139FB78002BB911 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6396D17F1139C5C300255A29 /* EZMilk.h */; @@ -951,6 +1211,21 @@ vrLen = 1916; vrLoc = 0; }; + 63DDBDA5113A032D002BB911 /* SQLiteInstanceManager.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1177, 759}}"; + sepNavSelRange = "{1630, 0}"; + sepNavVisRange = "{1125, 938}"; + sepNavWindowFrame = "{{15, 191}, {1236, 582}}"; + }; + }; + 63DDBDA6113A032D002BB911 /* SQLiteInstanceManager.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {951, 2167}}"; + sepNavSelRange = "{1440, 0}"; + sepNavVisRange = "{0, 1698}"; + }; + }; 63DDBDA7113A032D002BB911 /* SQLitePersistentObject.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {5034, 2409}}"; @@ -958,6 +1233,14 @@ sepNavVisRange = "{0, 2703}"; }; }; + 63DDBDA8113A032D002BB911 /* SQLitePersistentObject.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {726, 18810}}"; + sepNavSelRange = "{25421, 0}"; + sepNavVisRange = "{25289, 456}"; + sepNavWindowFrame = "{{38, 170}, {1236, 582}}"; + }; + }; 63DDBDBD113A033F002BB911 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 6396D1801139C5C300255A29 /* EZMilk.m */; @@ -992,8 +1275,8 @@ 63DDBDF6113A8436002BB911 /* Task.m */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {951, 836}}"; - sepNavSelRange = "{1680, 0}"; - sepNavVisRange = "{742, 1483}"; + sepNavSelRange = "{1874, 0}"; + sepNavVisRange = "{742, 1544}"; }; }; 63DDBE0D113A86FF002BB911 /* PBXTextBookmark */ = { @@ -1071,7 +1354,7 @@ fRef = 63DDBDF6113A8436002BB911 /* Task.m */; name = "Task.m: 39"; rLen = 0; - rLoc = 2218; + rLoc = 2284; rType = 0; vrLen = 862; vrLoc = 0; diff --git a/Lib/TaskTableCell.m b/Lib/TaskTableCell.m index 461af06..41c2b05 100644 --- a/Lib/TaskTableCell.m +++ b/Lib/TaskTableCell.m @@ -49,7 +49,7 @@ - (NSRect)checkboxRectForFrame:(NSRect)cellFrame - (NSRect)checkboxRectForFrame:(NSRect)cellFrame withBorder:(NSInteger)aBorder { - return NSMakeRect(cellFrame.origin.x + 10 - aBorder, cellFrame.origin.y + 7 - aBorder, 10 + (aBorder * 2), 10 + (aBorder * 2)); + return NSMakeRect(cellFrame.origin.x + 10 - aBorder, cellFrame.origin.y + 5 - aBorder, 10 + (aBorder * 2), 10 + (aBorder * 2)); } - (NSShadow*)textShadow @@ -78,9 +78,9 @@ - (void)drawCheckboxWithFrame:(NSRect)cellFrame isChecked:(BOOL)isChecked [[TaskTableCellGradient checkedCheckboxGradient] fillRect:checkboxRect angle:90]; path = [[NSBezierPath alloc] init]; - [path moveToPoint: NSMakePoint(cellFrame.origin.x + 11, cellFrame.origin.y + 11)]; - [path lineToPoint: NSMakePoint(cellFrame.origin.x + 14, cellFrame.origin.y + 14)]; - [path lineToPoint: NSMakePoint(cellFrame.origin.x + 19, cellFrame.origin.y + 8)]; + [path moveToPoint: NSMakePoint(cellFrame.origin.x + 11, cellFrame.origin.y + 9.5)]; + [path lineToPoint: NSMakePoint(cellFrame.origin.x + 14, cellFrame.origin.y + 12.5)]; + [path lineToPoint: NSMakePoint(cellFrame.origin.x + 19, cellFrame.origin.y + 6.5)]; [[NSColor whiteColor] set]; [path setLineWidth: 2]; [path stroke]; @@ -131,13 +131,13 @@ - (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView // Task title [task.name drawInRect: NSMakeRect(cellFrame.origin.x + 26, - cellFrame.origin.y + 3, + cellFrame.origin.y + 2.9, cellFrame.size.width - 26, cellFrame.size.height - 18) withAttributes: [NSDictionary dictionaryWithObjectsAndKeys: [NSColor darkGrayColor], NSForegroundColorAttributeName, textShadow, NSShadowAttributeName, - [NSFont systemFontOfSize:12], NSFontAttributeName, nil]]; + [NSFont systemFontOfSize:11], NSFontAttributeName, nil]]; // Task due date [[self rightAlignedString:[task displayableDue] ofSize:11] diff --git a/Model/Task.m b/Model/Task.m index bd4237b..4240064 100644 --- a/Model/Task.m +++ b/Model/Task.m @@ -45,7 +45,7 @@ - (void)dealloc + (NSArray*)allCompleted:(BOOL)isCompleted inList:(TaskList*)aList { - NSString* criteria = [NSString stringWithFormat:@"WHERE list = '%@-%d' AND is_completed = %d", + NSString* criteria = [NSString stringWithFormat:@"WHERE list = '%@-%d' AND is_completed = %d ORDER BY priority, due_at", [aList class], aList.pk, isCompleted]; return [Task findByCriteria:criteria]; @@ -53,7 +53,7 @@ + (NSArray*)allCompleted:(BOOL)isCompleted inList:(TaskList*)aList + (NSArray*)allInList:(TaskList*)aList { - NSString* criteria = [NSString stringWithFormat:@"WHERE list = '%@-%d'", + NSString* criteria = [NSString stringWithFormat:@"WHERE list = '%@-%d' ORDER BY is_completed, priority, due_at", [aList class], aList.pk]; return [Task findByCriteria:criteria];