aboutsummaryrefslogtreecommitdiffstats
path: root/Source/TableDocument.h
Commit message (Collapse)AuthorAgeFilesLines
* Rename TableDocument to SPDatabaseDocument.stuconnolly2010-05-281-341/+0
|
* Merge export redesign branch back into trunk.stuconnolly2010-05-241-0/+1
| | | | | | | | | | | | | | | | | | | | | Includes a completely redesign approach to all export data types based on the use of NSOperation subclasses. CSV, SQL, XML and dot export types are currently functional, while the source files for PDF and HTML export types exist they are to be implemented, but are currently hidden from the interface. Also includes the following: - Completely redesigned export interface. - The ability to customize CSV NULL values. - The ability to specify whether the UTF-8 BOM should be used in SQL dumps. - The ability to specify whether BLOB fields are output as hex or plain text during SQL dumps. Defaults to hex. - Exporting currently selected tables via the tables list context menu. Outstanding issues: - Not all progress indicators for all export types are functional (or functioning correctly). - A few issues related to the introduction of only exporting the content and create and drop syntax of specific tables during SQL dumps. Needs some serious testing and benchmarking to ensure it replicates the current export functionality.
* - Add support for progress indicator in tabsrowanbeentje2010-05-241-0/+1
| | | | | | - Hide Navigator menu option again - Remove accidentally committed debug
* Initial implementation of tabs:rowanbeentje2010-05-231-8/+30
| | | | | | | | - Addition of PSMTabBar framework - Rework away from a document-based TableDocument - Support tabs throughout the application - Add menu items for creating tabs, and add support for dragging tabs to different windows
* Changed appearance of copy/rename DB to match that of copyTable. drx7772010-04-291-4/+9
| | | | | Added the to be copied/renamed database name to the name input sheet. Added necessary outlets. Added the current db name as preset value in the rename input field. Renamed databaseNewSheet to databaseCopySheet and copyOnlyStructureButton to copyDatabaseDataButton and inverted behaviour of the button.
* This changeset implements renaming and duplicating databases on a server. ↵drx7772010-04-281-0/+10
| | | | | | | | | | | | | | | | | | | Details as follows: * altered MCPConnection listTablesFromDB:like: to return NSArray * altered MCPConnection listFieldsFromTable:like: to use backtick quoted strings for table and fieldnames * added MCPConnection listTablesFromDB for a complete table list * added SPStringAdditions.h to various files to prevent warnings * added sheets for duplicate/rename DB in DBView.xib * added duplicate/rename menu items to MainMenu.xib * added outlets in TableDocument: databaseNewSheet databaseRenameSheet databaseCopyNameField databaseRenameNameField copyOnlyStructureButton copyDatabaseButton renameDatabaseButton * added methods in TableDocument: getConnection, copyDatabase, renameDatabase, _copyDatabase, _renameDatabase * added OCMock Framework for object mocking in tests * added group Others/DatabaseActions
* - Add a new couldCommitCurrentViewActions method to TableDocument, and ↵rowanbeentje2010-04-181-1/+2
| | | | | | | | standardise current view-commit-checks to use that - Add checking of that status to history navigation (fixing http://spbug.com/l/127 ) and window closing (fixing http://spbug.com/lr/263 ) - Improve thread safety/deferred actions in TableContent
* • added "Import from Clipboard" ⌥⇧⌘IBibiko2010-04-101-0/+1
| | | | | | - sheet showing the first 4kB of pasteboard content and the SQL/CSV accessory view - pasteboard content will be saved as temp file and read by using the current table/connection encoding
* • fixed several issue for completion listsBibiko2010-03-291-0/+2
| | | | | | | • improved gathering and caching of structure data coming from connection windows with the same connection • made the structure querying more stable against threading issues • moved getUniqueDbIdentifierFor from MCPConnection to SPNavigatorController to be up-to-date in all connection windows • improved detection if db structure querying should be performed or not (not yet finished)
* - When switching tables, correctly catch disconnections and suppress error ↵rowanbeentje2010-03-271-1/+0
| | | | | | | | | dialogs and related crashes - Move connection error sheet close method to the connection delegate - Tweak the information_schema db schema building query to be much faster on busy servers by amending the VIEW part - Set the connection lock to nil after releasing, coping with connection unlocks deferred on the main thread until after dealloc
* • first steps to ease the structure querying for auto-completion and navigatorBibiko2010-03-261-0/+1
| | | | | | | - now it accumulates the data and caches them db by db, ie one has to select a db before using its structure for completion and navigator - next step is to avoid querying info_schema as much as possible - it will only query the structure if something was changed - next steps follows as soon as possible
* • NavigatorBibiko2010-03-251-1/+0
| | | | | | - make usage of a notification sent by the [MCPConnection queryDbStructure] to update the navigator, and this decouples a doc window and MCPConnection from the navigator - minimized the tree update - now connectionID-based - any tree update will be now performed on main thread and waits until done to avoid 'overlapping' updates triggered by different notifications which normally ended up in an inchoate tree display
* - Add a new selectDatabase:item: method to TableDocument, to centralise ↵rowanbeentje2010-03-241-1/+1
| | | | | | | | | | code for selecting databases and tables. Clean up database selection to use this new method, and avoid reloads when re-selecting the same database. - Convert the history controller to use this new call. This fixes history behaviour when a table list filter was active. - Convert the (hidden) navigator to use this new call. This fixes timing issues. - Make some thread safety tweaks to TablesList. - Change TablesList selectTableOrViewWithName: to selectItemWithName:, including procs etc.
* • further work on Navigator (not yet active but workable -> unHide menu item)Bibiko2010-03-191-0/+2
|
* • some progress of the navigator approach (not yet active - hidden main ↵Bibiko2010-03-181-1/+3
| | | | menu item)
* • initial commit to support a connection/schema navigator (not yet active ↵Bibiko2010-03-171-0/+1
| | | | - to try see line 1134 in TableDocument.m)
* Perform HTML generation for printing on a background thread, displaying the ↵stuconnolly2010-03-131-0/+2
| | | | usual progress indicator with the ability to cancel it. Still need to add warnings when attempting to print a table content with a large number of rows or a lot of data.
* Various printing support enhancements, including:stuconnolly2010-03-121-15/+12
| | | | | | | | | - Splitting out all printing methods to SPPrintController which is category of TableDocument. - The ability to print table relations. - If present the inclusion of table indexes when printing a table's source. - If the user has use monospaced fonts enables, then the print out's tabular data will be in a monospaced font. - Lots of other style enhancements, including page headings and sections headings.
* • improved tooltip behaviour of SPNarrowDownCompletion's tableViewBibiko2010-03-091-0/+1
| | | | • added "Filter Tables…" ^⌥⌘F" to main menu > Table which sets the focus to TablesList's search field if visible
* Add a new 'Filter Content...' menu item to the 'Table' menu that switches to ↵stuconnolly2010-03-081-0/+1
| | | | the content view and places the focus on the filter field.
* • REPAIR, OPTIMIZE, ANALYZE, FLUSH, CHECKSUM now can be applied to more ↵Bibiko2010-02-261-0/+2
| | | | | | | | than one selected item in the TablesList; if no error alert OK, if not or for CHECKSUM list the output in a table view - while sheet is open showing the accessory table user can press ⌘C for copying it - added missing NSLocalizeStrings • fixed a tiny issue for $SP_SELECTED_TABLES
* • Query Favorites:Bibiko2010-02-251-0/+5
| | | | | | | | - added snippet variable $SP_SELECTED_TABLES which inserts `table1`,`table2`, etc. (ONLY tables) • improved "Check Table" - now one can select more than one table to execute "CHECK TABLE table1,table2,… ; if all tables passed successfully alert OK, if not show the result as accessory table in the sheet note: OPTIMIZE, REPAIR, FLUSH, CHECKSUM, ANALYZE follow
* • CSV Import Field MapperBibiko2010-02-211-0/+2
| | | | | - added Advanced sheet for setting IGNORE, DELAYED, ON DUPLICATE KEY UPDATE '<string>' for INSERT/REPLACE INTO • if during import CSV Import an error occurred show SP Console
* Complete the implementation of the management of table triggers (accessible ↵stuconnolly2010-02-061-0/+1
| | | | via Cmd+6). Note, that better support for entering the trigger statement in terms of escaping and delimiter support most likely needs to be added.
* Added preliminary support for triggers. You can access the tab via the bamse162010-01-311-0/+1
| | | | | | | | | | | | | | | | | | | | menu item View > Table Triggers (apple-6). Heavily copied from Relations tab, lots of functionality missing. Just lists the triggers for the table now. M Source/SPTableData.m M Source/SPConstants.h M Source/SPConstants.m A Source/SPTableTriggers.h A Source/SPTableTriggers.m M Source/TableDocument.h M Source/TableDocument.m M Source/SPTableData.h M Interfaces/English.lproj/MainMenu.xib M Interfaces/English.lproj/DBView.xib M sequel-pro.xcodeproj/project.pbxproj
* • further preparations to F5 completionBibiko2010-01-111-0/+2
| | | | Note: not yet active - only querying the data in background will be performed for testing
* - Upgrade Sequel Pro to be compiled as a 3-way PPC/i386/x86_64 binary for ↵rowanbeentje2010-01-091-9/+9
| | | | | | | release builds, including a large number of 64bit compatibility upgrades and tweaks - Upgrade RegexKitLite to 3.3
* Remove old redundant code that was left over form when the server variables ↵stuconnolly2009-12-141-1/+0
| | | | sheet was moved to its own controller.
* - Relocate the table changed notification, allowing table info pane to ↵rowanbeentje2009-11-211-1/+1
| | | | | | | update early in the change process, but ensure the change notification occurs on the main thread for stability. Added NSNotificationAdditions from the Colloquy project for this. - Change the design of the progress indicator layer, and tweak task progress for improved feedback and less flickering by correctly updating interface as appropriate, and delaying status changes for a short time. This partially addresses Issue #455.
* Implement query cancellation support within MCPKit, and add it to the task ↵rowanbeentje2009-11-151-0/+6
| | | | | | | | | | functionality: - MCPKit now supports cancelling the active query; for MySQL servers >= 5.0.0 a query kill is attempted from a new connection, and if that fails or for MySQL < 5 a reconnect is triggered. - TableDocument now supports enabling a cancel task button on the task interface, including an optional callback - Implement query cancellation for custom queries. This addresses Issue #86. - Implement query cancellation for table content loads, filters, and sorts.
* Bunch of improvements to the query console, including:stuconnolly2009-11-141-1/+1
| | | | | | | | | | | | | - New connection column (been meaning to add this for a while) - Display table view column headers - Enable table view text cell line truncating - Allow table view columns to be re-ordered - The table view now respects the display table view vertical grid lines preference - Support for including the connection when saving messages to a file - Support for showing/hiding the connection column - Increase table view row height to match that of all others - Display message time stamps using the user's system wide medium time format
* Move query mode constants to SPConstants.h.stuconnolly2009-11-131-7/+0
|
* In an aid to split up the functionality of the TableDocument class as well ↵stuconnolly2009-11-131-14/+8
| | | | as reducing the overall size of DBView, split out the server variables sheet into it's own controller and XIB in the same way as the new server processes sheet is implemented.
* - New server processes panel, accessible via the 'Database' menu and ↵stuconnolly2009-11-121-1/+3
| | | | | | | | alt+cmd+P. Includes the ability to kill queries and connections as well as live filtering support and the ability to save all processes or the current filtered set to a file. Implements issue #458. - Reorganise 'Database' menu. - Give 'Flush Privileges' key equivalent of shift+cmd+F.
* - Fix an issue when switching databases - allow the table selection to be ↵rowanbeentje2009-11-101-1/+4
| | | | | | | cleared/reset as necessary - Move the task progress layer to a child window, which can then be faded in - smooths the visual appearance and fixes drawing artifacts
* - Support nested task levels to allow tasks to overlaprowanbeentje2009-11-081-1/+4
| | | | | | | - Thread history loading, thus using the nested task elvels and fixing history interaction in recent builds - Thread initial database loads - Improve progress indicator slightly
* Tidy up.stuconnolly2009-11-071-4/+0
|
* Got rid of a crash when using the User Manager and closing last Table ↵mltownsend2009-10-291-2/+3
| | | | Document. May be leaking now, not sure. Still needs some work.
* - Set up TableSource to respond to task notifications to prepare for ↵rowanbeentje2009-10-271-0/+1
| | | | | | | threaded queries - Alter task notifications to pass the TableDocument as the notification object so that only the current window responds to the notification, allowing other windows to be fully used while a window is performing a task
* Don't run the add new database sheet modally, thus blocking the main thread. ↵stuconnolly2009-10-261-1/+0
| | | | Part of issue #357.
* - Improve table and task redrawing during threaded table content loadsrowanbeentje2009-10-221-1/+1
| | | | | - Correctly update the table content count when duplicating a row, and cancelling the add. This addresses issue #440.
* Initial work on threaded task, with an implementation of Table Content view ↵rowanbeentje2009-10-201-0/+21
| | | | | | | | | data loading: - Removal of AMIndeterminateProgressIndicatorCell, and addition of a custom fork of YRKSpinningProgressIndicator which fixes bugs, adds threaded drawing, and adds a determinate mode. - Addition of a task system within TableDocument, triggering display of a large central progress indicator and stopping the window from being interacted with in any way that would cause a query while the task is running. - Add threaded TableContent content fetching, including use of the new task system and determinate progress bar; make fixes to improve threading stability and interaction.
* • some minor code cleaning and simplificationBibiko2009-10-071-2/+4
|
* • added main menu item: "Open “<file>” in New Window" ⌥⌘O as ↵Bibiko2009-10-061-0/+1
| | | | | | alternated menu item bound to "Open…" - this action opens the current file-based connection in a new window by reading <file> again
* • changed routine for opening SPF filesBibiko2009-10-061-1/+5
| | | | | | | | | - if no passwords are stored inside the SPF file try to retrieve the passwords from the KeyChain - for that purpose store the key 'kcid' in the SPF file if available - changed the accessory view: 'auto_connect' is always enabled (even no pw will be saved due to new routine) • fixed issue for Open Recent of SQL files • add a saved SPF file to Open Recent list if the user saved an Untitled doc or saved an open SPF file under an other name
* More export redesign work. CSV data generation is currently working using ↵stuconnolly2009-10-061-1/+1
| | | | the old non-streaming code, but does not yet write to any files. Please note that this is still very much a work in progress.
* Add the ability to copy the selected server variable(s), either as name = ↵stuconnolly2009-10-041-1/+4
| | | | value pairs, just the variable or just the variable value.
* • first implementation of a Content Filter EditorBibiko2009-10-011-0/+1
| | | | | | | | | | | | | | - user-defined content filter can be saved globally (Prefs) or in SPF files - BETA - further tests are needed due to complexity - SPQueryController now handles the local user-defined content filters - tooltips are now generated automatically if not defined explicitly (incl. if $BINARY placeholder was used) • if user added local query favorites or content filters to an Untitled document and s/he wants to close it the standard sheet will be displayed (Don't Save - Cancel - Save) - due to that changed old [TableDocument displayName] to 'displaySPName' to be conform with Cocoa • changed behavior while importing query favorites - now they will append at the list (not inserted after selected row - makes more sense) • introduced to history filter dict the key 'menuLabel' which will be set to [TableContent tableFilterString] for displaying the history menu title and simplified the SPHistoryController logic for that • minor code changes
* - Add copy create syntax button to the create syntax sheet.stuconnolly2009-10-011-0/+1
| | | | | | - Fix the Growl notification prefs message as well as making the dialog a sheet. - Re-run genstrings to update localizable.strings and also remove use of multiple comments for a single string.
* - Replace the create syntax transparent HUD panel with a standard sheet, ↵stuconnolly2009-10-011-3/+4
| | | | | | | | | which displays the create syntax in the same non-editable version of the custom query editor. Addresses issue #411. - Add the ability to save the displayed create syntax to a file on disk. - Change the 'Show Create Syntax' shortcut from shift+cmd+S (its already in use) to alt+cmd+S. - Make both the create syntax and server variables sheets not run application modally and thus prevent them from blocking the main thread. Part of issue #351.