aboutsummaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorbamse16 <marius@marius.me.uk>2009-05-14 13:26:16 +0000
committerbamse16 <marius@marius.me.uk>2009-05-14 13:26:16 +0000
commitb60ee8e3720b0dac888f5d542869712a6c16e409 (patch)
treefae05445d95ed9174fde15390a47d15b5cf5d18b /Source
parentd5ab2d92548974758959134bf169c7af33466ac9 (diff)
downloadsequelpro-b60ee8e3720b0dac888f5d542869712a6c16e409.tar.gz
sequelpro-b60ee8e3720b0dac888f5d542869712a6c16e409.tar.bz2
sequelpro-b60ee8e3720b0dac888f5d542869712a6c16e409.zip
Issue 233: Option to copy field headings from result panels
Implementation of copy with column names menu item Removal of copy column names
Diffstat (limited to 'Source')
-rw-r--r--Source/CMCopyTable.h4
-rw-r--r--Source/CMCopyTable.m22
-rw-r--r--Source/TableDocument.h1
-rw-r--r--Source/TableDocument.m18
-rw-r--r--Source/TablesList.m36
5 files changed, 36 insertions, 45 deletions
diff --git a/Source/CMCopyTable.h b/Source/CMCopyTable.h
index 8b4e1485..071554b1 100644
--- a/Source/CMCopyTable.h
+++ b/Source/CMCopyTable.h
@@ -68,7 +68,7 @@
- (unsigned int)draggingSourceOperationMaskForLocal:(BOOL)isLocal;
/*!
- @method selectedRowsAsTabString
+ @method selectedRowsAsTabStringWithHeaders
@abstract getter of the selected rows of the table for copy
@discussion For the selected rows returns a single string with each row
separated by a newline and then for each column value separated by a
@@ -76,7 +76,7 @@
returns something meaningful.
@result The above described string, or nil if nothing selected
*/
-- (NSString *)selectedRowsAsTabString;
+- (NSString *)selectedRowsAsTabStringWithHeaders:(BOOL)withHeaders;
/*!
@method draggedRowsAsTabString:
diff --git a/Source/CMCopyTable.m b/Source/CMCopyTable.m
index 7eb80c52..e0f29aaa 100644
--- a/Source/CMCopyTable.m
+++ b/Source/CMCopyTable.m
@@ -27,8 +27,14 @@
- (void)copy:(id)sender
{
- NSString *tmp = [self selectedRowsAsTabString];
+ NSString *tmp = nil;
+
+ BOOL withHeaders = NO;
+ if([[sender title] isEqualToString:@"Copy with Column Names"]) {
+ withHeaders = YES;
+ }
+ tmp = [self selectedRowsAsTabStringWithHeaders:withHeaders];
if ( nil != tmp )
{
NSPasteboard *pb = [NSPasteboard generalPasteboard];
@@ -52,7 +58,7 @@
- (BOOL)validateMenuItem:(NSMenuItem*)anItem
{
int row = [self selectedRow];
- if ([[anItem title] isEqualToString:@"Copy"] )
+ if ( [[anItem title] isEqualToString:@"Copy"] || [[anItem title] isEqualToString:@"Copy with Column Names"] )
{
if (row < 0 )
{
@@ -64,7 +70,7 @@
//get selected rows a string of newline separated lines of tab separated fields
//the value in each field is from the objects description method
-- (NSString *)selectedRowsAsTabString
+- (NSString *)selectedRowsAsTabStringWithHeaders:(BOOL)withHeaders
{
if ( [self numberOfSelectedRows] > 0 )
{
@@ -73,7 +79,15 @@
id dataSource = [self dataSource];
NSMutableString *result = [NSMutableString stringWithCapacity:numColumns];
-
+
+ if(withHeaders) {
+ int i;
+ for( i = 0; i < numColumns; i++ ){
+ [result appendString:[NSString stringWithFormat:@"%@\t", [[[columns objectAtIndex:i] headerCell] stringValue]]];
+ }
+ [result appendString:[NSString stringWithFormat:@"\n"]];
+ }
+
//this is really deprecated in 10.3, but the new method is really weird
NSEnumerator *enumerator = [self selectedRowEnumerator];
diff --git a/Source/TableDocument.h b/Source/TableDocument.h
index 17440f68..33a70e90 100644
--- a/Source/TableDocument.h
+++ b/Source/TableDocument.h
@@ -150,7 +150,6 @@
//table methods
- (IBAction)showCreateTableSyntax:(id)sender;
- (IBAction)copyCreateTableSyntax:(id)sender;
-- (IBAction)copyColumnNames:(id)sender;
- (NSArray *)columnNames;
- (IBAction)checkTable:(id)sender;
- (IBAction)analyzeTable:(id)sender;
diff --git a/Source/TableDocument.m b/Source/TableDocument.m
index 3c02e687..3e666cfd 100644
--- a/Source/TableDocument.m
+++ b/Source/TableDocument.m
@@ -1023,23 +1023,6 @@ NSString *TableDocumentFavoritesControllerSelectionIndexDidChange = @"TableDocum
notificationName:@"Syntax Copied"];
}
-- (IBAction)copyColumnNames:(id)sender
-{
- //NSArray *columns;
- NSString *columnNames;
- //columns = ;
- if ([self columnNames]) {
- columnNames = [NSString stringWithFormat:@"`%@`", [[self columnNames] componentsJoinedByString:@"`, `"]];
- }
-
- if([columnNames length]){
- NSPasteboard *pasteBoard = [NSPasteboard generalPasteboard];
- // Copy the string to the pasteboard
- [pasteBoard declareTypes:[NSArray arrayWithObjects:NSStringPboardType, nil] owner:nil];
- [pasteBoard setString:columnNames forType:NSStringPboardType];
- }
-}
-
- (NSArray *)columnNames
{
NSArray *columns = nil;
@@ -1553,7 +1536,6 @@ NSString *TableDocumentFavoritesControllerSelectionIndexDidChange = @"TableDocum
// table menu items
if ([menuItem action] == @selector(showCreateTableSyntax:) ||
[menuItem action] == @selector(copyCreateTableSyntax:) ||
- [menuItem action] == @selector(copyColumnNames:) ||
[menuItem action] == @selector(checkTable:) ||
[menuItem action] == @selector(analyzeTable:) ||
[menuItem action] == @selector(optimizeTable:) ||
diff --git a/Source/TablesList.m b/Source/TablesList.m
index 0a264482..bd5a65e9 100644
--- a/Source/TablesList.m
+++ b/Source/TablesList.m
@@ -867,15 +867,15 @@
[[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:0] setTitle:NSLocalizedString(@"Copy Create View Syntax", @"copy create view syntax menu item")];
[[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:1] setTitle:NSLocalizedString(@"Show Create View Syntax", @"show create view syntax menu item")];
[[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:2] setHidden:NO]; // divider
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:3] setHidden:NO]; // copy columns
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:4] setHidden:NO]; // divider
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:5] setTitle:NSLocalizedString(@"Check View", @"check view menu item")];
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:6] setHidden:YES]; // repair
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:7] setHidden:YES]; // divider
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:8] setHidden:YES]; // analyse
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:9] setHidden:YES]; // optimize
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:10] setTitle:NSLocalizedString(@"Flush View", @"flush view menu item")];
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:11] setHidden:YES]; // checksum
+ [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:3] setHidden:NO];
+ [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:3] setTitle:NSLocalizedString(@"Check View", @"check view menu item")];
+ [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:4] setHidden:YES]; // repair
+ [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:5] setHidden:YES]; // divider
+ [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:6] setHidden:YES]; // analyse
+ [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:7] setHidden:YES]; // optimize
+ [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:8] setHidden:NO];
+ [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:8] setTitle:NSLocalizedString(@"Flush View", @"flush view menu item")];
+ [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:9] setHidden:YES]; // checksum
[removeTableMenuItem setTitle:NSLocalizedString(@"Remove view", @"remove view menu title")];
[duplicateTableMenuItem setTitle:NSLocalizedString(@"Duplicate view", @"duplicate view menu title")];
@@ -884,15 +884,15 @@
[[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:0] setTitle:NSLocalizedString(@"Copy Create Table Syntax", @"copy create table syntax menu item")];
[[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:1] setTitle:NSLocalizedString(@"Show Create Table Syntax", @"show create table syntax menu item")];
[[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:2] setHidden:NO]; // divider
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:3] setHidden:NO]; // copy columns
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:4] setHidden:NO]; // divider
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:5] setTitle:NSLocalizedString(@"Check Table", @"check table menu item")];
+ [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:3] setHidden:NO];
+ [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:3] setTitle:NSLocalizedString(@"Check Table", @"check table menu item")];
+ [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:4] setHidden:NO];
+ [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:5] setHidden:NO]; // divider
[[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:6] setHidden:NO];
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:7] setHidden:NO]; // divider
+ [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:7] setHidden:NO];
[[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:8] setHidden:NO];
+ [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:8] setTitle:NSLocalizedString(@"Flush Table", @"flush table menu item")];
[[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:9] setHidden:NO];
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:10] setTitle:NSLocalizedString(@"Flush Table", @"flush table menu item")];
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:11] setHidden:NO];
[removeTableMenuItem setTitle:NSLocalizedString(@"Remove table", @"remove table menu title")];
[duplicateTableMenuItem setTitle:NSLocalizedString(@"Duplicate table", @"duplicate table menu title")];
@@ -908,8 +908,6 @@
[[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:7] setHidden:YES]; // divider
[[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:8] setHidden:YES];
[[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:9] setHidden:YES];
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:10] setHidden:YES];
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:11] setHidden:YES];
[removeTableMenuItem setTitle:NSLocalizedString(@"Remove procedure", @"remove proc menu title")];
[duplicateTableMenuItem setTitle:NSLocalizedString(@"Duplicate procedure", @"duplicate proc menu title")];
@@ -924,9 +922,7 @@
[[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:6] setHidden:YES];
[[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:7] setHidden:YES]; // divider
[[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:8] setHidden:YES];
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:9] setHidden:YES];
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:10] setHidden:YES];
- [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:11] setHidden:YES];
+ [[[[[NSApp mainMenu] itemAtIndex:5] submenu] itemAtIndex:9] setHidden:YES];
[removeTableMenuItem setTitle:NSLocalizedString(@"Remove function", @"remove func menu title")];
[duplicateTableMenuItem setTitle:NSLocalizedString(@"Duplicate function", @"duplicate func menu title")];