aboutsummaryrefslogtreecommitdiffstats
path: root/Source/TableDocument.h
Commit message (Collapse)AuthorAgeFilesLines
* • 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.
* Add back/forward history menu items to the view menu with the assigned ↵stuconnolly2009-09-121-1/+1
| | | | shortcuts of cmd+[ and cmd+].
* • fixed document registering with its query favorites and historyBibiko2009-09-031-2/+2
| | | | | | | | • added and applied removeRegisteredDocumentWithURL to remove a registered document from the app-wide query fav/history controller • saveDocumentWithFilePath now returns the success status after saving - if saving fails for some reasons SP suggests to save that doc under a new name • fixed issues for "Save" an Untitled doc • improved error handling
* • fixed issue if a SPF file contains non-valid URL character like space, etc.Bibiko2009-09-031-2/+3
| | | | | | • each new connection which is non-SPF file-based gets the document name "Untitled x" • prepared SPQueryConsole to manage all query favorite and history data application-wide • minor code fixes and renaming issues
* • simplified and unified the issue to set the title of a tableWindowBibiko2009-09-021-2/+4
| | | | | | | | | | | | | | - everything will be configured in [TableDocument displayName] - to update the title call [TableDocument setTitle:[TableDocument displayName]] - this removes dozens of lines • first steps to support more the document-based approach ( a document is nothing else than a connection with view properties and preferences ) - renamed/added/changed in Main Menu items into "New", "Open", "Save", and "Save As" - if user opened a spf file -> fileURL will be set - "Save" will save the current connection/view data according to the "Save As" setting - ie if one saved a doc with do not "Remember window state" - "Save" won't save the window state; to enable this hit "Save As" [this works for encrypted file data as well] - if the current doc was opened from file and the user closes it or quits the entire app all connection/document-based preferences (up to now query favs and history) will be updated silently [not yet implemented fully in CustomQuery] [works for encrypted file as well] • delete saveSPFAccessory view from DBView since it was outsourced • fixed some issues for the NSSecureTextField in the Save accessory panel (but still a warning appears)
* - Re-enable the fine-grained query logging preferencesrowanbeentje2009-08-311-0/+9
| | | | | | | - Add defaults for fine-grained logging preferences - Add a method to TableDocument to allow setting the query mode, and use the query mode to control logging - Set import/export and custom query to set the appropriate query modes
* • outsourced Save SPF accessory xibBibiko2009-08-251-0/+2
| | | | | | | | | • updated save SPF accessory xib due to SPF structure changes NOTES: - The view in DBView.xib will be deleted after stuart02's commit. - Still after clicking at the encrypt text field a warning will be shown in the Console: NSSecureTextFieldCell detected a field editor that is not a NSTextView subclass... WHY?
* • re-factored the SPF file structureBibiko2009-08-251-2/+4
| | | | | | | | - now it's an open format XML plist file with either encrypted <data> key or plain text <data> dict - (if option "Save Passords") the passwords will be readable if no encryption! - queries can be saved as plain text; whereby SP will compress the text chunk if length > 50k automatically NOTE: Basically it's working but the Save SPF file accessory is now a bit out of sync - waiting for stuart02
* • finalized first approach to save/open SPF (⇧⌘S/⌘O)Bibiko2009-08-241-0/+7
| | | | | | | - ask for encryption password in a sheet - fixed retrieving password Note: further tests are needed esp. for slow connections, connections via SSH and all combination of saving passwords Y/N, encrypt passwords Y/N.