Skip to content

Commit

Permalink
working on DP
Browse files Browse the repository at this point in the history
git-svn-id: https://svn.code.sf.net/p/osirixplugins/code@287 bdd3870d-6ba2-4b59-8605-1de7af000970
  • Loading branch information
aglv committed Aug 20, 2012
1 parent d291baa commit 3d4bac9
Show file tree
Hide file tree
Showing 9 changed files with 540 additions and 449 deletions.
11 changes: 3 additions & 8 deletions DiscPublishing/Classes/DiscPublishingFilesManager.mm
Original file line number Diff line number Diff line change
Expand Up @@ -125,15 +125,8 @@ + (NSString*)timeString:(NSTimeInterval)time {
} while (/*rs.count < maxUnits && */time >= 1);

NSMutableString* s = [NSMutableString string];
for (NSInteger i = 0; i < rs.count; ++i)
{
if (i > 0)
{
[s appendString:@" "];
}

for (NSUInteger i = 0; i < rs.count; ++i)
[s appendString:[rs objectAtIndex:i]];
}

return s;
}
Expand Down Expand Up @@ -263,6 +256,8 @@ -(void)observeDatabaseAddition:(NSNotification*)notification {
}
}

BOOL active = [NSUserDefaultsController.sharedUserDefaultsController boolForKey:[NSUserDefaults transformKeyPath:DiscPublishingPatientModeActiveFlagDefaultsKey forDPServiceId:sid]];

