aboutsummaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* • CMTextView's colours are set via observer, live changed in editable ↵Bibiko2010-01-309-85/+130
| | | | | | | | textviews • added Preference setting "Table font" in "Table" pane to set the table font/size for all result tables (Content, Custom Query) • added to SPTableView the method setFont: • fixed the initialisation of vars in CMTextView (fixes the displaying of create syntax)
* Rework CMCopyTable copy functionality and related code:rowanbeentje2010-01-304-200/+211
| | | | | | | | | | - Reverse the effects of the r1664/r1690 combination, restoring the original link from CMCopyTable to the underlying data source - Adapt the code to retrieve information from the new SPDataStorage; update SPDataStorage as necessary if underlying data changes - Refactor and speed up various checks and loops for speed and logic improvements - Ensure the binary-encoded TEXT data is hex encoded rather than retrieved as "<123ABC 123ABC...>" NSData representations - Fix some memory leaks This resolves Issue #533 and the original "Copy as SQL" issue
* • suppress the display of table cell tooltips if TableDocument isWorking ↵Bibiko2010-01-302-2/+2
| | | | to avoid unstable tooltip status
* • added observer for all Query Editor colors to avoid initialising colors ↵Bibiko2010-01-303-96/+139
| | | | | | each time for syntax highlighting which speed it up a bit; now if one changes a color the changes are done in view after a delay of 0.1 s if text buffer < 100k for speed reasons • fixed: before highlighting the current query ensure that the text storage is in a stable and clean status; otherwise SP crashes for ranges which aren't rendered yet
* • current query highlighting is done now in drawRect: (much more faster ↵Bibiko2010-01-304-67/+158
| | | | | | | | and thanks to Jakob) • improved snippet background drawings esp. for multiple lines (commit on behalf of Jakob) • simplified code for changing and setting background colors and Pref setting for highlight current query by observers (much more faster)
* - Bugfix: when the number of table columns for a content result set no ↵rowanbeentje2010-01-301-3/+18
| | | | longer matched the internal table representation, table storage exceptions would occur. Additional checks are now made against the column count; if a content result set is retrieved with an unexpected number of columns, the result set is discarded and a full table refresh is triggered to restore the state.
* • bound three finger multi-touch right/left swipe event to go back/forward ↵Bibiko2010-01-291-0/+15
| | | | in table history
* • text macro logicBibiko2010-01-292-20/+31
| | | | | | | - improved highlighting of multi-line snippets (many thanks to jabakobob for this patch!) - some tiny cosmetics • error message highlighting in Custom Query Editor - removed near message length checking to be larger than 2, not necessary
* • further tiny improvements to avoid exceptional cases while highlighting ↵Bibiko2010-01-292-4/+20
| | | | | | | | | the erroneous query - added check for near message length - make an intersection with the buffer range before selecting • text macro - each selection of a snippet breaks the undo buffer - note: undo behaviour while text macro session is active needs to be solved ⇢ work in progress
* • fixed some issues and improved the text macro behaviourBibiko2010-01-292-63/+61
|
* • text macro improvementsBibiko2010-01-281-5/+44
| | | | | | | | - added dynamically set SP variables $SP_SELECTED_TABLE and $SP_SELECTED_DATABASE available in each ${x:…} snippet to allow to create a query fav à la: SELECT ${1:$SP_SELECTED_TABLE.} FROM ${1:$SP_SELECTED_TABLE} whereby for the first snippet one can press ESC to insert one or by holding down the CTRL key while inserting more field names from the current table - improved snippet range detection for current caret position - reduced the border width of snippet highlighting and changed slightly the colour for the current selected snippet
* * removed a stray NSLog()jakob2010-01-281-3/+3
| | | | * changed name of closeDocumentWindowAndDisconnect-selector again...
* * fixed typo that prevented the document window from closing when choosing ↵jakob2010-01-282-4/+5
| | | | | | 'disconnect' in the connection error dialog * improved some comments
* - removed two occurances of runModalForWindow: when asking questions for the ↵jakob2010-01-282-57/+89
| | | | SSH-helper (see #357)
* • for [CMTextView selectLineNumber:…] added safety-check for lineNumber < 1Bibiko2010-01-282-8/+14
| | | | | | | | • error message highlighting in CustomQuery - check for error ID 1064 before trying to select the erroneous line given as '… at line x' (this solves the issue that other error messages could end by a number) - improved regexp to get rid of localized error messages for parsing the erroneous line number (thanks to Jakob) - look the last number in a string - improved regexp to parse for the 'near message' for localized error messages
* • ESC completionBibiko2010-01-281-15/+9
| | | | - speed up gathering data by avoiding the check for uniqueness if not necessary, make usage of NSMutableSet to collect unique data automatically, and rely on NSSubTextStorage to get all words from the text buffer (if text buffer size less than 6MB)
* * renaming a table/view/proc/func now doesn't open a sheet anymorejakob2010-01-282-121/+113
| | | | | * table name checks now correctly consider only functions when working with functions * when an empty table name is entered, the change is ignored (like in finder)
* • SPQueryFavoriteManagerBibiko2010-01-281-1/+1
| | | | | - changed regex for validation of the entered tab trigger to "(?i)[^[:L:]0-9]+" since "(?i)[^\\w0-9]+" doesn't work if SP runs in 32bit mode. - It seems that the new RegexKitLite has a problem to expand \w correctly if it is used like [^\w]
* * Fixed #484 (renaming tables where only the case changed)jakob2010-01-281-214/+184
| | | | * refactored the table/proc renaming code a bit
* • Query Favorite text macroBibiko2010-01-271-19/+24
| | | | | | - fixed bug for deletion nested snippet ranges after editing - further improvement of the graphical representation - selected snippet will be drawn differently
* • improved the graphical representation of text macro snippetsBibiko2010-01-273-7/+22
|
* • query favorite snippet session (text macro)Bibiko2010-01-271-1/+49
| | | | | - draw a bezier path around defined snippets to group them graphically (test phase) - allow the user to go into a snippet by using the mouse
* - Fix SSH threads (and connections) which were never cleaned up or closed, ↵rowanbeentje2010-01-272-3/+4
| | | | | | | probably as a result of r1709 - Improve SSH and object cleanup, especially for cases where the connection drops, to ensure the connection proxy is cleaned up and all memory released
* - Ensure the main toolbar items aren't selectable during a task to prevent ↵rowanbeentje2010-01-261-0/+1
| | | | odd update issues
* • corrected regex to trigger table/db reload after executing a query in ↵Bibiko2010-01-261-2/+3
| | | | the Query Editor
* • query favorite snippet sessionBibiko2010-01-261-1/+3
| | | | - ⇧⇥ on the first snippet won't end the snippet session
* • allow user to define nested snippets inside of the query favoritesBibiko2010-01-261-252/+325
| | | | | | - eg: SELECT ${1:${2:`mysql`.`user`.} AS ${5:a}} FROM ${7:`mysql`.`user`} ${9:WHERE } • improvements of the general control of the a snippet session • code cosmetics
* • further improvements to allow to insert programmable query favorites (as ↵Bibiko2010-01-254-51/+153
| | | | | | | | snippets) - not yet finished but workable eg fav: "SELECT ${1:`mysql`.`user`.} FROM ${2:`mysql`.`user`} ${3:WHERE}" bound to tab trigger "sel"; then write "sel" press ⇥ to expand, change `mysql`.`user`. or press ESC to insert a field, press ⇥ to select `mysql`.`user`to change if desired, etc. or press ⇧⇥ to select prev. snippet • completion can now be invoked via selection - some other tiny improvements
* • added possibility to add a query favorite by user-definable alphanumeric ↵Bibiko2010-01-246-9/+196
| | | | | | | | | tab trigger; eg if tab trigger is set to "sel" sel⇥ will insert the first query which has the defined the tab trigger • preparations to insert programmable query favorites - eg "SELECT ${*} FROM ${Table}" -- after insertion "SELECT * FROM Table" the '*' is highlighted to change, press ⇥ to select the next snippet 'Table'; ⇧⇥ selects the previous snippet; the snippet selection follows the user input - Note: not yet active
* Improve Disconnection on connection loss:rowanbeentje2010-01-244-21/+45
| | | | | | | | | - Set error strings on MCPConnection on user disconnect to allow existing error chcking to catch the state - Improve close behaviour from threads - Improve window close behaviour and appearance - Add new checks for disconnection in one or two crash-prone locations This addresses Issue #531, one of Issue #532, one of Issue #539, and probable reported crashes on Issue #541.
* Fix comment typo as a result of recent change.stuconnolly2010-01-231-1/+1
|
* • bound Custom Query gear menu item "Completion List" (CTRL key is ↵Bibiko2010-01-222-14/+15
| | | | | | | recognized) • use regexp to get a list of current words and reduced that method to invoked if the text buffer is less than 60KB to speed up the completion (it's more likely that the user wants to complete a sql related term) • some code cosmetics
* Restore default behaviour of bringing the most recent window to the front ↵stuconnolly2010-01-221-1/+3
| | | | when clicking the dock icon.
* - When exporting CSVs containing linebreaks, no longer escape those ↵rowanbeentje2010-01-221-7/+5
| | | | linebreaks if they are within a quoted cell, improving compatibility with other applications (notably Excel)
* • updated/added syntax highlighting tokens and completion suggestionsBibiko2010-01-212-8/+25
|
* Trim leading and trailing whitespace and newlines from the host and SSH host ↵stuconnolly2010-01-211-0/+6
| | | | input fields in the connection view. Fixes issue #545.
* • tiny undo improvement for completionBibiko2010-01-211-0/+1
|
* • added call to update the completion list to neuralgic placesBibiko2010-01-214-2/+45
| | | | - next steps to minimize the traffic - ie manipulating the dict directly without querying - follows
* • avoid updating TablesList for queries in Custom Query Editor à la "SHOW ↵Bibiko2010-01-211-1/+1
| | | | CREATE …"
* • completionBibiko2010-01-213-41/+79
| | | | | | | - CTRL+ESC invokes the fuzzy search completion; eg: i_s.pcss. will show all fields from `information_schema`.`PROCESSLIST`. if no other matches are found; the search is a regexp ".*?i.*?_.*?s.*?\. …" etc. by using RegexKitLite which is much more faster than NSPredicate and can handle long regexps - improved type display: if a type definition contains a , split it to avoid splitting of the tokenFields - while insertion of an item and holding down the CTRL key the list keeps open to allow to insert more suggestions separated by ", " from the current list (very useful if one wants to insert only selected fields from a table)
* - Correctly escape field names when creating foreign keys, and escape the ↵rowanbeentje2010-01-211-3/+3
| | | | database name when looking up tables to add to the dropdown. Addresses Issue #537.
* - Fix an incorrect bounds check in the data storage class, fixing crashes ↵rowanbeentje2010-01-211-1/+1
| | | | when removing records in a range - seen in Issue #542.
* • completion enhancementsBibiko2010-01-214-38/+147
| | | | | | | - TAB and mouse double-click inserts suggestion - field type info for 'set' and 'enum' is fixed; in addition show an arrow to show the definition - preparations for fuzzy search completion (not yet active) - reduced the font size by 1pt to avoid truncating
* Address Issue #546 (format string bugs):rowanbeentje2010-01-2015-79/+176
| | | | | | - Fix incorrect uses of [NSString stringWithFormat:] with preconstructed strings and no arguments in SPUserManager - To fix display issues, replace NSBeginAlertSheet (which includes automatic sprintf expansion of the message) with a safely-escaped SPBeginAlertSheet in many files
* • completionBibiko2010-01-203-102/+74
| | | | | | | | - auto-completes the common prefix of all suggestions - makes typing much more faster - “ ” as allowed character to be typed for narrow-down the list is set automatically if at least one suggestion contains a “ ” - fixed two tiny memory leaks - fixed detecting db/table/field names containing ` as char - removed ⇥ binding to complete the common prefix since it's done automatically
* • improved completion for Query Editor bound to ESCBibiko2010-01-194-258/+336
| | | | | | | | | | | | | | | - up to now for MySQL >4 available - implemented by narrow-down, i.e. write/delete to narrow-down/expand the suggestion list - ↩ inserts the suggestion, if suggestion is db/table/field/proc/func name inserts backtick quoted - for a db/table/field/proc/func name press ⇧↩ to insert à la `db`.`table`.`field` relatively to the current selected db - context-sensitive to leading db. or table. or db.table. or .table if uniquely identifiable - mysql and information_schema if available and not selected appear at the end - `|` | := caret shows the current table's fields if any or the current selected db if selected at the top; suggestions are hierarchically arranged by db, table; easiest way to insert a table/field name - e.g. type `max_c` and press ⇧↩ to insert `mysql`.`user`.`max_connections` - for table/field name suggestions press at the right column to get the path info • F5 invokes completion based on spell checker and selected language - since it is not possible to auto-detect if the user wants to complete MySQL statements or prose text Note: GUI needs improvements; completion should be tested exhaustively
* • added missing PROCEDURE ANALYSE to syntax highlightingBibiko2010-01-191-2/+2
|
* - Remove some unintentionally committed debugrowanbeentje2010-01-181-2/+0
|
* Add a new SPDataStorage class, and use it in TableContent and CustomQuery:rowanbeentje2010-01-178-106/+621
| | | | | | | | - SPDataStorage is a class designed for a 2D array of fixed-width data storage, replacing the current method of nested NSMutableArrays. NSFastEnumerator compatible. - Overall memory overhead for table storage in memory reduced by 1.2-1.4x - this almost gains back the large memory jump seen for 64 bit - Some operations (adding data, retrieving a single cell's data) are faster than nested NSMutableArrays; some operations (requesting a row as an NSArray) are slightly slower as the data needs to be converted, but overall result is a slight speed gain. (- Could be used in future to store SQL results in C datatypes, avoiding very high NSObject overhead for numbers and short strings)
* - removed F5 completion debug outputBibiko2010-01-152-17/+18
| | | | - fixed issue while ‘normal’ completion after “table.” completion