aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPNavigatorController.m
Commit message (Collapse)AuthorAgeFilesLines
* - Remove all BWToolKit elements from the ExportDialog, ↵rowanbeentje2012-08-021-0/+5
| | | | DatabaseServerVariables, Navigator, and IndexesView nibs, replacing with SPSplitView and standard equivalents
* Change Sequel Pro's license from GPL (version 2) to MIT.stuconnolly2012-07-251-13/+21
|
* Improve connection keepalive, disconnect, and connection loss after ↵rowanbeentje2012-05-151-1/+0
| | | | | | | | | | | reviewing crash logs and testing a number of situations: - Improve stability of closing connections after a connection loss - Minimise prompting a user for connection state restore if closing windows/tabs - Allow cancellation of keepalive ping threads to prevent crashes after deallocation of parent - Manually handle ping thread state struct memory to avoid cross-thread deallocation issues - Improve disconnection speed and resilience
* Rework connection loss handling in SPMySQL, particularly to improve ↵rowanbeentje2012-05-081-4/+2
| | | | | | | | | | | | background loss of connections: - Attempt to fix a condition causing a reconnection loop by fixing the order of connection state check and a query variable - If a connection is lost in the background, only attempt a single reconnect instead of requiring user intervention at once - Add a new connection state to handle background disconnects - If the connection has been lost in the background but is about to be used, reconnect it automatically (informing the user of loss if appropriate) - Don't attempt background reconnections if the connection has not been used for some time (Also update localisable strings, and tweak navigator controller connection usage)
* - Fix an exception when refreshing the navigator viewrowanbeentje2012-03-281-5/+5
|
* - Clean up SPMySQL and QueryKit inclusion and search methods, which should ↵rowanbeentje2012-03-271-1/+1
| | | | | | | fix nightly builds - Fix warnings
* Final feature work on the SPMySQL branch before merging:rowanbeentje2012-03-141-3/+4
| | | | | | | | - Add a ping keepalive managing object to prevent retain cycles from the NSTimer - Add -[SPMySQLConnection copy] support - Refactor Hans-Jörg Bibiko's database structure retrieval, moving it out of the MySQL framework and building it around a copy of the connection. This reduces the amount of connections-over-time used by Sequel Pro to two constant connections (addressing Issue #1097) and improves robustness. - Use the database structure retrieval connection for faster query cancellation without an extra connection required, if possible
* Warning: this branch commit is largely untested, and known to throw ↵rowanbeentje2012-02-231-19/+17
| | | | | | | | | | | | exceptions as database structure retrieval is currently missing! Further work on SPMySQLFramework integration: - Improve SPMySQL framework build settings including correct ppc builds and a Distribution configuration for the build distributions to match - Add new convenience querying and result methods to the framework - Amend Sequel Pro source to use the new SPMySQL.framework methods everywhere, replacing MCPKit methods where they differ and improving some functions - Remove MCPKit from the source - Fix a number of warnings on Release-style builds
* - Cleanup: improve compatibility with 10.7 SDK to reduce compiler warningsrowanbeentje2012-02-081-1/+1
|
* merging SP_REFACTOR branch with trunksqlprodev2011-05-191-0/+3
|
* Small tidy up, mainly the addition of constants.stuconnolly2011-05-051-9/+4
|
* initial commit of SP_REFACTOR ifdefs, the start of a long quest to separate ↵sqlprodev2011-04-111-1/+17
| | | | UI code from functional code
* - Fix more compiler warningsrowanbeentje2011-03-151-10/+9
| | | | | - Tweak README
* fixed compiler warningssqlprodev2011-03-011-1/+2
|
* fixed compiler warningssqlprodev2011-03-011-0/+1
|
* • alias (auto-)completionBibiko2010-11-041-2/+12
| | | | - further improvements to match table names
* - Split out all of SPExportController's delegate methods to their own category.stuconnolly2010-10-241-1/+1
| | | | | | | | - Prepare for the implementation of PDF and HTML export by hiding the export options box for export types that don't need it. - Fix some spacing issues on the export dialog. - Create a new SPCategoryAdditions header that is included in the apps precompiled header, making all additions available to all classes. - Update strings files.
* Considering nearly every class uses constants, import it via the prefix header.stuconnolly2010-10-191-1/+0
|
* Remove use of multiple comments for localized strings.stuconnolly2010-10-191-2/+2
|
* * One label was too short in Content Filter Managerdmoagx2010-09-261-12/+12
| | | | * Changed some NSLocalizedString() comments to be more descriptive - keep in mind that the comment is the only thing that can provide context here.
* • only some minor code cosmeticsBibiko2010-09-171-3/+3
|
* • fixed bug while closing a tab to remove the connection from NavigatorBibiko2010-08-131-2/+13
| | | | • FIRST implementation to allow to drag a table from the Navigator to the connection window's table list to copy this table with content (it works but needs to be improved!)
* • NavigatorBibiko2010-08-131-8/+57
| | | | | - speed up tree display by caching the sort order of dictionary keys (only for more than 50) - this speeds up the entire Navigator GUI response enormously - fix the fighting refresh calls in sync mode if user double-clicked at an item in the Navigator which ended up in an unstable tree display
* • NavigatorBibiko2010-08-131-75/+8
| | | | | | | - make usage of only one tree - fixed "Button"-dummy - fixed refreshing of the tree data for first invocation - fixed tiny bits for possible crashes/exceptions due to threading
* • reverted changes of refreshing of the Navigator if it is not visibleBibiko2010-08-121-1/+1
| | | | | - this should fix recent crashes/execeptions
* • NavigatorBibiko2010-08-121-11/+18
| | | | | | | - searches only for pattern length greater than 1 - improved connection detection for search if connection itself is selected - improved exceptions handling - improved first display refresh
* • some minor work on NavigatorBibiko2010-08-121-16/+28
| | | | | | | - refresh on first init - sped up sorting a bit - code improvements - removed Quick Access since it can be outsourced (in the future)
* Rename TableDocument to SPDatabaseDocument.stuconnolly2010-05-281-5/+5
|
* Rename TablesList to SPTablesList.stuconnolly2010-05-271-1/+1
|
* Initial implementation of tabs:rowanbeentje2010-05-231-8/+7
| | | | | | | | - 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
* • ensure that the global schema structure data for completion are updated ↵Bibiko2010-03-311-9/+8
| | | | even if SP is not active
* • querying for db structure is queued for the same connection to avoid ↵Bibiko2010-03-311-30/+34
| | | | | | | | | | | 'overlapping' access to global variables • after querying db structure write back data on main thread • completion list displays animated sync images if connection is just querying db structure data • fixed some minor issue for completion list • make sure that if last window of a connection is closed all relevant data will be removed from global variables Note: please test!
* • next trial to make getAllKeysOfDbStructure thread safeBibiko2010-03-301-59/+105
| | | | | | | | • some speed improvements for navigator - pre-calculate display string for type info to avoid doing it all the time while refreshing the outline view • suppress double-clicking at a not yet queried db structure if the same connection is querying another structure to avoid accessing the same storage objects from different threads (test) • reload outline view after filtering in navigator runs in its own thread to avoid blocking SP • fixed memory leaks while returning [obj copy]
* • some further code optimizations for navigator Bibiko2010-03-301-23/+45
|
* • some speed improvements and code simplifications for navigatorBibiko2010-03-301-34/+32
| | | | | | • avoid making the completion key list unique since it's possible to insert unique items only • added trigger to query db structure after SQL import • some work to avoid http://log.sequelpro.com/view/90 (not yet ideally - WIP)
* • fixed several threading issues due to threadingBibiko2010-03-291-10/+9
| | | | | - collection classes as NSMutableSet are NOT thread safe! • further tiny speed improvements for navigator
* • added some more sanity checks to avoid exceptions due to threadingBibiko2010-03-291-10/+19
|
* • improved completion suggestion for db schemataBibiko2010-03-291-38/+41
| | | | | | | | - if user typed "foo." and there's an unique schema path regardless cases (like there's an item Foo) show the content of the path Foo - now getUniqueDbIdentifierFor:term returns an array of found type (db or table) and the found string to handle case better for completion • tried to speed up the search in the navigator by using a NSPredicate • [MCPConennection allKeysofDbStructure] - fixed issue while returning if allKeysofDbStructure == nil
* • fixed several issue for completion listsBibiko2010-03-291-25/+79
| | | | | | | • 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)
* - db structure for tables and views will now be queried by using SHOW… ↵Bibiko2010-03-281-39/+28
| | | | | | | | | | | statements - completion now works for server versions < 5 as well - proc/func info will be queried by using information_schema for mysql >= 5 - changed completion logic to handle new format - completion will get the info from SPNavigator since this controller caches all information about db structure - optimization and fine-tuning will follow very soon
* fixed issue while selecting a db name in navigator which wasn't queried yetBibiko2010-03-261-1/+3
|
* • navigatorBibiko2010-03-261-1/+1
| | | | | - fixed issue if different connection windows are connected to the same connection - prepared structure querying method to be able to add user info containing which table/db was changed if we know it to reduce the future parsing cost
* • first steps to ease the structure querying for auto-completion and navigatorBibiko2010-03-261-32/+65
| | | | | | | - 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-47/+188
| | | | | | | - first implementation of a search functionality, workable but tiny issues have to be improved - up to now the only search implemented is 'contains', regexp/fuzzy search will come soon - the search is only performed in the main outline view, the upper one is static - for the new search store all available schema paths uniquely in an array which will be set during queryDbStructure (this avoids re-parsing of a dict structure)
* • NavigatorBibiko2010-03-251-12/+33
| | | | | | - 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
* General tidy up, with a focus on consolidating more constants in ↵stuconnolly2010-03-241-2/+0
| | | | SPConstants.h/m.
* • NavigatorBibiko2010-03-241-48/+74
| | | | | | - ENTER and RETURN selects schema path in active connection window - outsourced some stuff to SPNavigatorOutlineView • added rotating sync arrows to project for future usage
* - Add a new selectDatabase:item: method to TableDocument, to centralise ↵rowanbeentje2010-03-241-10/+2
| | | | | | | | | | 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.
* • added SPNavigatorOutlineView class for future stuffBibiko2010-03-231-0/+1
| | | | • fixed some keytab indices for navigator window
* • TablesListBibiko2010-03-231-2/+38
| | | | | | - method selectTableOrViewWithName: scrolls to selected item • Navigator - double-click at db/table/view/field selects the chosen schema path in active connection window if chosen schema path and active connection window have the same connection ID