Browse files

add admin auth support

  • Loading branch information...
1 parent b9aaba5 commit 29c952e3aee888b272b7cc0f73be39e02c415f1a @bububa committed May 7, 2010
View
4 AddConnectionController.h
@@ -13,6 +13,8 @@
IBOutlet NSTextField *hostTextField;
IBOutlet NSTextField *hostportTextField;
IBOutlet NSTextField *aliasTextField;
+ IBOutlet NSTextField *adminuserTextField;
+ IBOutlet NSSecureTextField *adminpassTextField;
IBOutlet NSButton *usesshCheckBox;
IBOutlet NSTextField *bindaddressTextField;
IBOutlet NSTextField *bindportTextField;
@@ -28,6 +30,8 @@
@property (nonatomic, retain) NSTextField *hostTextField;
@property (nonatomic, retain) NSTextField *hostportTextField;
@property (nonatomic, retain) NSTextField *aliasTextField;
+@property (nonatomic, retain) NSTextField *adminuserTextField;
+@property (nonatomic, retain) NSSecureTextField *adminpassTextField;
@property (nonatomic, retain) NSButton *usesshCheckBox;
@property (nonatomic, retain) NSTextField *bindaddressTextField;
@property (nonatomic, retain) NSTextField *bindportTextField;
View
12 AddConnectionController.m
@@ -15,6 +15,8 @@ @implementation AddConnectionController
@synthesize hostTextField;
@synthesize hostportTextField;
@synthesize aliasTextField;
+@synthesize adminuserTextField;
+@synthesize adminpassTextField;
@synthesize usesshCheckBox;
@synthesize bindaddressTextField;
@synthesize bindportTextField;
@@ -35,6 +37,8 @@ - (void)dealloc {
[hostTextField release];
[hostportTextField release];
[aliasTextField release];
+ [adminuserTextField release];
+ [adminpassTextField release];
[usesshCheckBox release];
[bindaddressTextField release];
[bindportTextField release];
@@ -66,6 +70,8 @@ - (IBAction)add:(id)sender {
NSString *host;
NSUInteger hostport;
NSString *alias;
+ NSString *adminuser = [adminuserTextField stringValue];
+ NSString *adminpass = [adminpassTextField stringValue];
NSUInteger usessh = 0;
NSString *bindaddress;
NSUInteger bindport;
@@ -118,10 +124,10 @@ - (IBAction)add:(id)sender {
sshuser = @"";
sshpassword = @"";
}
- NSArray *keys = [[NSArray alloc] initWithObjects:@"host", @"hostport", @"alias", @"usessh", @"bindaddress", @"bindport", @"sshhost", @"sshport", @"sshuser", @"sshpassword", nil];
- NSArray *objs = [[NSArray alloc] initWithObjects:host, [NSNumber numberWithInt:hostport], alias, [NSNumber numberWithInt:usessh], bindaddress, [NSNumber numberWithInt:bindport], sshhost, [NSNumber numberWithInt:sshport], sshuser, sshpassword, nil];
+ NSArray *keys = [[NSArray alloc] initWithObjects:@"host", @"hostport", @"alias", @"adminuser", @"adminpass", @"usessh", @"bindaddress", @"bindport", @"sshhost", @"sshport", @"sshuser", @"sshpassword", nil];
+ NSArray *objs = [[NSArray alloc] initWithObjects:host, [NSNumber numberWithInt:hostport], alias, adminuser, adminpass, [NSNumber numberWithInt:usessh], bindaddress, [NSNumber numberWithInt:bindport], sshhost, [NSNumber numberWithInt:sshport], sshuser, sshpassword, nil];
if (!connectionInfo) {
- connectionInfo = [[NSMutableDictionary alloc] initWithCapacity:10];
+ connectionInfo = [[NSMutableDictionary alloc] initWithCapacity:12];
}
connectionInfo = [NSMutableDictionary dictionaryWithObjects:objs forKeys:keys];
[keys release];
View
9 AddDBController.h
@@ -7,19 +7,28 @@
//
#import <Cocoa/Cocoa.h>
+@class DatabasesArrayController;
+@class Connection;
@interface AddDBController : NSWindowController {
IBOutlet NSTextField *dbname;
IBOutlet NSTextField *user;
IBOutlet NSSecureTextField *password;
NSMutableDictionary *dbInfo;
+ Connection *conn;
+ NSManagedObjectContext *managedObjectContext;
+ IBOutlet DatabasesArrayController *databasesArrayController;
}
@property (nonatomic, retain) NSTextField *dbname;
@property (nonatomic, retain) NSTextField *user;
@property (nonatomic, retain) NSSecureTextField *password;
@property (nonatomic, retain) NSMutableDictionary *dbInfo;
+@property (nonatomic, retain) Connection *conn;
+@property (nonatomic, retain) NSManagedObjectContext *managedObjectContext;
+@property (nonatomic, retain) DatabasesArrayController *databasesArrayController;
- (IBAction)add:(id)sender;
- (IBAction)cancel:(id)sender;
+- (void)saveAction;
@end
View
34 AddDBController.m
@@ -8,13 +8,20 @@
#import "Configure.h"
#import "AddDBController.h"
+#import "DatabasesArrayController.h"
+#import "Database.h"
+#import "Connection.h"
+#import "NSString+Extras.h"
@implementation AddDBController
@synthesize dbname;
@synthesize user;
@synthesize password;
@synthesize dbInfo;
+@synthesize conn;
+@synthesize managedObjectContext;
+@synthesize databasesArrayController;
- (id)init {
if (![super initWithWindowNibName:@"NewDB"]) return nil;
@@ -26,6 +33,9 @@ - (void)dealloc {
[user release];
[password release];
[dbInfo release];
+ [managedObjectContext release];
+ [databasesArrayController release];
+ [conn release];
[super dealloc];
}
@@ -58,6 +68,30 @@ - (IBAction)add:(id)sender {
dbInfo = [NSMutableDictionary dictionaryWithObjects:objs forKeys:keys];
[objs release];
[keys release];
+ if ([[dbInfo objectForKey:@"user"] isPresent] || [[dbInfo objectForKey:@"password"] isPresent]) {
+ Database *dbobj = [databasesArrayController dbInfo:conn name:[dbname stringValue]];
+ if (!dbobj) {
+ [dbobj release];
+ dbobj = [databasesArrayController newObjectWithConn:conn name:[dbname stringValue] user:[dbInfo objectForKey:@"user"] password:[dbInfo objectForKey:@"password"]];
+ [databasesArrayController addObject:dbobj];
+ }
+ [self saveAction];
+ [dbobj release];
+ }
[self close];
}
+
+- (void) saveAction {
+
+ NSError *error = nil;
+
+ if (![[self managedObjectContext] commitEditing]) {
+ NSLog(@"%@:%s unable to commit editing before saving", [self class], _cmd);
+ }
+
+ if (![[self managedObjectContext] save:&error]) {
+ [[NSApplication sharedApplication] presentError:error];
+ }
+}
+
@end
View
1 Configure.h
@@ -10,3 +10,4 @@
#define kEditConnectionWindowWillClose @"EditConnectionWindowWillClose"
#define kNewDBWindowWillClose @"NewDBWindowWillClose"
#define kNewCollectionWindowWillClose @"NewCollectionWindowWillClose"
+#define kAuthWindowWillClose @"AuthWindowWillClose"
View
4 Connection.h
@@ -12,6 +12,8 @@
NSString *host;
NSNumber *hostport;
NSString *alias;
+ NSString *adminuser;
+ NSString *adminpass;
NSString *sshhost;
NSNumber *sshport;
NSString *sshuser;
@@ -25,6 +27,8 @@
@property (nonatomic, retain) NSString *host;
@property (nonatomic, retain) NSNumber *hostport;
@property (nonatomic, retain) NSString *alias;
+@property (nonatomic, retain) NSString *adminuser;
+@property (nonatomic, retain) NSString *adminpass;
@property (nonatomic, retain) NSSet *databases;
@property (nonatomic, retain) NSString *sshhost;
@property (nonatomic, retain) NSNumber *sshport;
View
2 Connection.m
@@ -14,6 +14,8 @@ @implementation Connection
@dynamic host;
@dynamic hostport;
@dynamic alias;
+@dynamic adminuser;
+@dynamic adminpass;
@dynamic databases;
@dynamic usessh;
View
65 ConnectionWindow.xib
@@ -22,7 +22,6 @@
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="32"/>
- <integer value="153"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -381,6 +380,30 @@
<int key="NSPeriodicInterval">25</int>
</object>
</object>
+ <object class="BWAnchoredButton" id="340130358">
+ <reference key="NSNextResponder" ref="1037195992"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{61, -1}, {32, 24}}</string>
+ <reference key="NSSuperview" ref="1037195992"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="BWAnchoredButtonCell" key="NSCell" id="151528941">
+ <int key="NSCellFlags">67239424</int>
+ <int key="NSCellFlags2">134348800</int>
+ <string key="NSContents"/>
+ <reference key="NSSupport" ref="26"/>
+ <reference key="NSControlView" ref="340130358"/>
+ <int key="NSButtonFlags">-2033958657</int>
+ <int key="NSButtonFlags2">163</int>
+ <object class="NSCustomResource" key="NSNormalImage">
+ <string key="NSClassName">NSImage</string>
+ <string key="NSResourceName">key</string>
+ </object>
+ <string key="NSAlternateContents"/>
+ <string key="NSKeyEquivalent"/>
+ <int key="NSPeriodicDelay">200</int>
+ <int key="NSPeriodicInterval">25</int>
+ </object>
+ </object>
</object>
<string key="NSFrameSize">{145, 23}</string>
<reference key="NSSuperview" ref="902110123"/>
@@ -884,7 +907,7 @@
<nil key="NSViewClass"/>
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
<object class="NSView" key="NSWindowView" id="619081315">
- <reference key="NSNextResponder"/>
+ <nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -973,7 +996,6 @@ bS8KVHdpdHRlcjogaHR0cDovL3R3aXR0ZXIuY29tL2J1YnViYS8</string>
</object>
</object>
<string key="NSFrameSize">{331, 175}</string>
- <reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1280, 778}}</string>
<string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
@@ -1170,6 +1192,14 @@ bS8KVHdpdHRlcjogaHR0cDovL3R3aXR0ZXIuY29tL2J1YnViYS8</string>
</object>
<int key="connectionID">174</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBActionConnection" key="connection">
+ <string key="label">showAuth:</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="340130358"/>
+ </object>
+ <int key="connectionID">179</int>
+ </object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@@ -1274,6 +1304,7 @@ ZQCUhAEqhIQMe19OU1NpemU9ZmZ9moFaAoF2AYaGA</bytes>
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="407372034"/>
<reference ref="609356514"/>
+ <reference ref="340130358"/>
</object>
<reference key="parent" ref="902110123"/>
</object>
@@ -1600,6 +1631,20 @@ ZQCUhAEqhIQMe19OU1NpemU9ZmZ9moFaAoF2AYaGA</bytes>
<reference key="object" ref="936052483"/>
<reference key="parent" ref="1029813315"/>
</object>
+ <object class="IBObjectRecord">
+ <int key="objectID">177</int>
+ <reference key="object" ref="340130358"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="151528941"/>
+ </object>
+ <reference key="parent" ref="1037195992"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">178</int>
+ <reference key="object" ref="151528941"/>
+ <reference key="parent" ref="340130358"/>
+ </object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
@@ -1648,6 +1693,8 @@ ZQCUhAEqhIQMe19OU1NpemU9ZmZ9moFaAoF2AYaGA</bytes>
<string>166.IBPluginDependency</string>
<string>167.IBPluginDependency</string>
<string>168.IBPluginDependency</string>
+ <string>177.IBPluginDependency</string>
+ <string>178.IBPluginDependency</string>
<string>2.IBPluginDependency</string>
<string>29.IBPluginDependency</string>
<string>30.IBPluginDependency</string>
@@ -1675,9 +1722,9 @@ ZQCUhAEqhIQMe19OU1NpemU9ZmZ9moFaAoF2AYaGA</bytes>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
- <string>{{28, 319}, {602, 374}}</string>
+ <string>{{30, 326}, {602, 374}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{28, 319}, {602, 374}}</string>
+ <string>{{30, 326}, {602, 374}}</string>
<integer value="1"/>
<string>{196, 240}</string>
<string>{{202, 428}, {480, 270}}</string>
@@ -1720,6 +1767,8 @@ ZQCUhAEqhIQMe19OU1NpemU9ZmZ9moFaAoF2AYaGA</bytes>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.brandonwalkin.BWToolkit</string>
+ <string>com.brandonwalkin.BWToolkit</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -1762,7 +1811,7 @@ ZQCUhAEqhIQMe19OU1NpemU9ZmZ9moFaAoF2AYaGA</bytes>
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">174</int>
+ <int key="maxID">179</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -1777,6 +1826,7 @@ ZQCUhAEqhIQMe19OU1NpemU9ZmZ9moFaAoF2AYaGA</bytes>
<string>createDBorCollection:</string>
<string>dropDBorCollection:</string>
<string>query:</string>
+ <string>showAuth:</string>
<string>showCollStats:</string>
<string>showDBStats:</string>
<string>showServerStatus:</string>
@@ -1793,6 +1843,7 @@ ZQCUhAEqhIQMe19OU1NpemU9ZmZ9moFaAoF2AYaGA</bytes>
<string>id</string>
<string>id</string>
<string>id</string>
+ <string>id</string>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
@@ -2546,6 +2597,7 @@ ZQCUhAEqhIQMe19OU1NpemU9ZmZ9moFaAoF2AYaGA</bytes>
<string>NSRemoveTemplate</string>
<string>collectionmenu</string>
<string>dbmenu</string>
+ <string>key</string>
<string>querymenu</string>
<string>servermenu</string>
<string>supportmenu</string>
@@ -2558,6 +2610,7 @@ ZQCUhAEqhIQMe19OU1NpemU9ZmZ9moFaAoF2AYaGA</bytes>
<string>{8, 8}</string>
<string>{32, 32}</string>
<string>{32, 32}</string>
+ <string>{24, 24}</string>
<string>{32, 32}</string>
<string>{32, 32}</string>
<string>{32, 32}</string>
View
4 ConnectionWindowController.h
@@ -11,6 +11,7 @@
@class DatabasesArrayController;
@class AddDBController;
@class AddCollectionController;
+@class AuthWindowController;
@class ResultsOutlineViewController;
@class Connection;
@class Sidebar;
@@ -32,6 +33,7 @@
SSHTunnel *sshTunnel;
AddDBController *addDBController;
AddCollectionController *addCollectionController;
+ AuthWindowController *authWindowController;
IBOutlet NSTextField *bundleVersion;
}
@@ -50,6 +52,7 @@
@property (nonatomic, retain) AddDBController *addDBController;
@property (nonatomic, retain) AddCollectionController *addCollectionController;
@property (nonatomic, retain) NSTextField *bundleVersion;
+@property (nonatomic, retain) AuthWindowController *authWindowController;
- (void)reloadSidebar;
- (void)reloadDBList;
@@ -66,4 +69,5 @@
- (IBAction)dropDBorCollection:(id)sender;
- (void)dropDB;
- (IBAction)query:(id)sender;
+- (IBAction)showAuth:(id)sender;
@end
View
34 ConnectionWindowController.mm
@@ -12,6 +12,7 @@
#import "QueryWindowController.h"
#import "AddDBController.h";
#import "AddCollectionController.h"
+#import "AuthWindowController.h"
#import "ResultsOutlineViewController.h"
#import "DatabasesArrayController.h"
#import "Connection.h"
@@ -37,6 +38,7 @@ @implementation ConnectionWindowController
@synthesize addCollectionController;
@synthesize resultsTitle;
@synthesize bundleVersion;
+@synthesize authWindowController;
- (id)init {
if (![super initWithWindowNibName:@"ConnectionWindow"]) return nil;
@@ -66,6 +68,9 @@ - (void)windowDidLoad {
hostaddress = [NSString stringWithFormat:@"%@:%@", conn.host, conn.hostport];
}
mongoDB = [[MongoDB alloc] initWithConn:hostaddress];
+ if ([conn.adminuser isPresent]) {
+ [mongoDB authUser:conn.adminuser pass:conn.adminpass];
+ }
[self reloadSidebar];
[self showServerStatus:nil];
}
@@ -86,6 +91,7 @@ - (void)dealloc {
[addCollectionController release];
[resultsTitle release];
[bundleVersion release];
+ [authWindowController release];
[super dealloc];
}
@@ -257,6 +263,8 @@ - (void)createDB
{
addDBController = [[AddDBController alloc] init];
}
+ addDBController.managedObjectContext = self.managedObjectContext;
+ addDBController.conn = self.conn;
[addDBController showWindow:self];
}
@@ -370,4 +378,30 @@ - (IBAction)query:(id)sender
queryWindowController.mongoDB = mongoDB;
[queryWindowController showWindow:sender];
}
+
+- (IBAction)showAuth:(id)sender
+{
+ if (!selectedDB)
+ {
+ NSRunAlertPanel(@"Error", @"Please choose a database!", @"OK", nil, nil);
+ return;
+ }
+ if (!authWindowController)
+ {
+ authWindowController = [[AuthWindowController alloc] init];
+ }
+ Database *db = [databaseArrayController dbInfo:conn name:[selectedDB caption]];
+ if (db) {
+ [authWindowController.userTextField setStringValue:db.user];
+ [authWindowController.passwordTextField setStringValue:db.password];
+ }else {
+ [authWindowController.userTextField setStringValue:@""];
+ [authWindowController.passwordTextField setStringValue:@""];
+ }
+ authWindowController.managedObjectContext = self.managedObjectContext;
+ authWindowController.conn = self.conn;
+ authWindowController.dbname = [selectedDB caption];
+ [authWindowController showWindow:self];
+}
+
@end
View
2 DatabasesArrayController.m
@@ -28,8 +28,6 @@ - (id)newObjectWithConn:(Connection *) conn name:(NSString *)name user:(NSString
[newObj setValue:name forKey:@"name"];
[newObj setValue:user forKey:@"user"];
[newObj setValue:password forKey:@"password"];
- //NSDate *now = [NSDate date];
- //[newObj setValue:now forKey:@"createdDatetime"];
return newObj;
}
View
242 EditConnection.xib
@@ -39,9 +39,9 @@
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSWindowTemplate" id="1005">
- <int key="NSWindowStyleMask">15</int>
+ <int key="NSWindowStyleMask">7</int>
<int key="NSWindowBacking">2</int>
- <string key="NSWindowRect">{{196, 240}, {353, 347}}</string>
+ <string key="NSWindowRect">{{196, 196}, {358, 391}}</string>
<int key="NSWTFlags">544735232</int>
<string key="NSWindowTitle">Edit Connection</string>
<string key="NSWindowClass">NSWindow</string>
@@ -55,7 +55,7 @@
<object class="NSTextField" id="67757933">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{65, 267}, {166, 22}}</string>
+ <string key="NSFrame">{{65, 311}, {166, 22}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="439898299">
@@ -93,7 +93,7 @@
<object class="NSTextField" id="192239309">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{22, 272}, {61, 17}}</string>
+ <string key="NSFrame">{{22, 316}, {61, 17}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="978724357">
@@ -122,7 +122,7 @@
<object class="NSTextField" id="687256447">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{22, 311}, {38, 17}}</string>
+ <string key="NSFrame">{{22, 355}, {38, 17}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="235274533">
@@ -138,7 +138,7 @@
<object class="NSButton" id="535974254">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{272, 19}, {66, 25}}</string>
+ <string key="NSFrame">{{272, 18}, {66, 25}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="510279649">
@@ -158,7 +158,7 @@
<object class="NSButton" id="317947487">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{190, 19}, {67, 25}}</string>
+ <string key="NSFrame">{{190, 18}, {67, 25}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="373002755">
@@ -178,7 +178,7 @@
<object class="NSTextField" id="728551703">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{65, 306}, {273, 22}}</string>
+ <string key="NSFrame">{{65, 350}, {273, 22}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="899217921">
@@ -196,7 +196,7 @@
<object class="NSTextField" id="439810179">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{236, 272}, {38, 17}}</string>
+ <string key="NSFrame">{{236, 316}, {38, 17}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="473250053">
@@ -212,7 +212,7 @@
<object class="NSTextField" id="397828869">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{279, 267}, {59, 22}}</string>
+ <string key="NSFrame">{{279, 311}, {59, 22}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="15862352">
@@ -230,7 +230,7 @@
<object class="NSButton" id="192380983">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{23, 227}, {128, 18}}</string>
+ <string key="NSFrame">{{23, 226}, {128, 18}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="39264354">
@@ -257,7 +257,7 @@
<object class="NSBox" id="974486977">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">12</int>
- <string key="NSFrame">{{25, 218}, {313, 5}}</string>
+ <string key="NSFrame">{{25, 217}, {313, 5}}</string>
<reference key="NSSuperview" ref="1006"/>
<string key="NSOffsets">{0, 0}</string>
<object class="NSTextFieldCell" key="NSTitleCell">
@@ -279,7 +279,7 @@
<object class="NSTextField" id="323049007">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{22, 195}, {92, 17}}</string>
+ <string key="NSFrame">{{22, 194}, {92, 17}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="744042504">
@@ -295,7 +295,7 @@
<object class="NSTextField" id="536100685">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{119, 190}, {112, 22}}</string>
+ <string key="NSFrame">{{119, 189}, {112, 22}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="83619286">
@@ -313,7 +313,7 @@
<object class="NSTextField" id="257684037">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{236, 195}, {38, 17}}</string>
+ <string key="NSFrame">{{236, 194}, {38, 17}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="231502663">
@@ -329,7 +329,7 @@
<object class="NSTextField" id="636345969">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{279, 190}, {59, 22}}</string>
+ <string key="NSFrame">{{279, 189}, {59, 22}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="357557126">
@@ -347,7 +347,7 @@
<object class="NSTextField" id="1021737732">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{22, 150}, {92, 17}}</string>
+ <string key="NSFrame">{{22, 149}, {92, 17}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="619592540">
@@ -363,7 +363,7 @@
<object class="NSTextField" id="95969265">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{119, 148}, {112, 22}}</string>
+ <string key="NSFrame">{{119, 147}, {112, 22}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="549449150">
@@ -380,7 +380,7 @@
<object class="NSTextField" id="340020746">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{22, 114}, {92, 17}}</string>
+ <string key="NSFrame">{{22, 113}, {92, 17}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="12365007">
@@ -396,7 +396,7 @@
<object class="NSTextField" id="837364992">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{119, 109}, {219, 22}}</string>
+ <string key="NSFrame">{{119, 108}, {219, 22}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="1059399721">
@@ -413,7 +413,7 @@
<object class="NSTextField" id="324050016">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{22, 74}, {92, 17}}</string>
+ <string key="NSFrame">{{22, 73}, {92, 17}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="947277020">
@@ -429,7 +429,7 @@
<object class="NSSecureTextField" id="468408808">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{119, 69}, {219, 22}}</string>
+ <string key="NSFrame">{{119, 68}, {219, 22}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSSecureTextFieldCell" key="NSCell" id="659565223">
@@ -450,7 +450,7 @@
<object class="NSTextField" id="349183617">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{236, 150}, {38, 17}}</string>
+ <string key="NSFrame">{{236, 149}, {38, 17}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="590184183">
@@ -466,7 +466,7 @@
<object class="NSTextField" id="615991638">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
- <string key="NSFrame">{{279, 148}, {59, 22}}</string>
+ <string key="NSFrame">{{279, 147}, {59, 22}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="58763885">
@@ -481,8 +481,80 @@
<reference key="NSTextColor" ref="1027850759"/>
</object>
</object>
+ <object class="NSTextField" id="944104151">
+ <reference key="NSNextResponder" ref="1006"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{65, 273}, {117, 22}}</string>
+ <reference key="NSSuperview" ref="1006"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="1660822">
+ <int key="NSCellFlags">-1804468671</int>
+ <int key="NSCellFlags2">272630784</int>
+ <string key="NSContents"/>
+ <reference key="NSSupport" ref="331414289"/>
+ <string key="NSPlaceholderString">Admin Username</string>
+ <reference key="NSControlView" ref="944104151"/>
+ <bool key="NSDrawsBackground">YES</bool>
+ <reference key="NSBackgroundColor" ref="20197699"/>
+ <reference key="NSTextColor" ref="1027850759"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="771365645">
+ <reference key="NSNextResponder" ref="1006"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{22, 276}, {38, 17}}</string>
+ <reference key="NSSuperview" ref="1006"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="544633735">
+ <int key="NSCellFlags">68288064</int>
+ <int key="NSCellFlags2">272630784</int>
+ <string key="NSContents">User</string>
+ <reference key="NSSupport" ref="331414289"/>
+ <reference key="NSControlView" ref="771365645"/>
+ <reference key="NSBackgroundColor" ref="837390586"/>
+ <reference key="NSTextColor" ref="872321760"/>
+ </object>
+ </object>
+ <object class="NSTextField" id="366242055">
+ <reference key="NSNextResponder" ref="1006"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{187, 275}, {50, 17}}</string>
+ <reference key="NSSuperview" ref="1006"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSTextFieldCell" key="NSCell" id="386380019">
+ <int key="NSCellFlags">68288064</int>
+ <int key="NSCellFlags2">272630784</int>
+ <string key="NSContents">Passwd</string>
+ <reference key="NSSupport" ref="331414289"/>
+ <reference key="NSControlView" ref="366242055"/>
+ <reference key="NSBackgroundColor" ref="837390586"/>
+ <reference key="NSTextColor" ref="872321760"/>
+ </object>
+ </object>
+ <object class="NSSecureTextField" id="545686403">
+ <reference key="NSNextResponder" ref="1006"/>
+ <int key="NSvFlags">268</int>
+ <string key="NSFrame">{{242, 273}, {96, 22}}</string>
+ <reference key="NSSuperview" ref="1006"/>
+ <bool key="NSEnabled">YES</bool>
+ <object class="NSSecureTextFieldCell" key="NSCell" id="401094904">
+ <int key="NSCellFlags">343014976</int>
+ <int key="NSCellFlags2">272630848</int>
+ <string key="NSContents"/>
+ <reference key="NSSupport" ref="331414289"/>
+ <string key="NSPlaceholderString">Admin Password</string>
+ <reference key="NSControlView" ref="545686403"/>
+ <bool key="NSDrawsBackground">YES</bool>
+ <reference key="NSBackgroundColor" ref="20197699"/>
+ <reference key="NSTextColor" ref="1027850759"/>
+ <object class="NSArray" key="NSAllowedInputLocales">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSAllRomanInputSourcesLocaleIdentifier</string>
+ </object>
+ </object>
+ </object>
</object>
- <string key="NSFrameSize">{353, 347}</string>
+ <string key="NSFrameSize">{358, 391}</string>
<reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
@@ -650,6 +722,22 @@
</object>
<int key="connectionID">83</int>
</object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">adminuserTextField</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="944104151"/>
+ </object>
+ <int key="connectionID">92</int>
+ </object>
+ <object class="IBConnectionRecord">
+ <object class="IBOutletConnection" key="connection">
+ <string key="label">adminpassTextField</string>
+ <reference key="source" ref="1001"/>
+ <reference key="destination" ref="545686403"/>
+ </object>
+ <int key="connectionID">93</int>
+ </object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@@ -695,11 +783,15 @@
<reference ref="67757933"/>
<reference ref="192239309"/>
<reference ref="687256447"/>
- <reference ref="535974254"/>
- <reference ref="317947487"/>
<reference ref="728551703"/>
<reference ref="439810179"/>
<reference ref="397828869"/>
+ <reference ref="944104151"/>
+ <reference ref="771365645"/>
+ <reference ref="366242055"/>
+ <reference ref="545686403"/>
+ <reference ref="535974254"/>
+ <reference ref="317947487"/>
<reference ref="192380983"/>
<reference ref="974486977"/>
<reference ref="323049007"/>
@@ -1021,6 +1113,62 @@
<reference key="object" ref="58763885"/>
<reference key="parent" ref="615991638"/>
</object>
+ <object class="IBObjectRecord">
+ <int key="objectID">84</int>
+ <reference key="object" ref="944104151"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="1660822"/>
+ </object>
+ <reference key="parent" ref="1006"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">85</int>
+ <reference key="object" ref="771365645"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="544633735"/>
+ </object>
+ <reference key="parent" ref="1006"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">86</int>
+ <reference key="object" ref="366242055"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="386380019"/>
+ </object>
+ <reference key="parent" ref="1006"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">87</int>
+ <reference key="object" ref="545686403"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="401094904"/>
+ </object>
+ <reference key="parent" ref="1006"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">88</int>
+ <reference key="object" ref="401094904"/>
+ <reference key="parent" ref="545686403"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">89</int>
+ <reference key="object" ref="386380019"/>
+ <reference key="parent" ref="366242055"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">90</int>
+ <reference key="object" ref="544633735"/>
+ <reference key="parent" ref="771365645"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">91</int>
+ <reference key="object" ref="1660822"/>
+ <reference key="parent" ref="944104151"/>
+ </object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
@@ -1079,12 +1227,20 @@
<string>80.IBPluginDependency</string>
<string>81.IBPluginDependency</string>
<string>82.IBPluginDependency</string>
+ <string>84.IBPluginDependency</string>
+ <string>85.IBPluginDependency</string>
+ <string>86.IBPluginDependency</string>
+ <string>87.IBPluginDependency</string>
+ <string>88.IBPluginDependency</string>
+ <string>89.IBPluginDependency</string>
+ <string>90.IBPluginDependency</string>
+ <string>91.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
- <string>{{68, 400}, {353, 347}}</string>
+ <string>{{68, 356}, {358, 391}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{68, 400}, {353, 347}}</string>
+ <string>{{68, 356}, {358, 391}}</string>
<integer value="1"/>
<string>{196, 240}</string>
<string>{{202, 428}, {480, 270}}</string>
@@ -1134,6 +1290,14 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
@@ -1152,7 +1316,7 @@
</object>
</object>
<nil key="sourceID"/>
- <int key="maxID">83</int>
+ <int key="maxID">93</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -1187,6 +1351,8 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
+ <string>adminpassTextField</string>
+ <string>adminuserTextField</string>
<string>aliasTextField</string>
<string>bindaddressTextField</string>
<string>bindportTextField</string>
@@ -1201,6 +1367,8 @@
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
+ <string>NSSecureTextField</string>
+ <string>NSTextField</string>
<string>NSTextField</string>
<string>NSTextField</string>
<string>NSTextField</string>
@@ -1219,6 +1387,20 @@
<string key="minorKey">EditConnectionController.h</string>
</object>
</object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">JSON/NSObject+SBJSON.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">JSON/SBJsonWriter.h</string>
+ </object>
+ </object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
View
4 EditConnectionController.h
@@ -14,6 +14,8 @@
IBOutlet NSTextField *hostTextField;
IBOutlet NSTextField *hostportTextField;
IBOutlet NSTextField *aliasTextField;
+ IBOutlet NSTextField *adminuserTextField;
+ IBOutlet NSSecureTextField *adminpassTextField;
IBOutlet NSButton *usesshCheckBox;
IBOutlet NSTextField *bindaddressTextField;
IBOutlet NSTextField *bindportTextField;
@@ -29,6 +31,8 @@
@property (nonatomic, retain) NSTextField *hostTextField;
@property (nonatomic, retain) NSTextField *hostportTextField;
@property (nonatomic, retain) NSTextField *aliasTextField;
+@property (nonatomic, retain) NSTextField *adminuserTextField;
+@property (nonatomic, retain) NSSecureTextField *adminpassTextField;
@property (nonatomic, retain) NSButton *usesshCheckBox;
@property (nonatomic, retain) NSTextField *bindaddressTextField;
@property (nonatomic, retain) NSTextField *bindportTextField;
View
16 EditConnectionController.m
@@ -17,6 +17,8 @@ @implementation EditConnectionController
@synthesize hostTextField;
@synthesize hostportTextField;
@synthesize aliasTextField;
+@synthesize adminuserTextField;
+@synthesize adminpassTextField;
@synthesize usesshCheckBox;
@synthesize bindaddressTextField;
@synthesize bindportTextField;
@@ -37,6 +39,8 @@ - (void)dealloc {
[hostTextField release];
[hostportTextField release];
[aliasTextField release];
+ [adminuserTextField release];
+ [adminpassTextField release];
[usesshCheckBox release];
[bindaddressTextField release];
[bindportTextField release];
@@ -59,6 +63,8 @@ - (IBAction)showWindow:(id)sender {
[hostTextField bind:@"value" toObject:connection withKeyPath:@"host" options:nil];
[hostportTextField bind:@"value" toObject:connection withKeyPath:@"hostport" options:nil];
[aliasTextField bind:@"value" toObject:connection withKeyPath:@"alias" options:nil];
+ [adminuserTextField bind:@"value" toObject:connection withKeyPath:@"adminuser" options:nil];
+ [adminpassTextField bind:@"value" toObject:connection withKeyPath:@"adminpass" options:nil];
[bindaddressTextField bind:@"value" toObject:connection withKeyPath:@"bindaddress" options:nil];
[bindportTextField bind:@"value" toObject:connection withKeyPath:@"bindport" options:nil];
[sshhostTextField bind:@"value" toObject:connection withKeyPath:@"sshhost" options:nil];
@@ -77,6 +83,8 @@ - (IBAction)save:(id)sender {
NSString *host;
NSUInteger hostport;
NSString *alias;
+ NSString *adminuser = [[NSString alloc] initWithString:[adminuserTextField stringValue]];
+ NSString *adminpass = [[NSString alloc] initWithString:[adminpassTextField stringValue]];
NSUInteger usessh = 0;
NSString *bindaddress;
NSUInteger bindport;
@@ -128,13 +136,15 @@ - (IBAction)save:(id)sender {
sshport = 22;
sshpassword = @"";
}
- NSArray *keys = [[NSArray alloc] initWithObjects:@"host", @"hostport", @"alias", @"usessh", @"bindaddress", @"bindport", @"sshhost", @"sshport", @"sshuser", @"sshpassword", nil];
- NSArray *objs = [[NSArray alloc] initWithObjects:host, [NSNumber numberWithInt:hostport], alias, [NSNumber numberWithInt:usessh], bindaddress, [NSNumber numberWithInt:bindport], sshhost, [NSNumber numberWithInt:sshport], sshuser, sshpassword, nil];
+ NSArray *keys = [[NSArray alloc] initWithObjects:@"host", @"hostport", @"alias", @"adminuser", @"adminpass", @"usessh", @"bindaddress", @"bindport", @"sshhost", @"sshport", @"sshuser", @"sshpassword", nil];
+ NSArray *objs = [[NSArray alloc] initWithObjects:host, [NSNumber numberWithInt:hostport], alias, adminuser, adminpass, [NSNumber numberWithInt:usessh], bindaddress, [NSNumber numberWithInt:bindport], sshhost, [NSNumber numberWithInt:sshport], sshuser, sshpassword, nil];
NSDictionary *connectionInfo = [[NSDictionary alloc] initWithObjects:objs forKeys:keys];
[keys release];
[objs release];
[host release];
[alias release];
+ [adminuser release];
+ [adminpass release];
if (usessh == 1)
{
[sshhost release];
@@ -146,6 +156,8 @@ - (IBAction)save:(id)sender {
connection.host = [connectionInfo objectForKey:@"host"];
connection.hostport = [connectionInfo objectForKey:@"hostport"];
connection.alias = [connectionInfo objectForKey:@"alias"];
+ connection.adminuser = [connectionInfo objectForKey:@"adminuser"];
+ connection.adminpass = [connectionInfo objectForKey:@"adminpass"];
connection.usessh = [connectionInfo objectForKey:@"usessh"];
connection.bindaddress = [connectionInfo objectForKey:@"bindaddress"];
connection.bindport = [connectionInfo objectForKey:@"bindport"];
View
2 MongoDB.h
@@ -15,6 +15,8 @@
- (id)initWithConn:(NSString *)host;
- (bool)connect:(NSString *)host;
+- (void)authUser:(NSString *)user
+ pass:(NSString *)pass;
- (NSArray *)listDatabases;
- (NSArray *)listCollections:(NSString *)db
user:(NSString *)user
View
14 MongoDB.mm
@@ -42,6 +42,20 @@ - (bool)connect:(NSString *)host {
return false;
}
+- (void)authUser:(NSString *)user
+ pass:(NSString *)pass
+{
+ try {
+ std::string errmsg;
+ bool ok = conn->auth(std::string("admin"), std::string([user UTF8String]), std::string([pass UTF8String]), errmsg);
+ if (!ok) {
+ NSRunAlertPanel(@"Error", [NSString stringWithUTF8String:errmsg.c_str()], @"OK", nil, nil);
+ }
+ }catch (mongo::DBException &e) {
+ NSRunAlertPanel(@"Error", [NSString stringWithUTF8String:e.what()], @"OK", nil, nil);
+ }
+}
+
- (NSArray *)listDatabases {
try {
std::list<std::string> dbs = conn->getDatabaseNames();
View
4 MongoHub-Info.plist
@@ -38,11 +38,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>2.0.5</string>
+ <string>2.0.6</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>2.0.5</string>
+ <string>2.0.6</string>
<key>LSMinimumSystemVersion</key>
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NSMainNibFile</key>
View
14 MongoHub.xcodeproj/project.pbxproj
@@ -19,6 +19,9 @@
1D20AC921188B28000D9D4C5 /* SBJsonBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D20AC8A1188B28000D9D4C5 /* SBJsonBase.m */; };
1D20AC931188B28000D9D4C5 /* SBJsonParser.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D20AC8C1188B28000D9D4C5 /* SBJsonParser.m */; };
1D20AC941188B28000D9D4C5 /* SBJsonWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D20AC8E1188B28000D9D4C5 /* SBJsonWriter.m */; };
+ 1D210BFB1192FF06000EF41C /* key.png in Resources */ = {isa = PBXBuildFile; fileRef = 1D210BFA1192FF06000EF41C /* key.png */; };
+ 1D210BFE119301BA000EF41C /* AuthWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D210BFD119301BA000EF41C /* AuthWindowController.m */; };
+ 1D210C0011930E18000EF41C /* Auth.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1D210BFF11930E18000EF41C /* Auth.xib */; };
1D58BE0B118ED8D20045A044 /* mapreducemenu.png in Resources */ = {isa = PBXBuildFile; fileRef = 1D58BE0A118ED8D20045A044 /* mapreducemenu.png */; };
1D58BE37118EFF810045A044 /* BWToolkitFramework.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1D93C24A118334F6003216F7 /* BWToolkitFramework.framework */; };
1D58BE40118EFF9F0045A044 /* SSHTunnel.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1D79922F11872DE4009C187F /* SSHTunnel.framework */; };
@@ -148,6 +151,10 @@
1D20AC8C1188B28000D9D4C5 /* SBJsonParser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SBJsonParser.m; path = JSON/SBJsonParser.m; sourceTree = SOURCE_ROOT; };
1D20AC8D1188B28000D9D4C5 /* SBJsonWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SBJsonWriter.h; path = JSON/SBJsonWriter.h; sourceTree = SOURCE_ROOT; };
1D20AC8E1188B28000D9D4C5 /* SBJsonWriter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SBJsonWriter.m; path = JSON/SBJsonWriter.m; sourceTree = SOURCE_ROOT; };
+ 1D210BFA1192FF06000EF41C /* key.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = key.png; path = Resourses/images/key.png; sourceTree = SOURCE_ROOT; };
+ 1D210BFC119301BA000EF41C /* AuthWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AuthWindowController.h; sourceTree = "<group>"; };
+ 1D210BFD119301BA000EF41C /* AuthWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AuthWindowController.m; sourceTree = "<group>"; };
+ 1D210BFF11930E18000EF41C /* Auth.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = Auth.xib; sourceTree = "<group>"; };
1D58BE0A118ED8D20045A044 /* mapreducemenu.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = mapreducemenu.png; path = Resourses/images/mapreducemenu.png; sourceTree = SOURCE_ROOT; };
1D79922F11872DE4009C187F /* SSHTunnel.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SSHTunnel.framework; path = /Library/PrivateFrameWorks/SSHTunnel.framework; sourceTree = "<absolute>"; };
1D799453118755EE009C187F /* AddDBController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AddDBController.h; sourceTree = "<group>"; };
@@ -371,6 +378,7 @@
1D93C27011833A19003216F7 /* images */ = {
isa = PBXGroup;
children = (
+ 1D210BFA1192FF06000EF41C /* key.png */,
1D58BE0A118ED8D20045A044 /* mapreducemenu.png */,
1D1D65A21189F05600582917 /* Icon.icns */,
1D1D65641189C93400582917 /* supportmenu.png */,
@@ -418,6 +426,8 @@
1D93CB5B1184C243003216F7 /* ResultsOutlineViewController.m */,
1DF96F9011883B3800C35AB8 /* QueryWindowController.h */,
1DF96F9111883B3800C35AB8 /* QueryWindowController.mm */,
+ 1D210BFC119301BA000EF41C /* AuthWindowController.h */,
+ 1D210BFD119301BA000EF41C /* AuthWindowController.m */,
);
name = ConnectionWindow;
sourceTree = "<group>";
@@ -492,6 +502,7 @@
1D79945611875E7A009C187F /* NewDB.xib */,
1DF96E3C11881EB400C35AB8 /* NewCollection.xib */,
1DF96F9311883D5E00C35AB8 /* QueryWindow.xib */,
+ 1D210BFF11930E18000EF41C /* Auth.xib */,
);
name = Resources;
sourceTree = "<group>";
@@ -629,6 +640,8 @@
1D1D65651189C93400582917 /* supportmenu.png in Resources */,
1D1D65A31189F05600582917 /* Icon.icns in Resources */,
1D58BE0B118ED8D20045A044 /* mapreducemenu.png in Resources */,
+ 1D210BFB1192FF06000EF41C /* key.png in Resources */,
+ 1D210C0011930E18000EF41C /* Auth.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -678,6 +691,7 @@
1D20AC921188B28000D9D4C5 /* SBJsonBase.m in Sources */,
1D20AC931188B28000D9D4C5 /* SBJsonParser.m in Sources */,
1D20AC941188B28000D9D4C5 /* SBJsonWriter.m in Sources */,
+ 1D210BFE119301BA000EF41C /* AuthWindowController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
View
150 MongoHub.xcodeproj/syd.mode1v3
@@ -271,7 +271,6 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
<integer>0</integer>
</array>
</array>
@@ -323,60 +322,64 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>1DB8CA781191566600F167AF</string>
+ <string>1D210D111193325F000EF41C</string>
<key>history</key>
<array>
<string>1D93C27E11833DE7003216F7</string>
<string>1D93C3E211836A06003216F7</string>
<string>1D93C58411838FDD003216F7</string>
<string>1D93C5D611839553003216F7</string>
<string>1D93C6FA118426CA003216F7</string>
- <string>1D93C74C11843C0F003216F7</string>
- <string>1D93C74D11843C0F003216F7</string>
<string>1D93C76411843D1F003216F7</string>
<string>1D93C76511843D1F003216F7</string>
<string>1D93C7DB11844DFD003216F7</string>
<string>1D93C7DC11844DFD003216F7</string>
<string>1D93C90C11845A58003216F7</string>
- <string>1D93C93111845C19003216F7</string>
- <string>1D81F20E1186DE810043353B</string>
- <string>1D81F2101186DE810043353B</string>
- <string>1D79916F11872228009C187F</string>
- <string>1D79945F11875FC1009C187F</string>
- <string>1D79946011875FC1009C187F</string>
- <string>1D79946111875FC1009C187F</string>
- <string>1D7994C511876550009C187F</string>
<string>1DF96E261188181600C35AB8</string>
- <string>1DF96E281188181600C35AB8</string>
- <string>1DF96E291188181600C35AB8</string>
- <string>1DF96E4711881FDE00C35AB8</string>
- <string>1DF96E581188208D00C35AB8</string>
- <string>1DF96E5E1188259600C35AB8</string>
- <string>1DF96E9711882DB300C35AB8</string>
- <string>1DF96E9811882DB300C35AB8</string>
- <string>1DF96E9911882DB300C35AB8</string>
- <string>1DF96E9B11882DB300C35AB8</string>
<string>1DF96EE211882F9B00C35AB8</string>
<string>1DF96EE311882F9B00C35AB8</string>
<string>1DF96FAA11883E1A00C35AB8</string>
<string>1DA680A81188913400DFDD29</string>
- <string>1D20ABE911889DAB00D9D4C5</string>
<string>1D20ABEA11889DAB00D9D4C5</string>
<string>1D20ABEB11889DAB00D9D4C5</string>
<string>1D1D655E1189C74B00582917</string>
<string>1D1D65A91189F0A200582917</string>
- <string>1D1D65AB1189F0A200582917</string>
- <string>1D58BE26118EFF4F0045A044</string>
- <string>1D58BE59118F04B80045A044</string>
- <string>1D58BE5A118F04B80045A044</string>
- <string>1D58BE5C118F04B80045A044</string>
<string>1D58BE63118F06EB0045A044</string>
- <string>1D58BE6C118F09F40045A044</string>
<string>1D58BE6E118F09F40045A044</string>
- <string>1D58BEA8118F17FF0045A044</string>
- <string>1D58BECB118F1EBE0045A044</string>
- <string>1DB8CA771191566600F167AF</string>
- <string>1D58BE51118F03840045A044</string>
+ <string>1DA5B09D11916A0800484A05</string>
+ <string>1DA5B0A011916A0800484A05</string>
+ <string>1DA5B0A111916A0800484A05</string>
+ <string>1D210C0B11930F96000EF41C</string>
+ <string>1D210C0D11930F96000EF41C</string>
+ <string>1D210C1511930F96000EF41C</string>
+ <string>1D210C2F11931010000EF41C</string>
+ <string>1D210C38119310AD000EF41C</string>
+ <string>1D210C4D11931691000EF41C</string>
+ <string>1D210C4E11931691000EF41C</string>
+ <string>1D210CAF11931C8F000EF41C</string>
+ <string>1D210CB011931C8F000EF41C</string>
+ <string>1D210CB111931C8F000EF41C</string>
+ <string>1D210CBD11932146000EF41C</string>
+ <string>1D210CBE11932146000EF41C</string>
+ <string>1D210CBF11932146000EF41C</string>
+ <string>1D210CC011932146000EF41C</string>
+ <string>1D210CC111932146000EF41C</string>
+ <string>1D210CC211932146000EF41C</string>
+ <string>1D210CC311932146000EF41C</string>
+ <string>1D210CC411932146000EF41C</string>
+ <string>1D210CCD1193221C000EF41C</string>
+ <string>1D210CDD1193296B000EF41C</string>
+ <string>1D210CDE1193296B000EF41C</string>
+ <string>1D210CEA11932CFB000EF41C</string>
+ <string>1D210CEB11932CFB000EF41C</string>
+ <string>1D210CEC11932CFB000EF41C</string>
+ <string>1D210CEE11932CFB000EF41C</string>
+ <string>1D210CEF11932CFB000EF41C</string>
+ <string>1D210CF011932CFB000EF41C</string>
+ <string>1D210CF111932CFB000EF41C</string>
+ <string>1D210CFC11932DD8000EF41C</string>
+ <string>1D210D0F1193325F000EF41C</string>
+ <string>1D210D101193325F000EF41C</string>
</array>
</dict>
<key>SplitCount</key>
@@ -388,14 +391,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {812, 404}}</string>
+ <string>{{0, 0}, {812, 390}}</string>
<key>RubberWindowFrame</key>
<string>21 110 1079 662 0 0 1280 778 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>404pt</string>
+ <string>390pt</string>
</dict>
<dict>
<key>ContentConfiguration</key>
@@ -408,14 +411,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 409}, {812, 212}}</string>
+ <string>{{0, 395}, {812, 226}}</string>
<key>RubberWindowFrame</key>
<string>21 110 1079 662 0 0 1280 778 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
<key>Proportion</key>
- <string>212pt</string>
+ <string>226pt</string>
</dict>
</array>
<key>Proportion</key>
@@ -434,9 +437,9 @@
</array>
<key>TableOfContents</key>
<array>
- <string>1DB8CA661191553200F167AF</string>
+ <string>1D210BE91192FE07000EF41C</string>
<string>1CE0B1FE06471DED0097A5F4</string>
- <string>1DB8CA671191553200F167AF</string>
+ <string>1D210BEA1192FE07000EF41C</string>
<string>1CE0B20306471E060097A5F4</string>
<string>1CE0B20506471E060097A5F4</string>
</array>
@@ -574,8 +577,9 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>1DB8CA791191566600F167AF</string>
- <string>1DB8CA7A1191566600F167AF</string>
+ <string>1C530D57069F1CE1000CFCEE</string>
+ <string>1D210C2311930F96000EF41C</string>
+ <string>1D210C2411930F96000EF41C</string>
<string>1C78EAAD065D492600B07095</string>
<string>1CD10A99069EF8BA00B06720</string>
<string>1D93C1AB118329FB003216F7</string>
@@ -603,7 +607,7 @@
<key>PBXProjectModuleGUID</key>
<string>1CD0528F0623707200166675</string>
<key>PBXProjectModuleLabel</key>
- <string></string>
+ <string>AddDBController.m</string>
<key>StatusBarVisibility</key>
<true/>
</dict>
@@ -620,6 +624,8 @@
<string>365pt</string>
</dict>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -659,7 +665,7 @@
<key>TableOfContents</key>
<array>
<string>1D93C1AB118329FB003216F7</string>
- <string>1DB8CA681191553200F167AF</string>
+ <string>1D210BEB1192FE07000EF41C</string>
<string>1CD0528F0623707200166675</string>
<string>XCMainBuildResultsModuleGUID</string>
</array>
@@ -781,13 +787,13 @@
<key>TableOfContents</key>
<array>
<string>1CD10A99069EF8BA00B06720</string>
- <string>1DB8CA6E1191561B00F167AF</string>
+ <string>1D210C1B11930F96000EF41C</string>
<string>1C162984064C10D400B95A72</string>
- <string>1DB8CA6F1191561B00F167AF</string>
- <string>1DB8CA701191561B00F167AF</string>
- <string>1DB8CA711191561B00F167AF</string>
- <string>1DB8CA721191561B00F167AF</string>
- <string>1DB8CA731191561B00F167AF</string>
+ <string>1D210C1C11930F96000EF41C</string>
+ <string>1D210C1D11930F96000EF41C</string>
+ <string>1D210C1E11930F96000EF41C</string>
+ <string>1D210C1F11930F96000EF41C</string>
+ <string>1D210C2011930F96000EF41C</string>
</array>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.debugV3</string>
@@ -799,8 +805,12 @@
<false/>
</dict>
<dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
<key>Identifier</key>
<string>windowTool.find</string>
+ <key>IsVertical</key>
+ <true/>
<key>Layout</key>
<array>
<dict>
@@ -815,26 +825,16 @@
<key>PBXProjectModuleGUID</key>
<string>1CDD528C0622207200134675</string>
<key>PBXProjectModuleLabel</key>
- <string>&lt;No Editor&gt;</string>
- <key>PBXSplitModuleInNavigatorKey</key>
- <dict>
- <key>Split0</key>
- <dict>
- <key>PBXProjectModuleGUID</key>
- <string>1CD0528D0623707200166675</string>
- </dict>
- <key>SplitCount</key>
- <string>1</string>
- </dict>
+ <string>AuthWindowController.m</string>
<key>StatusBarVisibility</key>
- <integer>1</integer>
+ <true/>
</dict>
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {781, 167}}</string>
+ <string>{{0, 0}, {781, 212}}</string>
<key>RubberWindowFrame</key>
- <string>62 385 781 470 0 0 1440 878 </string>
+ <string>42 279 781 470 0 0 1280 778 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
@@ -843,11 +843,11 @@
</dict>
</array>
<key>Proportion</key>
- <string>50%</string>
+ <string>212pt</string>
</dict>
<dict>
<key>BecomeActive</key>
- <integer>1</integer>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -858,18 +858,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{8, 0}, {773, 254}}</string>
+ <string>{{0, 217}, {781, 212}}</string>
<key>RubberWindowFrame</key>
- <string>62 385 781 470 0 0 1440 878 </string>
+ <string>42 279 781 470 0 0 1280 778 </string>
</dict>
<key>Module</key>
<string>PBXProjectFindModule</string>
<key>Proportion</key>
- <string>50%</string>
+ <string>212pt</string>
</dict>
</array>
<key>Proportion</key>
- <string>428pt</string>
+ <string>429pt</string>
</dict>
</array>
<key>Name</key>
@@ -879,23 +879,21 @@
<string>PBXProjectFindModule</string>
</array>
<key>StatusbarIsVisible</key>
- <integer>1</integer>
+ <true/>
<key>TableOfContents</key>
<array>
<string>1C530D57069F1CE1000CFCEE</string>
- <string>1C530D58069F1CE1000CFCEE</string>
- <string>1C530D59069F1CE1000CFCEE</string>
+ <string>1D210C5B11931702000EF41C</string>
+ <string>1D210C5C11931702000EF41C</string>
<string>1CDD528C0622207200134675</string>
- <string>1C530D5A069F1CE1000CFCEE</string>
- <string>1CE0B1FE06471DED0097A5F4</string>
<string>1CD0528E0623707200166675</string>
</array>
<key>WindowString</key>
- <string>62 385 781 470 0 0 1440 878 </string>
+ <string>42 279 781 470 0 0 1280 778 </string>
<key>WindowToolGUID</key>
<string>1C530D57069F1CE1000CFCEE</string>
<key>WindowToolIsVisible</key>
- <integer>0</integer>
+ <false/>
</dict>
<dict>
<key>Identifier</key>
@@ -951,7 +949,7 @@
<key>TableOfContents</key>
<array>
<string>1C78EAAD065D492600B07095</string>
- <string>1DB8CA741191561B00F167AF</string>
+ <string>1D210C2111930F96000EF41C</string>
<string>1C78EAAC065D492600B07095</string>
</array>
<key>ToolbarConfiguration</key>
View
998 MongoHub.xcodeproj/syd.pbxuser
@@ -54,17 +54,7 @@
isa = PBXBookmark;
fRef = 1D1D65511189C5E000582917 /* dbmenu.png */;
};
- 1D1D65AB1189F0A200582917 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 1D93C29D118341D4003216F7 /* AddConnectionController.m */;
- name = "AddConnectionController.m: 158";
- rLen = 81;
- rLoc = 5251;
- rType = 0;
- vrLen = 926;
- vrLoc = 5076;
- };
- 1D20ABA1118898A600D9D4C5 /* MongoDB.mm:214 */ = {
+ 1D20ABA1118898A600D9D4C5 /* MongoDB.mm:228 */ = {
isa = PBXFileBreakpoint;
actions = (
);
@@ -76,22 +66,12 @@
functionName = "-findInDB:collection:user:password:critical:fields:skip:limit:";
hitCount = 1;
ignoreCount = 0;
- lineNumber = 214;
+ lineNumber = 228;
location = MongoHub;
modificationTime = 294167940.976871;
originalNumberOfMultipleMatches = 1;
state = 1;
};
- 1D20ABE911889DAB00D9D4C5 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 1D93CB5A1184C243003216F7 /* ResultsOutlineViewController.h */;
- name = "ResultsOutlineViewController.h: 12";
- rLen = 0;
- rLoc = 221;
- rType = 0;
- vrLen = 420;
- vrLoc = 0;
- };
1D20ABEA11889DAB00D9D4C5 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 1DA6806A11888BDD00DFDD29 /* NSString+Extras.h */;
@@ -112,198 +92,543 @@
vrLen = 888;
vrLoc = 1097;
};
- 1D58BE26118EFF4F0045A044 /* PBXTextBookmark */ = {
+ 1D210BFC119301BA000EF41C /* AuthWindowController.h */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {751, 429}}";
+ sepNavSelRange = "{957, 20}";
+ sepNavVisRange = "{43, 940}";
+ };
+ };
+ 1D210BFD119301BA000EF41C /* AuthWindowController.m */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {720, 1053}}";
+ sepNavSelRange = "{1545, 0}";
+ sepNavVisRange = "{1146, 518}";
+ };
+ };
+ 1D210C0B11930F96000EF41C /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 1D93C60911841865003216F7 /* MongoDB.h */;
- name = "MongoDB.h: 98";
+ fRef = 797A7AE70DDCFD2A0050D0C2 /* Importer Read Me.txt */;
+ name = "Importer Read Me.txt: 47";
rLen = 0;
- rLoc = 3945;
+ rLoc = 2222;
rType = 0;
- vrLen = 1374;
- vrLoc = 2699;
+ vrLen = 878;
+ vrLoc = 1866;
};
- 1D58BE51118F03840045A044 /* PlistBookmark */ = {
- isa = PlistBookmark;
- fRef = 8D1107310486CEB800E47090 /* MongoHub-Info.plist */;
- fallbackIsa = PBXBookmark;
- isK = 0;
- kPath = (
- );
- name = "/Users/syd/Documents/Works/codes/MongoHub/MongoHub-Info.plist";
+ 1D210C0D11930F96000EF41C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 1D93C27411833C2A003216F7 /* Configure.h */;
+ name = "Configure.h: 13";
rLen = 0;
- rLoc = 9223372036854775808;
+ rLoc = 423;
+ rType = 0;
+ vrLen = 444;
+ vrLoc = 0;
};
- 1D58BE59118F04B80045A044 /* PBXTextBookmark */ = {
+ 1D210C1511930F96000EF41C /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 1D93C3CD11836863003216F7 /* ConnectionWindowController.h */;
- name = "ConnectionWindowController.h: 52";
- rLen = 57;
- rLoc = 1930;
+ fRef = 77C8280B06725ACE000B614F /* MongoHub_AppDelegate.h */;
+ name = "MongoHub_AppDelegate.h: 15";
+ rLen = 0;
+ rLoc = 315;
rType = 0;
- vrLen = 1371;
- vrLoc = 689;
+ vrLen = 1270;
+ vrLoc = 196;
};
- 1D58BE5A118F04B80045A044 /* PBXTextBookmark */ = {
+ 1D210C2F11931010000EF41C /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 77C8280B06725ACE000B614F /* MongoHub_AppDelegate.h */;
- name = "MongoHub_AppDelegate.h: 41";
+ fRef = 1D93CB5A1184C243003216F7 /* ResultsOutlineViewController.h */;
+ name = "ResultsOutlineViewController.h: 12";
rLen = 0;
- rLoc = 1605;
+ rLoc = 221;
rType = 0;
- vrLen = 1498;
- vrLoc = 500;
+ vrLen = 420;
+ vrLoc = 0;
};
- 1D58BE5C118F04B80045A044 /* PBXTextBookmark */ = {
+ 1D210C38119310AD000EF41C /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 77C8280C06725ACE000B614F /* MongoHub_AppDelegate.m */;
- name = "MongoHub_AppDelegate.m: 28";
+ fRef = 1D93C3CD11836863003216F7 /* ConnectionWindowController.h */;
+ name = "ConnectionWindowController.h: 34";
+ rLen = 15;
+ rLoc = 966;
+ rType = 0;
+ vrLen = 1088;
+ vrLoc = 288;
+ };
+ 1D210C4D11931691000EF41C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 1D93C29811833F26003216F7 /* Database.h */;
+ name = "Database.h: 17";
rLen = 0;
- rLoc = 730;
+ rLoc = 324;
rType = 0;
- vrLen = 1160;
- vrLoc = 193;
+ vrLen = 481;
+ vrLoc = 0;
};
- 1D58BE63118F06EB0045A044 /* PBXTextBookmark */ = {
+ 1D210C4E11931691000EF41C /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 1D93C40011836DC2003216F7 /* ConnectionWindowTitleTransformer.h */;
- name = "ConnectionWindowTitleTransformer.h: 12";
- rLen = 18;
- rLoc = 221;
+ fRef = 1D93C29911833F26003216F7 /* Database.m */;
+ name = "Database.m: 14";
+ rLen = 0;
+ rLoc = 188;
rType = 0;
- vrLen = 251;
+ vrLen = 250;
vrLoc = 0;
};
- 1D58BE6C118F09F40045A044 /* PBXTextBookmark */ = {
+ 1D210CAF11931C8F000EF41C /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 1D93C60A11841865003216F7 /* MongoDB.mm */;
- name = "MongoDB.mm: 261";
+ fRef = 1D93C7471184369D003216F7 /* DatabasesArrayController.h */;
+ name = "DatabasesArrayController.h: 18";
rLen = 0;
- rLoc = 9744;
+ rLoc = 386;
rType = 0;
- vrLen = 1356;
- vrLoc = 10855;
+ vrLen = 651;
+ vrLoc = 0;
};
- 1D58BE6E118F09F40045A044 /* PBXTextBookmark */ = {
+ 1D210CB011931C8F000EF41C /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 1D93C40111836DC2003216F7 /* ConnectionWindowTitleTransformer.m */;
- name = "ConnectionWindowTitleTransformer.m: 14";
- rLen = 302;
- rLoc = 268;
+ fRef = 1D93C24D11833599003216F7 /* ConnectionsArrayController.h */;
+ name = "ConnectionsArrayController.h: 16";
+ rLen = 0;
+ rLoc = 244;
rType = 0;
- vrLen = 577;
+ vrLen = 348;
vrLoc = 0;
};
- 1D58BEA8118F17FF0045A044 /* PBXTextBookmark */ = {
+ 1D210CB111931C8F000EF41C /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 1D93C3CE11836863003216F7 /* ConnectionWindowController.mm */;
- name = "ConnectionWindowController.mm: 357";
+ fRef = 1D93C24E11833599003216F7 /* ConnectionsArrayController.m */;
+ name = "ConnectionsArrayController.m: 24";
rLen = 0;
- rLoc = 12066;
+ rLoc = 424;
rType = 0;
- vrLen = 934;
- vrLoc = 11739;
+ vrLen = 923;
+ vrLoc = 656;
};
- 1D58BECB118F1EBE0045A044 /* PBXTextBookmark */ = {
+ 1D210CBD11932146000EF41C /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 1DF96F9111883B3800C35AB8 /* QueryWindowController.mm */;
- name = "QueryWindowController.mm: 330";
+ name = "QueryWindowController.mm: 329";
rLen = 0;
rLoc = 11051;
rType = 0;
- vrLen = 1087;
- vrLoc = 11033;
+ vrLen = 959;
+ vrLoc = 11000;
};
- 1D79916F11872228009C187F /* PBXTextBookmark */ = {
+ 1D210CBE11932146000EF41C /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 1D93C38511835D2A003216F7 /* EditConnectionController.h */;
- name = "EditConnectionController.h: 46";
+ fRef = 1DF96F9011883B3800C35AB8 /* QueryWindowController.h */;
+ name = "QueryWindowController.h: 18";
rLen = 0;
- rLoc = 1830;
+ rLoc = 434;
rType = 0;
- vrLen = 1373;
- vrLoc = 494;
+ vrLen = 1070;
+ vrLoc = 307;
};
- 1D799453118755EE009C187F /* AddDBController.h */ = {
- uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {751, 385}}";
- sepNavSelRange = "{576, 58}";
- sepNavVisRange = "{0, 640}";
- };
+ 1D210CBF11932146000EF41C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 1D93C7481184369D003216F7 /* DatabasesArrayController.m */;
+ name = "DatabasesArrayController.m: 48";
+ rLen = 0;
+ rLoc = 1302;
+ rType = 0;
+ vrLen = 813;
+ vrLoc = 564;
};
- 1D799454118755EE009C187F /* AddDBController.m */ = {
- uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {751, 832}}";
- sepNavSelRange = "{777, 896}";
- sepNavVisRange = "{703, 976}";
- };
+ 1D210CC011932146000EF41C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 1DF96E3911881AED00C35AB8 /* AddCollectionController.h */;
+ name = "AddCollectionController.h: 13";
+ rLen = 14;
+ rLoc = 256;
+ rType = 0;
+ vrLen = 569;
+ vrLoc = 0;
};
- 1D79945F11875FC1009C187F /* PBXTextBookmark */ = {
+ 1D210CC111932146000EF41C /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 1D93C1D911832C1D003216F7 /* Connection.m */;
- name = "Connection.m: 21";
+ fRef = 1D210BFC119301BA000EF41C /* AuthWindowController.h */;
+ name = "AuthWindowController.h: 31";
+ rLen = 20;
+ rLoc = 957;
+ rType = 0;
+ vrLen = 940;
+ vrLoc = 43;
+ };
+ 1D210CC211932146000EF41C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 1DF96E3A11881AED00C35AB8 /* AddCollectionController.m */;
+ name = "AddCollectionController.m: 10";
rLen = 0;
- rLoc = 301;
+ rLoc = 203;
rType = 0;
- vrLen = 389;
+ vrLen = 533;
vrLoc = 0;
};
- 1D79946011875FC1009C187F /* PBXTextBookmark */ = {
+ 1D210CC311932146000EF41C /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 1D93C24E11833599003216F7 /* ConnectionsArrayController.m */;
- name = "ConnectionsArrayController.m: 45";