aboutsummaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* • improved Bundle support; now it the passed input string will be saved as ↵Bibiko2010-11-102-52/+78
| | | | | | | temp file SP_BUNDLE_INPUT_FILE since stdin and shell vars are difficult to handle for a large amount of data • fixed AppleScript class definition since it was renamed • added support for the URL scheme 'sequel' to allow to interact with Sequel Pro eg via bash: open 'sequelpro://executequery=select%205' [not yet implemented ;)]
* • first implementation to allow the user to write and use self-definable ↵Bibiko2010-11-102-7/+151
| | | | | | | | | | | | | | | | | | 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
* • further preparations for user-definable bundle supportBibiko2010-11-102-20/+104
|
* - Alter connection details to be sent over UTF8 instead of Latin1 - this ↵rowanbeentje2010-11-101-3/+3
| | | | | | | | improves handling of special characters in passwords, improving Issue #890 - Improve code in (the unused) [MCPConnection connectWithLogin:password:host:socket:] to match latest updates in the rest of the framework - Fix creation of new users
* • further preparations for user-definable bundle supportBibiko2010-11-094-19/+75
|
* Minor dealloc change.stuconnolly2010-11-091-3/+3
|
* Comments.stuconnolly2010-11-092-2/+21
|
* • further preparations for user-definable bundle supportBibiko2010-11-095-3/+91
|
* Fix build errors.stuconnolly2010-11-092-1/+4
|
* First changes towards changing the initial connection view's favorites table ↵stuconnolly2010-11-0910-219/+458
| | | | list to an outline view in order to support grouping favorites. Future changes include creating a favorites data controller, including migrating favorites storage to their own plist in the app support directory as well as support for grouping favorites.
* • added spBundle file extensionBibiko2010-11-093-0/+5
|
* • added to SPStringAddition the method ↵Bibiko2010-11-094-91/+118
| | | | | | | runBashCommandWithEnvironment:atCurrentDirectoryPath:error which will run self as bash command and will return its result - if an error occurred it will return a NSError if desired - added the chance to pass shell environment variables and start directory for future usage in user-definable plugins written as scripts
* • removed unnecessary space inside the WHERE clause generation for ↵Bibiko2010-11-071-1/+1
| | | | filtered table content
* When exporting either a filtered or custom query result include the query in ↵stuconnolly2010-11-071-2/+8
| | | | the opening resultset tag that produced the result.
* Minor tweaks to autocompletion:rowanbeentje2010-11-062-15/+22
| | | | | | - Show the text cursor at the location future input will be inserted for clarity - Show autocompleted text faded to indicate it's temporary and may be replaced by other keypresses
* Complete the implementation of supporting MySQL's XML schema format when ↵stuconnolly2010-11-058-120/+286
| | | | exporting. Also, restore our old format and give the user the choice during export (defaults to MySQL schema). Completes the implementation of issue #840.
* • fixed table structure logic for date/time fieldsBibiko2010-11-051-2/+5
| | | | - fixes issue 886
* Fix a few issues that prevented an XML export to multiple files.stuconnolly2010-11-041-14/+30
|
* • improved completion regarding leading mathematical operatorsBibiko2010-11-041-2/+3
| | | | - this also improves alias parsing
* • improved completion regarding leading '('Bibiko2010-11-041-1/+1
| | | | - this also improves alias parsing for parameter inside functions
* • improved completion regarding leading commasBibiko2010-11-041-8/+9
| | | | | | • alias (auto-)completion - further improvements regarding detecting of aliases esp. if used just after SELECT in conjunction with commas
* • alias (auto-)completionBibiko2010-11-041-20/+25
| | | | - further improvements regarding detecting of aliases esp. if used just after SELECT
* • alias (auto-)completionBibiko2010-11-043-9/+19
| | | | - further improvements to match table names
* Start moving towards using the same XML format as MySQL uses. The inclusion ↵stuconnolly2010-11-043-27/+26
| | | | of the query executed for filtered and query results as well as the table structure when exporting entire tables still needs to be added. Part of issue #840.
* • fix for alias parsing if alias consists of only one single characterBibiko2010-11-041-1/+1
|
* • started to implement auto-completion for aliasesBibiko2010-11-043-27/+75
| | | | | - first sketch should work for 90% of all cases - fine-tuning will follow soon - this follows issue 880
* - Fix problems updating the default favourite pop following the preference ↵rowanbeentje2010-11-041-4/+4
| | | | | | | | changes - this addresses http://spbug.com/l/1774 - Fix reselection of a newly reordered favourite - When reordering favourites downwards, move them to the correct position instead of one position too low
* Rearchitect preferences, including:stuconnolly2010-11-0327-2244/+3682
| | | | | | | | | - Split each preference pane into their own controller (subclass of SPPreferencePane, which is a subclass of NSViewController). - Each preference pane controller conforms to the protocol SPPreferencePaneProtocol to allow the main preference controller to build the toolbar. - Move the preferences upgrade function to it's own file. - Add SPFontPreviewTextField which is based on Colloquy's JVFontPreviewField to allow previewing of the selected font in the tables and editor preference panes. - Update localisable strings files.
* Add a new category to SPDatabaseDocument, allowing code cleanup and moving ↵rowanbeentje2010-11-0315-495/+616
| | | | | | | | | | | 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
* • minor code cleaning and comment stuffBibiko2010-11-024-450/+475
|
* • disable "New Connection Tab" ⌘T menu item if a sheet is ordered outBibiko2010-11-012-2/+6
|
* Beforing asking SPTableView's delegate if we can right-click a particular ↵stuconnolly2010-11-011-1/+6
| | | | row, remember to check that the delegate actually implements the method we are using. Fixes an issue when right-clicking an index in the table structure view, spotted by Hans.
* • TableStructure sheet to ask for the to be used index of an ↵Bibiko2010-11-013-60/+65
| | | | | | auto_increment field now runs doc-modal not app-modal - the used strategy is to ask the user for an index whenever the user set the Extra field to 'auto_increment' and not as part of the 'addRowToDb' method
* • improved Structure editing logic to allow to choose auto_increment for ↵Bibiko2010-11-015-7/+55
| | | | | | Extra only if table has no auto_increment field set since MySQL allows only one auto column - the user has still the chance to type 'auto_increment' into the Extra manually
* • after editing the Custom Query table remain the focus on that tableBibiko2010-11-011-1/+3
|
* • CSV import now supports to import sequences of 0 and 1 into BIT fieldsBibiko2010-10-313-10/+45
| | | | | | • fixed several issues while importing a CSV file if this file contains empty lines or if a line has less columns as header - fixed issue for matching header names - fixed issue for user-defined SQL functions while importing; in such a case set the value to @"" to get the defaults
* • Custom and Content table in-cell editingBibiko2010-10-306-2/+58
| | | | - a possible given selection done inside the edited cell will be passed to the field editor sheet for convenience since one often forgets that the field editor sheet mode is active
* • fixed tiny issues for field editing in Content and Custom tableBibiko2010-10-302-3/+3
| | | | - note: for Custom table the re-entering into the edit mode was removed since for a slow reload it doesn't work, ie we've to look for a better way
* • after the field editor sheet was closed enter into the edit mode of the ↵Bibiko2010-10-303-19/+23
| | | | current table cell; this makes it rather convenient to navigate and edit cells via keyboard or mouse for each mode (field editor or incell); the sheet will be ordered out if user tries to modify the current cell if set or blob
* • enabled enter/return/tab enters the edit mode for Content and Custom ↵Bibiko2010-10-302-2/+3
| | | | | | Query table - it will call [self editColumn:0 row:[self selectedRow] withEvent:nil select:YES]; to invoke the incell edit mode, if user tries to modify it the sheet will be displayed if set; further improvements will follow
* • Custom Query and Content table editingBibiko2010-10-293-18/+21
| | | | | - fixed issue for tab navigating if the table is already in the edit mode - !! FOR SAFETY reasons disabled enter/return/tab enters the edit mode !! to avoid crashes until we found a better solution due to the non-waiting field editor sheets
* • enabled Find Panel inside Field Editor Sheet's textViewBibiko2010-10-294-13/+32
| | | | | | | | - to enable Find Panel in such a NSTextView which will be displayed in a sheet one has to do the following: * [main problem is that Find Panel validates its buttons against [[NSApp mainWindow] firstResponder] == NSTextView] * subclass the NSTextView and add the methods becomeFirstResponder and resignFirstResponder which has to return YES * since the last first responder remains the first mainWindow responder status one has to set [[NSApp mainWindow] makeFirstResponder:theTextView] directly after displaying the sheet • corrected SPUserManager message in (IBAction)removeHost:
* • removed forgotten debug logBibiko2010-10-291-1/+0
|
* • convert the Field Editor Sheet into a document-modal sheet, i.e. now the ↵Bibiko2010-10-297-196/+225
| | | | | | | | sheet doesn't block the entire app - fixed various layout issues - fixed some tiny memory leaks • fixed tiny memory leak in MCPStreamingResult
* Add missing protocol conformance to exporter delegates.stuconnolly2010-10-295-5/+5
|
* Move SPConnectionController's delegate methods to their own protocol.stuconnolly2010-10-294-14/+59
|
* • Field Editor sheetBibiko2010-10-292-13/+37
| | | | | | | | - fixed some inconsistencies regarding window - first humble trials to get rid of the Find Panel inside the editTextView -- it seems that the problem is that NSTextFinder internally validates all buttons against [[NSApp mainWindow] firstResponder] == NSTextView ; in our case the [[NSApp mainWindow] firstResponder] is the calling SPCopyTable object -- set a possible visible Find Panel to [textFinderPanel setWorksWhenModal:YES] inside the modal session ; by doing so the controls are available via keyboard and mouse but NOT the buttons -- work on it will be continued
* • try to fix crash issue 1748Bibiko2010-10-291-6/+8
| | | | | - it seems that isKindOfClass: method to check length and data type of the csv source while creating a new table failed for empty cells or NULL; I tried to catch these issues - has to be checked further
* Tidy up SPTableStructure including moving all the private field type ↵stuconnolly2010-10-285-177/+312
| | | | validation methods to their own class, SPTableFieldValidation.
* Add SPDefaultPasteboardDragType constant.stuconnolly2010-10-286-25/+21
|