aboutsummaryrefslogtreecommitdiffstats
path: root/Source/TableDocument.m
Commit message (Collapse)AuthorAgeFilesLines
* • added encoding popup list as accessory view for Open spf or sql filesBibiko2009-08-061-2/+133
| | | | | - renamed menu item to Open - if sql file is selected encoding popup list is enabled otherwise not since spf will be encoded in UTF-8
* • fixed: release query string which would be inserted into the Custom ↵Bibiko2009-08-051-0/+1
| | | | Query editor after opening a SQL file if the user does not connect to a server
* • open a SQL file via Finder or Terminal (open *.sql if SP is the default ↵Bibiko2009-08-051-0/+28
| | | | | | | app for sql files) will insert the file content into the Custom Query editor of the current active doc - this action starts SP and asks for a connection if it is not running - same for drag&drop a SQL file onto SP's dock icon
* - Fix some small memory leaks when changing tablesrowanbeentje2009-08-041-3/+10
| | | | | - Fix the history navigation to correctly switch across databases without invalid history states
* • initial support for open/save connection files (*.spf)Bibiko2009-08-041-0/+53
| | | | | | | | | - Open/Save menu items are hidden • initial support for drag&drop files *.spf and *.sql to SP's icon or double-click at *.sql or *.spf files in Finder - SP starts if not already running - sql files will be executed in the Custom Query if at least one connection is open - spf files not yet supported -
* • fixed bug for focus setting after database choiceBibiko2009-08-041-2/+7
| | | | - it sets the focus to table list filter field only if it's visible, otherwise it sets the focus to the Table List view directly
* • changed keyboard navigationBibiko2009-08-041-0/+3
| | | | | - set focus to Table List filter field after selecting a database - TAB key in Table List filter field sets focus to Table List for selection/navigation
* Don't release the server variables array as it's simply a weak reference ↵stuconnolly2009-08-031-7/+9
| | | | when filtering is not taking place, fixes a crash. Also, if the panel is opened and the search field contains a value that was previously filter using, perform the filtering using this value before the sheet is displayed.
* - Implement live filtering of the server variables table viewstuconnolly2009-08-031-75/+88
| | | | | | - Update the save variables button to save the current filtered variables if necessary - Remove old/unused NSSplitView code
* - Add a tooltip to the table information pane toggle buttonrowanbeentje2009-08-021-26/+34
| | | | | | | - Change the "[Show/Hide] Console" button in the toolbar to a "Console" button, which shows or brings the console window to the front - Update the default toolbar state to reflect recent additions - Reset everyone's toolbars to ensure that normal users will have the new icons available and visible
* - Fix an errant NSLog in TableSourcerowanbeentje2009-08-011-2/+5
| | | | | | - Improve and make consistent state saving in TableContent; now saves filters and scroll position mor reliably on refresh/edit, and supports remembering and restoring which rows were selected - Significantly improve table history - only create entries for tables switches or filters, only remember 50 items, and save view/filters/scroll position/selections in table content view
* - Add an initial barebones version of the history controller, with a basic ↵rowanbeentje2009-07-301-1/+17
| | | | toolbar item to navigate backwards and forwards. TBC!
* - When getting splitview sizes to resize database menu, correctly use the ↵rowanbeentje2009-07-281-1/+1
| | | | | | | subview size directly instead of the contents of the scrollview (which incorrectly doesn't measure presence of the scrollbar) - Remove the connection view entirely once a window has connected, fixing resize events following document splitview resize
* Improve TablesList significantly:rowanbeentje2009-07-281-1/+0
| | | | | | | | - If there are twenty or more tables, show a table quicksearch/filter at the top of the list, and update the rest of the code to match. This addresses issue #178. - Select tables and views alphabetically by user's current locale (instead of default MySQL "A B C a b c") - When adding or duplicating tables, insert them at the correct point - Fix a number of minor display bugs caused by incorrect interaction with the tables list caches
* - Tweak table information panel to show scrollbars if it's resized to a ↵rowanbeentje2009-07-261-2/+1
| | | | | | | | position that would hide content - Store collapse state of table information panel in preferences - Apply a double fix for BWSplitView/NSSplitView+BWAnchoredButtonBar not informing delegates of resizes - correctly inform original BWSplitView delegates of resizes, and allow BWAnchoredButtonBar registered delegates to recieve the original split view resize notifications. This fixes database menu resizing in synch with splitview resizing for improved/consistent look and feel.
* Remove delegate calls asking for SP specific TableDocument ivars, replacing ↵stuconnolly2009-07-221-2/+20
| | | | them with more generic delegate methods.
* - Allow the reconnection dialogs to function correctly if anything other ↵rowanbeentje2009-07-221-3/+5
| | | | | | | than "Disconnect" is selected - Fix tunnel restarts
* Merge framework integration branch back to trunk. Summary of changes:stuconnolly2009-07-211-26/+84
| | | | | | | | | | | | | | | - Includes all custom code from subclasses CMMCPConnection and CMMCPResult, meaning they have subsequently been removed from the project. - All previous Sequel Pro specific code in the above subclasses has been removed in favour of the delegate (currently set to TableDocumet) informing the framework of such information. - All references to CMMCPConnection and CMMCPResult have subsequently been changed to MCPConnection and MCPResult. - Framework includes MySQL 5.1.36 client libraries and source headers. - Framework is now built as a 4-way (32/64 bit, i386/PPC arch) binary. - All import references to <MCPKit_bundled/MCPKit_bundled.h> have been changed to <MCPKit/MCPKit.h>. - New script 'build-mysql-client.sh' can be used to build the MySQL client libraries from the MySQL source. See the script's header for a list of available options or run it with no arguments to display it's usage. Note that there are still a few changes to be made to the framework with regard to removing Sequel Pro specific calls to the delegate. These however can be made later on as they have no effect on functionality and are merely design changes. Also, note that any future development done on the framework should be made to be as 'generic' as possible, with no Sequel Pro specific references. This should allow the framework to be integrated into another project without the need for SP specific code.
* - Make the DBView window the document window. This allows the document to ↵rowanbeentje2009-07-151-34/+61
| | | | | | | | | | be closed when the window is closed, freeing the document's memory - Update a number of dealloc methods to include more retained memory, and to avoid releasing non-retained memory - Remove notification observers and delegates where appropriate to avoid issues after document closing - Fix a couple of memory leaks - Support window cascading for all windows past the first, using the first window as the autosave window
* • fix for completion in CustomQuery editorBibiko2009-07-141-8/+24
| | | | | | | - now the gathering of suggestions does not query the MySQL connection, instead it uses the TableList/TableDocument tableView data as a kind of cache - this approach should improve the speed for slow server connections TODO: auto-update for TableList and Database List resp. (it could happen that an other user changed the name of a table/db meanwhile)
* Fix to clear compilation errors. 2 variables theUser and theHost weren't ↵avenjamin2009-07-091-2/+2
| | | | declared as pointers.
* - Add a number of additional nil checks as protection against further ↵rowanbeentje2009-07-091-6/+10
| | | | recurrences of Issue #331
* - Commit the second part of r995 (oops), addressing database selection issuesrowanbeentje2009-07-091-1/+1
|
* - Fix favorites text fields resizing in prefs windowrowanbeentje2009-07-061-1/+2
| | | | | - Correctly select Structure view after connection
* Overhaul the connection screen:rowanbeentje2009-07-061-705/+202
| | | | | | | | | - Replace the connection sheet with a new connection view - Provide a tab-based selection system for Standard, Socket, and SSH connections, and show only the necessary fields. This resolves Issue #50. - Detect when "localhost" is used in error and alert the user (also to address Issue #50) - Update favorite editing to match connection view - Move connection methods to a new connection controller and tidy up TableDocument
* • fixes for Create Syntax HUD window:Bibiko2009-06-261-1/+1
| | | | | | | - added minimum size to avoid overlapping context and header - now keyboard, mouse events are working for scrolling - bound font to CustomQueryEditorFont • removed tiny double code in TableDocument
* - Printing of backgrounds is now correctly separated from the WebKit ↵rowanbeentje2009-06-251-0/+1
| | | | preferences, and no longer links SP to Safari
* - Revert r844, making background printing draw from the print accessory ↵rowanbeentje2009-06-251-3/+0
| | | | view again. Improve by setting background printing to on by default, read on startup.
* - Modified titlebar display of SSH statusavenjamin2009-06-241-4/+17
|
* • fixed several problems for alerting an error sheet inside of a ↵Bibiko2009-06-231-1/+18
| | | | didEndSelector: of an other sheet
* - Add BWToolkit Framework to allow for better control over some UI elementsavenjamin2009-06-231-49/+49
| | | | | | | - Add TABLE INFORMATION toggle button - shows/hides pane - Used new UI elements in Copy Table Syntax HUD window - Misc other changes - NOTE: more splitview changes to be made
* - Allow connections via SSH tunnels to reattempt using the specified host ↵rowanbeentje2009-06-211-9/+45
| | | | | | | | | if 127.0.0.1 was retried automatically. - Store the SSH debug logs and allow viewing on connection error - Clean up CMMCPConnections on connection failure - Fix connection keepalive instantiation
* • added to TableContent.m:Bibiko2009-06-191-1/+1
| | | | | | | | - (NSArray * )currentDataResult -- like currentResult but returns "BLOB" for blob data and a base64 encoded string for images à la <IMG SRC="data:image/auto;base64,"> - (NSString * ) base64EncodingOfData:(NSData * )data withLineLength:(unsigned int)lineLength -- it returns a base64 encoded string of data • changed: currentDataResult is now called for printing from the Table Content Browser
* • added to SPArrayAdditions.h: NSArrayObjectAtIndex() inline functionBibiko2009-06-181-2/+3
| | | | | | | | | - id o = NSArrayObjectAtIndex(anArray, index) :== id o = [anArray objectAtIndex:index] - this speed up it ~3µs per call - replaced that inline function for such calls within loops to speed up them • used IMP function pointers for keepAlive calls within queryString: • set -O3 (Fastest) compiler option • allow in preference pane "Tables" to set the Limit up to 50000
* • some tiny improvements to speed up queryString:Bibiko2009-06-181-1/+7
| | | | | | | | | - cache the function pointer for delegate willPerformQuery: - if Console Log window is NOT visible suppress reloadData and scrolling to last line (this speeds it up remarkably); if user opens the Console log window it will be synchronized - timeIntervall for execution time will be divide by CLOCKS_PER_SEC in [NSString stringForTimeInterval] - removed for utf8 enc in cString the return UTF8String (no significant difference) • now execution time shows only the time for mysql_real_query
* Move the QuickLook interface to its own header file.stuconnolly2009-06-151-0/+1
|
* Add support for titlebar connection status images, and use for SSH tunnels.rowanbeentje2009-06-141-0/+38
| | | | | | | - Add view and code to support drawing a connection status icon at the left of the titlebar - Use for SSH tunnels; completes Issue #114. - Remove reference to an image resource "j" in the DBView - fixes console log errors.
* • moved code for de/increasing font and drag&drop feature (content or ↵Bibiko2009-06-131-1/+1
| | | | | | | | | | | | | | while holding ⌘ path) to SPTextViewAddition - two finger zooming gesture is disabled for NSTableView cells - i.e. all NSTextViews including NSTableView cells inherit these feature • simplified QuickLookFormat IBActions - added bin/text storing type to each action • QuickLook animation set to SP's window middle point • fixed issue that while having an image in editSheet an attribute change (font/size) in the editTextView destroyed the image data • fix to allow again drag&drop an image to editSheet • hide text/image/hex segment controll and QuickLook pull down button if user chose multipleLineEditingButton for non-blob fields • disabled NSLog of print result in TableDocument
* - Fix saving of SSH tunnel passwords entered in preferencesrowanbeentje2009-06-111-0/+1
| | | | | | - Select favourites added in preferences - Scroll to newly added or duplicated favourites in both preferences and connection sheet
* Add a very basic preference to disable all query logging. This can be ↵stuconnolly2009-06-111-1/+6
| | | | expanded upon to disable different types of queries.
* - Table Info pane now has fixed heightavenjamin2009-06-101-4/+48
| | | | | - Table Info pane is collapsable - Export Controller code cleanup
* small fix for WebView not printing background colorsmtvee2009-06-101-0/+3
|
* • reload table list, database pull-down menu according to user's ↵Bibiko2009-06-051-0/+41
| | | | | | | | | statements in the Custom Query editor if necessary - if statement begins with: use, create, alter, rename, drop • reload table list, database pull-down menu according to imported statements • sped up "Import MySQL Dump" • fixed some tiny issues of the last commit
* - Added toolbar icon for table relations.avenjamin2009-06-051-5/+31
| | | | - some TableDocument code cleanup
* • added: the "Show Create Syntax" window now follows the selection in the ↵Bibiko2009-06-041-2/+14
| | | | | | table list if it was already opened • commented out the NSLog "not parsed" in SPTableData.m
* • added: syntax highlighting to the HUD window "Show Create Syntax"Bibiko2009-06-041-1/+1
| | | | • fixed: context menu item validation for "Show MySQL Help": hide it when no connection to the customQueryInstance is found
* Added print accesory view with option to Print Backgroundsbamse162009-06-041-0/+15
|
* Further SSH tunnel improvements, password handling improvements, and minor ↵rowanbeentje2009-06-041-45/+73
| | | | | | | | | | | | | bugfixes: - SSH tunnels can now correctly show dialogs for ssh queries, eg host key mismatches - SSH tunnels are now correctly closed by the document for connection failures - Keychain password item name and account generation has been moved to within the keychain class, to centralise generation for consistency - Keychain item names and accounts now correctly deal with nil values, allowing more keychain items to be read - "Add to favorites" button and menu item now correctly store passwords and SSH tunnel settings - Duplicating favorites in preferences now selects the newly created favorite instead of deselecting everything - Fixes an occasional crasher sometimes encountered in keychain usage
* - SSH tunnel now correctly uses placeholder/default port numbersrowanbeentje2009-05-291-1/+1
|
* Add support for SSH tunnels, improve password security, and tweaks:rowanbeentje2009-05-281-137/+301
| | | | | | | | | | | | - Implementation of a new SPSSHTunnel class, designed to closely integrate SSH tunnels within Sequel Pro. - Integration of SPSSHTunnel - new connection methods using callbacks, and CMMCPConnection integration - Keychain class upgrade to include the new SPSSHTunnel keychain password helper on the trusted access list for new passwords - Keychain passwords are now held in memory/UI for only as long as necessary, increasing password security - Updated interface to enable/add SSH tunnel functionality - Remove old SSHTunnel class - Addition of new target for the SSH Tunnel password assistant, addition as a dependency of the main target, and addition to build script to copy into resources directory - Fix a keychain password deletion crash