Revision 4e6acad7 pithos-macos/PithosBrowserController.m
b/pithos-macos/PithosBrowserController.m | ||
---|---|---|
56 | 56 |
#import "PithosUtilities.h" |
57 | 57 |
#import "UsingSizeTransformer.h" |
58 | 58 |
|
59 |
#define REFRESH_TIMER_INTERVAL 5 |
|
60 |
|
|
59 | 61 |
@interface PithosBrowserCell : FileSystemBrowserCell {} |
60 | 62 |
@end |
61 | 63 |
|
... | ... | |
343 | 345 |
// [activityFacility reset]; |
344 | 346 |
activityFacility.delegate = self; |
345 | 347 |
|
346 |
refreshTimer = [[NSTimer scheduledTimerWithTimeInterval:30
|
|
348 |
refreshTimer = [[NSTimer scheduledTimerWithTimeInterval:REFRESH_TIMER_INTERVAL
|
|
347 | 349 |
target:self |
348 | 350 |
selector:@selector(forceRefresh:) |
349 | 351 |
userInfo:self |
... | ... | |
516 | 518 |
#pragma mark Actions |
517 | 519 |
|
518 | 520 |
- (IBAction)forceRefresh:(id)sender { |
521 |
if (editingItem) |
|
522 |
return; |
|
519 | 523 |
if (sender) |
520 | 524 |
[accountNode forceRefresh]; |
521 | 525 |
for (NSInteger column = [browser lastColumn]; column >= 0; column--) { |
... | ... | |
527 | 531 |
} |
528 | 532 |
|
529 | 533 |
- (IBAction)refresh:(id)sender { |
534 |
if (editingItem) |
|
535 |
return; |
|
530 | 536 |
if ([[NSApp currentEvent] modifierFlags] & NSShiftKeyMask) { |
531 | 537 |
[self forceRefresh:sender]; |
532 | 538 |
} else { |
... | ... | |
593 | 599 |
if (node.shared || node.sharingAccount || |
594 | 600 |
([node class] == [PithosContainerNode class]) || ([node class] == [PithosAccountNode class])) |
595 | 601 |
return NO; |
602 |
editingItem = YES; |
|
596 | 603 |
return YES; |
597 | 604 |
} |
598 | 605 |
|
599 | 606 |
- (void)browser:(NSBrowser *)browser setObjectValue:(id)object forItem:(id)item { |
607 |
editingItem = NO; |
|
600 | 608 |
PithosNode *node = (PithosNode *)item; |
601 | 609 |
NSString *newName = (NSString *)object; |
602 | 610 |
NSUInteger newNameLength = [newName length]; |
... | ... | |
1738 | 1746 |
dispatch_async(dispatch_get_main_queue(), ^{ |
1739 | 1747 |
[activityFacility endActivity:[objectRequest.userInfo objectForKey:@"activity"] |
1740 | 1748 |
withMessage:[objectRequest.userInfo objectForKey:@"finishedActivityMessage"]]; |
1749 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"forceRefreshNodes"]) { |
|
1750 |
[node forceRefresh]; |
|
1751 |
} |
|
1752 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"refreshNodes"]) { |
|
1753 |
[node refresh]; |
|
1754 |
} |
|
1755 |
if ([[objectRequest.userInfo objectForKey:@"forceRefresh"] boolValue]) |
|
1756 |
[self forceRefresh:self]; |
|
1757 |
else if ([[objectRequest.userInfo objectForKey:@"refresh"] boolValue]) |
|
1758 |
[self refresh:self]; |
|
1741 | 1759 |
}); |
1742 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"forceRefreshNodes"]) { |
|
1743 |
[node forceRefresh]; |
|
1744 |
} |
|
1745 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"refreshNodes"]) { |
|
1746 |
[node refresh]; |
|
1747 |
} |
|
1748 |
if ([[objectRequest.userInfo objectForKey:@"forceRefresh"] boolValue]) |
|
1749 |
[self forceRefresh:self]; |
|
1750 |
else if ([[objectRequest.userInfo objectForKey:@"refresh"] boolValue]) |
|
1751 |
[self refresh:self]; |
|
1752 | 1760 |
} else { |
1753 | 1761 |
[(NSMutableDictionary *)(objectRequest.userInfo)setObject:[NSNumber numberWithBool:YES] forKey:@"unexpectedResponseStatus"]; |
1754 | 1762 |
[self requestFailed:objectRequest]; |
... | ... | |
1773 | 1781 |
withMessage:[objectRequest.userInfo objectForKey:@"finishedActivityMessage"] |
1774 | 1782 |
totalBytes:totalBytes |
1775 | 1783 |
currentBytes:totalBytes]; |
1784 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"forceRefreshNodes"]) { |
|
1785 |
[node forceRefresh]; |
|
1786 |
} |
|
1787 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"refreshNodes"]) { |
|
1788 |
[node refresh]; |
|
1789 |
} |
|
1790 |
if ([[objectRequest.userInfo objectForKey:@"forceRefresh"] boolValue]) |
|
1791 |
[self forceRefresh:self]; |
|
1792 |
else if ([[objectRequest.userInfo objectForKey:@"refresh"] boolValue]) |
|
1793 |
[self refresh:self]; |
|
1776 | 1794 |
}); |
1777 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"forceRefreshNodes"]) { |
|
1778 |
[node forceRefresh]; |
|
1779 |
} |
|
1780 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"refreshNodes"]) { |
|
1781 |
[node refresh]; |
|
1782 |
} |
|
1783 |
if ([[objectRequest.userInfo objectForKey:@"forceRefresh"] boolValue]) |
|
1784 |
[self forceRefresh:self]; |
|
1785 |
else if ([[objectRequest.userInfo objectForKey:@"refresh"] boolValue]) |
|
1786 |
[self refresh:self]; |
|
1787 | 1795 |
} else if (objectRequest.responseStatusCode == 409) { |
1788 | 1796 |
NSUInteger iteration = [[objectRequest.userInfo objectForKey:@"iteration"] unsignedIntegerValue]; |
1789 | 1797 |
if (iteration == 0) { |
... | ... | |
1915 | 1923 |
dispatch_async(dispatch_get_main_queue(), ^{ |
1916 | 1924 |
[activityFacility endActivity:[objectRequest.userInfo objectForKey:@"activity"] |
1917 | 1925 |
withMessage:[objectRequest.userInfo objectForKey:@"finishedActivityMessage"]]; |
1926 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"forceRefreshNodes"]) { |
|
1927 |
[node forceRefresh]; |
|
1928 |
} |
|
1929 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"refreshNodes"]) { |
|
1930 |
[node refresh]; |
|
1931 |
} |
|
1932 |
if ([[objectRequest.userInfo objectForKey:@"forceRefresh"] boolValue]) |
|
1933 |
[self forceRefresh:self]; |
|
1934 |
else if ([[objectRequest.userInfo objectForKey:@"refresh"] boolValue]) |
|
1935 |
[self refresh:self]; |
|
1918 | 1936 |
}); |
1919 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"forceRefreshNodes"]) { |
|
1920 |
[node forceRefresh]; |
|
1921 |
} |
|
1922 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"refreshNodes"]) { |
|
1923 |
[node refresh]; |
|
1924 |
} |
|
1925 |
if ([[objectRequest.userInfo objectForKey:@"forceRefresh"] boolValue]) |
|
1926 |
[self forceRefresh:self]; |
|
1927 |
else if ([[objectRequest.userInfo objectForKey:@"refresh"] boolValue]) |
|
1928 |
[self refresh:self]; |
|
1929 | 1937 |
} else { |
1930 | 1938 |
[(NSMutableDictionary *)(objectRequest.userInfo)setObject:[NSNumber numberWithBool:YES] forKey:@"unexpectedResponseStatus"]; |
1931 | 1939 |
[self requestFailed:objectRequest]; |
... | ... | |
1943 | 1951 |
dispatch_async(dispatch_get_main_queue(), ^{ |
1944 | 1952 |
[activityFacility endActivity:[objectRequest.userInfo objectForKey:@"activity"] |
1945 | 1953 |
withMessage:[objectRequest.userInfo objectForKey:@"finishedActivityMessage"]]; |
1954 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"forceRefreshNodes"]) { |
|
1955 |
[node forceRefresh]; |
|
1956 |
} |
|
1957 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"refreshNodes"]) { |
|
1958 |
[node refresh]; |
|
1959 |
} |
|
1960 |
if ([[objectRequest.userInfo objectForKey:@"forceRefresh"] boolValue]) |
|
1961 |
[self forceRefresh:self]; |
|
1962 |
else if ([[objectRequest.userInfo objectForKey:@"refresh"] boolValue]) |
|
1963 |
[self refresh:self]; |
|
1946 | 1964 |
}); |
1947 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"forceRefreshNodes"]) { |
|
1948 |
[node forceRefresh]; |
|
1949 |
} |
|
1950 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"refreshNodes"]) { |
|
1951 |
[node refresh]; |
|
1952 |
} |
|
1953 |
if ([[objectRequest.userInfo objectForKey:@"forceRefresh"] boolValue]) |
|
1954 |
[self forceRefresh:self]; |
|
1955 |
else if ([[objectRequest.userInfo objectForKey:@"refresh"] boolValue]) |
|
1956 |
[self refresh:self]; |
|
1957 | 1965 |
} else { |
1958 | 1966 |
[(NSMutableDictionary *)(objectRequest.userInfo)setObject:[NSNumber numberWithBool:YES] forKey:@"unexpectedResponseStatus"]; |
1959 | 1967 |
[self requestFailed:objectRequest]; |
... | ... | |
1971 | 1979 |
dispatch_async(dispatch_get_main_queue(), ^{ |
1972 | 1980 |
[activityFacility endActivity:[objectRequest.userInfo objectForKey:@"activity"] |
1973 | 1981 |
withMessage:[objectRequest.userInfo objectForKey:@"finishedActivityMessage"]]; |
1982 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"forceRefreshNodes"]) { |
|
1983 |
[node forceRefresh]; |
|
1984 |
} |
|
1985 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"refreshNodes"]) { |
|
1986 |
[node refresh]; |
|
1987 |
} |
|
1988 |
if ([[objectRequest.userInfo objectForKey:@"forceRefresh"] boolValue]) |
|
1989 |
[self forceRefresh:self]; |
|
1990 |
else if ([[objectRequest.userInfo objectForKey:@"refresh"] boolValue]) |
|
1991 |
[self refresh:self]; |
|
1974 | 1992 |
}); |
1975 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"forceRefreshNodes"]) { |
|
1976 |
[node forceRefresh]; |
|
1977 |
} |
|
1978 |
for (PithosNode *node in [objectRequest.userInfo objectForKey:@"refreshNodes"]) { |
|
1979 |
[node refresh]; |
|
1980 |
} |
|
1981 |
if ([[objectRequest.userInfo objectForKey:@"forceRefresh"] boolValue]) |
|
1982 |
[self forceRefresh:self]; |
|
1983 |
else if ([[objectRequest.userInfo objectForKey:@"refresh"] boolValue]) |
|
1984 |
[self refresh:self]; |
|
1985 | 1993 |
} else { |
1986 | 1994 |
[(NSMutableDictionary *)(objectRequest.userInfo)setObject:[NSNumber numberWithBool:YES] forKey:@"unexpectedResponseStatus"]; |
1987 | 1995 |
[self requestFailed:objectRequest]; |
Also available in: Unified diff