aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPDatabaseDocument.m
Commit message (Collapse)AuthorAgeFilesLines
* • 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.
* • fine-tuned scrollView position of Custom Query Result tableBibiko2010-07-071-1/+1
| | | | | | | • resized GUI elements (Run Current, Last Error Mes.) for localisation • centered label for "Query Favorites" and "Query History" - maybe we should think about the appearance these buttons! • increased the min width of Custom Query view by 15px in order to avoid GUI overlappings
* Rename TableDump to SPDataImport and fix export selected tables functionality.stuconnolly2010-07-061-5/+5
|
* Rename CustomQuery as SPCustomQuery.stuconnolly2010-07-061-2/+2
|
* - Make the query info/error display collapsible.stuconnolly2010-07-061-1/+1
| | | | | | | - Add a 'gear menu' with the option to export the current result set as either CSV or XML. (Note, that the collapsiable view currently suffers from the same BWToolKit issue as the table information pane).
* Improve tab functionality, behaviour and interaction.rowanbeentje2010-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | | PSMTabBar general improvements: - Fix a phantom tab appearing in windows a tab was just dragged out of - Add support for a new control usersSafariStyleDragging property; this causes tabs being dragged inside a tab bar to snap to the tab bar, be drawn at full transparency (also no longer darkening the placeholder position), and alters tab ordering within the tab bar to be based on the tab position rather than the mouse position, for a more Mac-like reordering feel. - Add support for dragging items onto the menubar to cancel the drag - Alter the image of the dragged tab to use a tab drawn onto a transparent background instead of snapshotting a rectangle around the tab, improving drag appearance - Allow tabs to be dragged partially off screen and keep their position instead of snapping back fully onto the screen - Improve behaviour when dragging tabs out of and back into tab bars, or into new windows, resizing the tabs in the target tab bar to improve display and no longer intermittently showing close buttons while dragging - Pull windows to the front as tabs are dragged onto their tab bars - Abstract Custom Query Editor text snippet code, adding a delegate method so code could be moved to the SP window manager. Sequel Pro tab styling improvements: - Improve and clean up tab drawing code - Draw background tabs with shadows as appropriate - Improve logic for how background tab edges are drawn, handling edges cases better (active tab in overflow menu etc) and vastly improving drawing when a tab is being dragged (respect placeholder position when stacking tabs, draw edges on either side) Sequel Pro tab behaviour improvements: - Improve show/hide tab bar interaction - Improve window positioning after creating new windows via a drag - Alter tab dragging out of the tab bar to use an image based on the full window appearance - looks better, and fixes issues like the tab bar background not being drawn while dragging
* • fixed DBViewSplitter's grabber bounds for splitView:splitView ↵Bibiko2010-06-301-1/+2
| | | | additionalEffectiveRectOfDividerAtIndex:
* • fixed tablesList's searchField width after collapsing tablesList's viewBibiko2010-06-301-0/+17
| | | | • set minimum width of right view (Structure, Content, etc.) in order to avoid irreversible GUI overlaps
* • save window's vertical divider position in spf files in order to be able ↵Bibiko2010-06-291-5/+15
| | | | | | | | | to restore it • do not save tabs or a single window if connectionController is shown • added comments • added to SPTableContent method "tablesListWidth" to retrieve tablesList's view width