for (DicomImage* image in addedImages)
@try {
if ([image managedObjectContext] == [[DicomDatabase defaultDatabase] managedObjectContext]) {
Expand Down
81 changes: 81 additions & 0 deletions DiscPublishing/Classes/DiscPublishingPreferencesController.mm
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@
#import <OsiriXAPI/NSUserDefaultsController+OsiriX.h>
#import <OsiriXAPI/PreferencesWindowController.h>
#import <OsiriXAPI/Anonymization.h>
#import <OsiriXAPI/NSFileManager+N2.h>
#import <OsiriXAPI/NSString+N2.h>
#import <OsiriX/DCMTagDictionary.h>
#import "DiscPublishingUtils.h"

@interface NSPathControl (DiscPublishing)
Expand Down Expand Up @@ -216,6 +219,43 @@ -(IBAction)mediaCapacityValueChanged:(id)sender {
// do nothing
}

- (NSArray*)tokenField:(NSTokenField*)tokenField completionsForSubstring:(NSString*)Substring indexOfToken:(NSInteger)tokenIndex indexOfSelectedItem:(NSInteger*)selectedIndex {
if ([Substring isEqualToString:@"*"]) {
*selectedIndex = 0;
return [NSArray arrayWithObject:@"*"];
}

DCMTagDictionary* dcmtd = [DCMTagDictionary sharedTagDictionary];
NSString* substring = [Substring lowercaseString];

NSMutableArray* r = [NSMutableArray array];

for (NSString* Key in dcmtd) {
NSString* key = [Key lowercaseString];
if ([key contains:substring])
[r addObject:key];
NSString* Desc = [[dcmtd objectForKey:Key] objectForKey:@"Description"];
NSString* desc = [Desc lowercaseString];
if ([desc contains:substring])
[r addObject:Desc];
}

[r sortUsingComparator:^NSComparisonResult(id Obj1, id Obj2) {
NSString* obj1 = [Obj1 lowercaseString];
NSString* obj2 = [Obj2 lowercaseString];

BOOL beg1 = [obj1 hasPrefix:substring], beg2 = [obj2 hasPrefix:substring];
if (beg1 != beg2)
return beg1 < beg2;

return [obj1 compare:obj2];
}];

*selectedIndex = -1;

return r;
}

#pragma mark Services

+ (NSString*) stringWithUUID {
Expand Down Expand Up @@ -455,6 +495,47 @@ -(id)transformedValue:(NSString*)value {
@end


@interface DiscPublishingIsValidMountPath: NSValueTransformer
@end
@implementation DiscPublishingIsValidMountPath

+(Class)transformedValueClass {
return [NSNumber class];
}

+(BOOL)allowsReverseTransformation {
return NO;
}

-(id)transformedValue:(NSString*)value {
if (value.length < 1) return [NSNumber numberWithBool:NO];

BOOL ok = YES;

/*NSURL* url = [NSURL URLWithString:value];
if (!url) return [NSNumber numberWithBool:NO];
NSString* mountPath = [NSFileManager.defaultManager tmpFilePathInTmp];
[NSFileManager.defaultManager createDirectoryAtPath:mountPath withIntermediateDirectories:YES attributes:nil error:nil];
BOOL ok = NO;
FSVolumeRefNum volumeRefNum = -1;
OSErr err = FSMountServerVolumeSync((CFURLRef)url, (CFURLRef)[NSURL URLWithString:mountPath], (CFStringRef)url.user, (CFStringRef)url.password, &volumeRefNum, kFSMountServerMarkDoNotDisplay|kFSMountServerMountOnMountDir|kFSMountServerSuppressConnectionUI);
if (err == noErr) {
ok = YES;
pid_t dissenter;
FSUnmountVolumeSync(volumeRefNum, 0, &dissenter);
}
[NSFileManager.defaultManager removeItemAtPath:mountPath error:NULL];*/

return [NSNumber numberWithBool:ok];
}

@end


@interface DiscCoverTemplatePathTransformer: NSValueTransformer
@end
@implementation DiscCoverTemplatePathTransformer
Expand Down
5 changes: 3 additions & 2 deletions DiscPublishing/Classes/NSUserDefaults+DiscPublishing.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,15 @@

@class DiscPublishingOptions;

extern NSString* const DiscPublishingActiveFlagDefaultsKey;
//extern NSString* const DiscPublishingActiveFlagDefaultsKey; // moved into the Service group (DiscPublishingPatientMode*)

extern NSString* const DiscPublishingBurnSpeedDefaultsKey;

extern NSString* const DiscPublishingServicesListDefaultsKey;

extern NSString* const DiscPublishingBurnModeDefaultsKey;
extern NSString* const DiscPublishingBurnModeDefaultsKey; // kind of unused....

extern NSString* const DiscPublishingPatientModeActiveFlagDefaultsKey;
extern NSString* const DiscPublishingPatientModeMatchedAETsDefaultsKey;
extern NSString* const DiscPublishingPatientModeBurnDelayDefaultsKey;
extern NSString* const DiscPublishingPatientModeDiscCoverTemplatePathDefaultsKey;
Expand Down
14 changes: 8 additions & 6 deletions DiscPublishing/Classes/NSUserDefaults+DiscPublishing.mm
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,15 @@
#import "DiscPublishingUtils.h"


NSString* const DiscPublishingActiveFlagDefaultsKey = @"DiscPublishingActiveFlag";
//NSString* const DiscPublishingActiveFlagDefaultsKey = @"DiscPublishingActiveFlag";

NSString* const DiscPublishingBurnSpeedDefaultsKey = @"DiscPublishingBurnSpeed";

NSString* const DiscPublishingServicesListDefaultsKey = @"DiscPublishingServicesList";

NSString* const DiscPublishingBurnModeDefaultsKey = @"DiscPublishingBurnMode";
NSString* const DiscPublishingBurnModeDefaultsKey = @"DiscPublishingBurnMode"; // kind of unused....

NSString* const DiscPublishingPatientModeActiveFlagDefaultsKey = @"DiscPublishingPatientModeActiveFlag";
NSString* const DiscPublishingPatientModeMatchedAETsDefaultsKey = @"DiscPublishingPatientModeMatchedAETs";
NSString* const DiscPublishingPatientModeBurnDelayDefaultsKey = @"DiscPublishingPatientModeBurnDelay";
NSString* const DiscPublishingPatientModeDiscCoverTemplatePathDefaultsKey = @"DiscPublishingPatientModeDiscCoverTemplatePath";
Expand Down Expand Up @@ -77,6 +78,7 @@ + (NSString*)transformKeyPath:(NSString*)okp forDPServiceId:(NSString*)sid {

+ (NSDictionary*)initialValuesForDPServiceWithId:(NSString*)sid {
NSDictionary* theValues = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:NO], DiscPublishingPatientModeActiveFlagDefaultsKey,
[NSNumber numberWithUnsignedInt:60], DiscPublishingPatientModeBurnDelayDefaultsKey,
[NSNumber numberWithBool:NO], DiscPublishingPatientModeAnonymizeFlagDefaultsKey,
[NSDictionary dictionaryWithObjectsAndKeys:
Expand Down Expand Up @@ -137,19 +139,19 @@ + (NSString*)DPKVOBinPrefixForBin:(NSUInteger)bin {
}

NSString* const DPMediaTypeTagKVOKeySuffix = @"_MediaTypeTag";
NSString* const DPKVOMediaCapacitySuffix = @"_MediaCapacity";
NSString* const DPKVOMediaCapacityMeasureTagSuffix = @"_MediaCapacityMeasureTag";
NSString* const DPMediaCapacityKVOKeySuffix = @"_MediaCapacity";
NSString* const DPMediaCapacityMeasureTagKVOKeySuffix = @"_MediaCapacityMeasureTag";

+ (NSString*)DPMediaTypeTagKVOKeyForBin:(NSUInteger)bin {
return [[self DPKVOBinPrefixForBin:bin] stringByAppendingString:DPMediaTypeTagKVOKeySuffix];
}

+ (NSString*)DPMediaCapacityKVOKeyForBin:(NSUInteger)bin {
return [[self DPKVOBinPrefixForBin:bin] stringByAppendingString:DPKVOMediaCapacitySuffix];
return [[self DPKVOBinPrefixForBin:bin] stringByAppendingString:DPMediaCapacityKVOKeySuffix];
}

+ (NSString*)DPMediaCapacityMeasureTagKVOKeyForBin:(NSUInteger)bin {
return [[self DPKVOBinPrefixForBin:bin] stringByAppendingString:DPKVOMediaCapacityMeasureTagSuffix];
return [[self DPKVOBinPrefixForBin:bin] stringByAppendingString:DPMediaCapacityMeasureTagKVOKeySuffix];
}

+ (NSString*)DPDefaultDiscCoverPath {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

+ (void)discPublishingInitialize;

- (BOOL)discPublishingIsActive;
//- (BOOL)discPublishingIsActive;

- (NSString*)DPServiceNameForId:(NSString*)sid;
- (NSUInteger)DPDelayForServiceId:(NSString*)sid;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,9 @@ +(void)discPublishingInitialize {
[defaults addObserver:helper forValuesKey:DiscPublishingPatientModeAnonymizeFlagDefaultsKey options:NSKeyValueObservingOptionInitial context:NULL];
}

-(BOOL)discPublishingIsActive {
/*-(BOOL)discPublishingIsActive {
return [[self valueForValuesKey:DiscPublishingActiveFlagDefaultsKey] boolValue];
}
}*/

- (NSString*)DPServiceNameForId:(NSString*)sid {
for (NSDictionary* d in [[NSUserDefaults standardUserDefaults] valueForKey:DiscPublishingServicesListDefaultsKey])
Expand Down
Loading

0 comments on commit 3d4bac9

Please sign in to comment.