aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPDatabaseDocument.m
Commit message (Collapse)AuthorAgeFilesLines
* • added chance to cancel an activity - up to now a running Bundle command ↵Bibiko2010-12-011-10/+10
| | | | | | - from the Activities pane (toggable via double-clicking at Table Information header); it's still tentative and the correct cancel icon will follow asap • added notification system for updating the activities pane (SPActivitiesUpdateNotification)
* • fixed issue for saving spf files if sslCertificateFileLocation is nilBibiko2010-11-301-2/+2
| | | | | | | | | • SPConnectionController - assign favoritesTable to the correct new class SPFavoriteOutlineView (not a NSTableView) - allowed empty selection for SPFavoriteOutlineView [ this fixes mainly the issue to open spfs files ] - moved double-click action to outlineView:shouldEditTableColumn:tableColumn item: to suppress double-click at a group header - re-enabled navigation through the fav outlineView even if the password field is empty - now if the field is empty the user can simply press TAB key move the focus to that field - this fixes issue 799 • minor code cleaning
* • Bundle commandsBibiko2010-11-301-0/+17
| | | | | | - before closing a db doc window kill all commands associated to this doc - suppress an error message if a bash command was killed via code 9 - added a temporary and preliminary table view to display command activities (double-click at TABLE INFO header to toggle and refresh it - only for testing purposes - it shows all commands started from that db doc and a General command names)
* • Bundle commandsBibiko2010-11-291-1/+25
| | | | | - register running commands for each SPDatabaseDocument or if the command runs via 'General' for NSApp delegate - kill all running commands before SP will be terminated
* - Fix issues right-clicking in the empty table area ( http://spbug.com/l/1726 )rowanbeentje2010-11-271-1/+1
| | | | | | | - Improve 10.5 compatibility when clearing menus ( http://spbug.com/l/1508 , http://spbug.com/l/1829 , http://spbug.com/l/1818 ) - Fix a possible crash when updating database lists - Update localisable strings
* - Right-align numeric columns in table content views and custom query resultsrowanbeentje2010-11-271-2/+2
| | | | | - Fix exceptions caused by nil SSL locations when re-saving old session files
* • Bundle EditorBibiko2010-11-231-0/+7
| | | | | | | - fixed gui arragement - suppress error message if no ouptut key found in command.plist • added sequelpro://ID@/passToDoc/SelectTableRows/1/3/4/.. scheme command which selects given rows in current table if a SPCopyTable is the first responder; not valid given rows are ignored • added SP_SELECTED_ROW_INDICES as passed shell variable for Data Table scope
* - Abstract SPDatabaseDocument's Connection/.spf saving/loading ↵rowanbeentje2010-11-231-568/+696
| | | | | | | | | | functionality into state setting and getting functions, and refactor old commands to use them - Fix restoring of content sort column order and selected indexes - Add menu items for duplicating current tab (as an alternate), opening selected table in a new tab, or opening selected database in a new tab - Clean up file menu by making Connection/Session "Save as..." menu items alternates - Update localisable strings
* • sequelpro url scheme supportBibiko2010-11-221-4/+42
| | | | | | | • added commands: SelectDocumentView, ReloadContentTableWithWHEREClause • fixed typos • tried to queue incoming commands
* • renamed some shell variables for Bundle commandsBibiko2010-11-221-0/+17
| | | | • added sequelpro scheme commands: SelectTables, ReloadTablesList, ReloadContentTable
* • Bundle supportBibiko2010-11-161-0/+52
| | | | | | - further simplifications and centralizations - runBashCommandWithEnvironment: now it can execute each script command whose first line begins with #!/... natively - added some more shell variables
* • Bundle supportBibiko2010-11-151-6/+4
| | | | | | | - outsourced code to SPAppController to centralise Bundle support and make it available for different scopes (query editor, input text fields, data tables etc.) - store bundle info scope-based - added input text field support - made usage of constants
* • improved export of a query result via sequelpro:// scheme commandBibiko2010-11-121-10/+61
|
* • some sequelpro://...@passToDoc/ExecuteQuery/csv improvementsBibiko2010-11-111-4/+24
|
* • some tiny progress for sequelpro://$SP_PROCESS_ID/ExecuteQueryBibiko2010-11-111-2/+57
|
* • added to Bundle shell command these variables:Bibiko2010-11-111-0/+43
| | | | | | | | | | SP_ALL_DATABASES, SP_ALL_TABLES, SP_ALL_VIEWS, SP_ALL_FUNCTIONS, SP_ALL_PROCEDURES, SP_RDBMS_VERSION, SP_RDBMS_TYPE [hard-coded yet ;)] • some minor improvements to editor Bundle support • fixed issue while running a bash command that the SP GUI doesn't block • added first sequelpro url scheme functionality - sequelpro://$SP_PROCESS_ID/passToDoc/SelectTable/a_name - sequelpro://$SP_PROCESS_ID/passToDoc/SelectDatabase/a_db_name - sequelpro://$SP_PROCESS_ID/passToDoc/SelectDatabase/a_db_name/a_table_name
* • some improvements for sequelpro://process_id/command/param1/param2 url ↵Bibiko2010-11-111-0/+2
| | | | | | scheme support - introduced an unique process ID for each called bash command which will be set for the current SPDatabaseDocument and passed as environment shell variable SP_PROCESS_ID to ensure that such a scheme command will be executed by the correct SPDatabaseDocument, to avoid security issues ie one can authenticate such a sheme command, to enable url scheme process communication based on file shake-hands etc.
* • first implementation to allow the user to write and use self-definable ↵Bibiko2010-11-101-1/+3
| | | | | | | | | | | | | | | | | | functions inside the Custom Query Editor - such commands will be stored as foo.spBundle in SP's Application Folder/Bundles - up to now they will be displayed inside the context menu as submenu Bundles which can be by itself contain further submenus specified via 'category' key - to each command the user can assign a tooltip and a keyboard short-cut; if user chose a standard SP short-cut it will be ignored - commands will be executed as bash commands ie it can also be written in any script language - the bash process inherits several environment variables like SP_BUNDLE_PATH, SP_SELECTED_TEXT, SP_SELECTED_DATABASE, SP_SELECTED_TABLE, SP_CURRENT_QUERY, SP_CURRENT_LINE, SP_CURRENT_WORD - the bash command's result can be processed as follows: insertAsText, insertAsSnippet, replaceContent, replaceSeletion (with fallbacks to word, line, query, entire content), showAsTextTooltip, showAsHTMLTooltip - up to now all installed bundles are reload for each menuForEvent: [this is tendative!] - each spBundle command has a scope to allow to the user to specify for which SP element a command can be useful; up to now only the scope 'editor' is supported; further scopes could be 'data table' for context menus of mysql table data (Content or Custom Query - including info of selected lines, table data in different formats, etc.) - foo.spBundle files can be installed simply by double-clicking at it (remember up to now Bundles will be reloaded while opening the editor's context menu!) two tiny examples for testing: http://wwwstaff.eva.mpg.de/~bibiko/dt/temp/spBundleExamples.zip
* Add a new category to SPDatabaseDocument, allowing code cleanup and moving ↵rowanbeentje2010-11-031-136/+21
| | | | | | | | | | | central functionality out of SPTablesList: - Centralise control over table loading, moving it away from SPTablesList and into SPDatabaseDocument and the new SPDatabaseViewController category - Centralise control over the main tab view, moving control away from SPTablesList and into SPDatabaseDocument and the new SPDatabaseViewController category - Simplify and clean up view loading logic - Improve thread safety - Update localisable strings
* • disable "New Connection Tab" ⌘T menu item if a sheet is ordered outBibiko2010-11-011-1/+1
|
* - Split out all of SPExportController's delegate methods to their own category.stuconnolly2010-10-241-4/+0
| | | | | | | | - 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-2/+0
|
* Add a 'Refresh Tables' menu item to the 'Database' menu. It currently has ↵stuconnolly2010-10-191-13/+23
| | | | the shortcut Ctrl+Cmd+R, but this can always be remapped in system preferences. Implemented issue #845.
* Various improvements to server capability/version checking, including:stuconnolly2010-10-071-37/+58
| | | | | | | | | | | | | - Add a new ServerSupport class, for which an instance is created upon each new connection and is then subsequently accessible via SPDatabaseDocument. - Replace the majority of manual version checking with calls to properties in the above new class. - Improve the user manager's compatibility with MySQL 3 and 4 servers. Fixes issue #811 Other changes include: - Disable the encoding popup button when adding a new table or database to servers running pre MySQL 4.1 as it only contains one option, 'Default'. - Fix various potential memory leaks discovered during static analysis. - General tidy up and comments.
* Remove 10.4 related code and associated macros.stuconnolly2010-09-261-3/+1
|
* Change the comment fomat used when displaying and copying the create ↵stuconnolly2010-09-241-8/+5
| | | | syntaxes for multiple tables to '--' from '#'. Implements issue #842.
* • 'doPerformQueryService' set toolbar to Custom QueryBibiko2010-09-211-5/+6
| | | | - minor commenting stuff
* Very minor tidy up.stuconnolly2010-09-201-3/+2
|
* - Implement support for MySQL over SSL for both TCP/IP and Socket ↵rowanbeentje2010-09-131-1/+34
| | | | | | | | | | connection modes. - Upgrade the MySQL binaries to version 5.1.50 (was 5.1.46) - Enable SSL support in the MySQL libraries (this leads to a large increase in library size, unfortunately) - Enable more optimisations in the MySQL libraries (especially --enable-assembler for faster in-library string processing and --with-mysqld-ldflags=-all-static) This completes support for Issue #27.
* • fixed _supportsEncoding setting to dis/enable safely Database > View ↵Bibiko2010-09-101-1/+6
| | | | Using Encoding
* - Add support for SSH identity files (public keys) in custom locationsrowanbeentje2010-09-081-0/+8
| | | | | | - Update localisable strings - Fix initial window position
* • Show/Copy Create Syntax now come up with all create syntaxes of selected ↵Bibiko2010-09-011-106/+103
| | | | | | | items • if Create Syntax is a PROC wrap the output by DELIMITER ;; etc. to simplify a copy&paste • merged code for copyCreateTableSyntax into showCreateTableSyntax distinguished by the sender (if sender == self) then copy otherwise show
* Encoding changes and improvements, particularly to increase compatibility ↵rowanbeentje2010-08-251-63/+44
| | | | | | | | | | | with extended characters in MySQL identifiers (names of dbs/tables/cols): - Move encoding queries and control into MCPKit, with newly cleaned-up methods, and switch a number of locations to using the new code. - Use UTF8 connections for many identifier-based queries (selecting and listing databases, tables, stored procs, table information). This fixes selection and creation of table and database names containing extended characters, also fixing exceptions and errors. - Improve UTF8 over Latin1 to correctly set the client character set encoding as well, fixing custom queries and edits; remove custom code in SPTableContent achieving the same thing in a single location. - Fix database encoding detection routines - Update localisable strings
* • made usage of SPBeginWaitingAlertSheet while closing a spf file for ↵Bibiko2010-08-191-8/+16
| | | | | | | readability of that spf file • suppress if a window with one tab will be closed that [... parentTabShouldClose] method will be called twice via closeTab: - this issue could be the reason for recent crashes/exception esp. of the NSNavigator (should be investigated further)
* - Apply column autosizing improvements to custom query loadingrowanbeentje2010-08-161-3/+7
| | | | | | | | - Move Table Content progress tracking onto the main thread's load timer - Improve thread safety when autosizing - Improve autosize to not contrain wide columns as much in tables where all columns can be shown, or if the column is double-clicked to size. (This completes work on Issue #271 and Issue #272)
* Improve export menu item validation by disabling export as XML and CSV when ↵Bibiko2010-08-151-6/+16
| | | | only multiple procs and/or functions are selected
* Improve export menu item validation by disabling export as XML and CSV when ↵stuconnolly2010-08-151-1/+12
| | | | either a proc or function is selected.
* Tidy up database renaming and copying by removing the use of alert dialogs ↵stuconnolly2010-08-131-13/+32
| | | | within loops to prevent locking up the main thread. These operations ideally should also be threaded.
* • fixed bug while closing a tab to remove the connection from NavigatorBibiko2010-08-131-2/+2
| | | | • 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-4/+4
| | | | | | | - 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
* • while closing a doc window or quitting the app wait for removing the ↵Bibiko2010-08-121-1/+1
| | | | connection structure data used by the Navigator/Completion List to avoid exceptions or crashes
* Improve tab dragging:rowanbeentje2010-08-031-0/+1
| | | | | | - Fix toolbar issues when the last tab is dragged "out of" a window (eg a window is moved via the only tab left inside it) - Fix window positioning flicker when dragging a tab out of its window
* - Make a few more strings localizablerowanbeentje2010-08-011-13/+13
|
* - Replace progress indicator CoreAnimation drawing with manual shadow/fade ↵rowanbeentje2010-07-311-3/+24
| | | | | | | code; this addresses hangs (see Issue #6677) and also prevents triggering the discrete graphics chip on newer MacBook Pros. - Update localisable strings
* - Replace core animation fade of task progress window with custom drawing ↵rowanbeentje2010-07-251-22/+29
| | | | code, in an attempt to fix Issue #677. It appears from testing that this is only a partial fix, but does reduce hang frequency.
* Make the export dialog a little smarter with regard to the current context. ↵stuconnolly2010-07-251-24/+6
| | | | | | | | | | | For example: If either the table content or custom query editor views are active and there is data available, these options will be selected as the export source ('Filtered' or 'Query Result'). If either of these views are not active then the default source are the currently selected tables. If no tables are currently selected then all tables are checked. Note that in this instance the default export type is SQL where as in the case of filtered or query result export the default type is CSV. Also remove some old export methods. Related to issue #610.
* - Improve thread safety when altering task cancellation staterowanbeentje2010-07-211-0/+6
|
* Tab tweaks:rowanbeentje2010-07-201-5/+6
| | | | | | | | - Sheets now appear positioned underneath the tab bar if visible - Tweak bottom corner drawing for a clearer outline, without highlight overlay - Frontmost tab no longer displays server name in the tab Also fix exception when right-clicking on an index to reset auto-increment.
* Make the 'Export' menu item in the 'File' menu behave more like the export ↵stuconnolly2010-07-151-13/+11
| | | | context menu by checking only the selecting tables. If no tables are selected all of them are checked by default (the same as before). Fixes issue #755.
* As the initial MySQL connection is now threaded, start the current tab's ↵stuconnolly2010-07-071-5/+16
| | | | progress indicator to indicate that it's connecting in the event that the user switches to a different tab. Also preserve the tab's label as 'Connecting...' when switching tabs.