aboutsummaryrefslogtreecommitdiffstats
path: root/Frameworks
Commit message (Collapse)AuthorAgeFilesLines
* - Alter connection details to be sent over UTF8 instead of Latin1 - this ↵rowanbeentje2010-11-101-16/+33
| | | | | | | | 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
* - Improve query disconnection/reconnection while pings or queries are still ↵rowanbeentje2010-11-031-3/+28
| | | | active or cleaning up
* • convert the Field Editor Sheet into a document-modal sheet, i.e. now the ↵Bibiko2010-10-291-5/+2
| | | | | | | | sheet doesn't block the entire app - fixed various layout issues - fixed some tiny memory leaks • fixed tiny memory leak in MCPStreamingResult
* • if a geometry field is empty '' return @"" instead of Header Error since ↵Bibiko2010-10-251-2/+2
| | | | mysql return that special value as X''
* • CSV Import Field Mapper SheetBibiko2010-10-231-1/+1
| | | | | - added the possibility to apply any sql function while importing set via "Add value or expression" sheet eg concat('$2', '$1', length('$3')) whereby $1 $2 $3 are the placeholder for the csv file columns 1 2 3 [first column starts with 1] • fixed ' escaping issue in MCPConnection
* Split MCPConnection's delegate methods into it's own protocol.stuconnolly2010-10-206-114/+152
|
* • enabled SRID editing of spatial fields via WKT stringBibiko2010-10-091-12/+21
| | | | | - the SRID value will be appended at the WKT string like POINT(1 1),101 which will be transformed to GeomFromText('POINT(1 1)',101) on the fly - otherwise the SRID information will be deleted after editing a geometry field
* • implemented geometrycollection thumbnail images as tooltips for spatial ↵Bibiko2010-10-091-123/+148
| | | | fields
* • some further work on displaying geometry fields as imageBibiko2010-10-081-59/+90
|
* • some further work on displaying geometry fields as imageBibiko2010-10-082-0/+299
| | | | - to enable the very first approach simply uncomment code in SPTableContent tableView:toolTipForCell:rect:tableColumn:row:mouseLocation: for MCPGeometryData class
* • finished spatial field supportBibiko2010-10-082-11/+213
| | | | | - added missing MULTIPOLYGON and GEOMETRYCOLLECTION support
* • spatial field supportBibiko2010-10-071-29/+64
| | | | | - fixed issue while editing geometry data in Content View; once a geometry field was edited it will be stored as NSString, if not it keeps a MCPGeometryData - some code cosmetics and commenting
* • enhanced spatial supportBibiko2010-10-074-10/+145
| | | | | - implemented native routine to immediate AsText() [MULTIPOLYGON and GEOMETRYCOLLECTION are not yet ready] - enabled editing of spatial data in Content View for tables and views and in Custom Query via wkt strings which will be saved automatically as wkb by using GeomFromText()
* • removed approach to query spatial data by using AsText() since it breaks ↵Bibiko2010-10-075-165/+287
| | | | | | | some column definition approaches - instead introduced a new MCPKit class MCPGeometryData - up to now the spatial data will be displayed as hex bytes - work on it will come soon
* • added basic support for spatial dataBibiko2010-10-011-0/+4
| | | | | | - while querying and writing back make usage of AsText() and GeomFromText() to allow to edit each GEOMETRY field as text simple string - works only in Content Tab so far - the spatial data are not yet editable inside views
* - Make the initial maximum packet fetch fail silently if it fails, ↵rowanbeentje2010-09-301-10/+4
| | | | defaulting to the default MySQL max packet size (1MB). This improves compatibility with MySQL-like systems like sphinx, addressing Issue #844.
* Consolidate and improve ping code:rowanbeentje2010-09-252-171/+153
| | | | | | | | - Foreground and keepalive pings now use the same code, which has been tidied and improved - Global variables are no longer incorrectly shared across multiple instances - If a ping thread blocks in a state where pthread_cancel no longer functions, the connection is assumed to have failed (network issues etc) This should further improve MySQL crashes linked to pings, and will hopefully address Issue #830. Also update localizable strings
* - A further attempt to improve MySQL library crashes by improving threaded ↵rowanbeentje2010-09-201-1/+33
| | | | | | | pings. This returns to an old approach by attempting to use interrupt signals to force a hung network read to close; however, the signal is now sent by the watchdog thread in a thread-safe fashion to specifically target the locking thread. If this approach works we'll probably consolidate the ping code to use it throughout. - Update localizable strings
* - Clean up warnings when building with GCCrowanbeentje2010-09-183-10/+15
|
* - Fix crashes triggered by connection unlocking after disconnection; this ↵rowanbeentje2010-09-181-2/+2
| | | | addresses http://spbug.com/l/1269 and possibly improves the vio_delete crashes
* - Consolidate structure and content row editing cancellation code into a ↵rowanbeentje2010-09-161-1/+0
| | | | | | | | | | single function in each class - Tweak NSTableView subclasses to catch presses of the Escape key and ask the class to abort row editing. This makes Esc key behaviour much more consistent, and allows cancelling/reverting edits made via the mouse (eg checkboxes, dropdowns, enums), or after the cell editing has finished but the row is still selected. - Remove debug - Update localisable strings
* More work on tab creation target and actionavenjamin2010-09-152-6/+40
|
* Add ability to double click the empty area of the tab bar to create a new tab.avenjamin2010-09-152-40/+60
| | | | - Slightly limited in that the addTabButton's target and action must be set for it to work.
* • (re?)enabled BIT field editing esp. for field types like BIT(9) or ↵Bibiko2010-09-141-35/+34
| | | | | | | BIT(63) since the old _int2bin routine didn't work because we're dealing with a char* containing bytes if BIT(>8) - also for views and CustomQuery editing • started to clean up (VAR)BINARY editing (work in progress)
* - Implement support for MySQL over SSL for both TCP/IP and Socket ↵rowanbeentje2010-09-137-7/+108
| | | | | | | | | | 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.
* Update background keepalive pings:rowanbeentje2010-09-031-11/+33
| | | | | | | - Fully lock the connection for background pings; this may slow down queries after connection disuse (when the keepalive is still active/blocked), but strengens thread safety to hopefully fix vio_delete crashes - Fix pthread_cancel use; previously pthread_cancel after a keepalive may have resulted in cancelling unrelated threads where the thread ID was reused This should increase stability and improve program consistency.
* - Add connection checks before uses of mysql_hex_string and ↵rowanbeentje2010-08-311-16/+51
| | | | mysql_real_escape_string (which require an active connection). This addresses http://spbug.com/l/54 .
* - Attempt more status checking before closing the MySQL connection, in an ↵rowanbeentje2010-08-301-3/+3
| | | | | | | attempt to further address http://spbug.com/l/13 - Update localisable strings
* - Improve background thread reconnect interaction with the interface; if ↵rowanbeentje2010-08-291-3/+10
| | | | the application is in a modal state, the background thread waits. This improves interface behaviour on multiple SSH disconnections after sleep/wake (finishing Issue #798) and also disconnections while the interface is modally locked (eg editing text/blobs).
* Encoding changes and improvements, particularly to increase compatibility ↵rowanbeentje2010-08-252-74/+180
| | | | | | | | | | | 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 SP more robust against issues which are caused by different table ↵Bibiko2010-08-151-0/+4
| | | | name encodings
* • fixed: display tables and views correctly in auto-completion list and in ↵Bibiko2010-08-151-1/+1
| | | | the Navigator
* Improve tab dragging:rowanbeentje2010-08-031-5/+3
| | | | | | - 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
* - Add support for automatically converting \r and \r\n linebreaks in query ↵rowanbeentje2010-07-291-0/+52
| | | | | | | | syntax to \n. This addresses Issue #652. - Clean up SPSQLParser, and use a few more CFString methods to avoid obj-c messaging in loops - When importing SQL using autodetect, perform a manual SET NAMES if possible to cope with poorly-exported files.
* - Fix positioning bug when using Import From Clipboardrowanbeentje2010-07-258-0/+52
| | | | | - Add controllable encoding support when importing CSV and SQL files, including a new default "Autodetect" option. Add UniversalDetector framework to support encoding autodetection. This should address Issue #720.
* Add the BWToolkit.ibplugin to the Resources directory of ↵rowanbeentje2010-07-21200-0/+1428
| | | | | | | | | | BWToolkitFramework.framework - Removed via builds scripts, so not included in the final product - Allows loading .xibs using BWToolkit items without purposefully installing the .ibplugin beforehand - Allows us to update the .ibplugin as we update the framework versions, to keep them in sync Should allow people to load the Sequel Pro .xcodeproj and start building it more easily.
* Tab tweaks:rowanbeentje2010-07-201-3/+3
| | | | | | | | - 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.
* - Clean up SPDataImport, removing unused methods and cleaning up order and ↵rowanbeentje2010-07-192-0/+15
| | | | | | | | | methods - Improve error handling when the connecting dies during import (previous the sheet would stay open) - Fix localised strings for error messages (label and text the wrong way round) - Improve comments
* Improve handling of BIT fields, including:stuconnolly2010-07-151-3/+32
| | | | | | | | | - Exporting BIT fields properly in SQL dumps using b'x' notation. - Properly handling editing of BIT fields in both the content and custom query results views. - Correctly display BIT fields in the content view, where binary values are zero-padded to the specified length of the field. (Note, that the new BIT handling logic has only been added to MCPKit's MCPStreamingResult and MCPResult as the latter does not keep a record of the field's length which the new functionality depends on. Needs to be discussed).
* - Clean up automatic reconnection coderowanbeentje2010-07-142-27/+50
| | | | | | - Allow keepalive pings to perform automatic reconnections after a few consecutive failures - Fix a number of keepalive ping bugs, including compatibility with the new threaded connection methods and reconnection timing issues causing keepalive pings to not fire correctly
* Improve handling of network drops, including a new automatic reconnection ↵rowanbeentje2010-07-132-7/+71
| | | | | | | | | | | | | attempt, as well as improved handling of networks not present. This addresses Issue #657. In MCPKit: - Disable MySQL automatic reconnection, and add our own reconnection code for greater consistency - If no network is available, delay reconnects by a short period to allow the network to come back up - Improved handling of proxy disconnects In SPSSHTunnel: - Improved handling of SSH tunnel disconnects, improving automatic reconnection via MCPKit and fixing potential memory/logic tramping. Also remove the "Retry" button from the Disconnected dialog, leaving only the choices "Reconnect" or "Disconnect".
* Finalise Sequel Pro tab style:rowanbeentje2010-07-128-48/+45
| | | | | | | | - Add custom Safari-style tab close buttons - Tweak margins, especially on the right when a progress indicator is active to avoid doubled margins - Fix tab bar rendering when using font/help etc windows Also update the .strings files to match latest changes
* - Add default socket locations for Mac OS X Server and XAMPP to default ↵rowanbeentje2010-07-081-4/+6
| | | | | | | socket search paths - Reorder socket search paths to favour OS X locations
* Tab tweaks:rowanbeentje2010-07-052-2/+7
| | | | | | - Improve hideForSingleTab: settings changes to only update the tab bar if only one tab exists; fixes tab sizing on drag start caused by placeholder cell/update tab bar display conflict - Improve tab drag location detection, particularly when dragging tabs into a new tab bar; drags into new tab bars now respond quickly and correctly
* - Fix tab bars in windows with only one tab not disappearing after dragging ↵rowanbeentje2010-07-031-4/+4
| | | | | | | a tab past/through them, by using PSMTabBar notifications instead of our own notifications; also fix PSMTabBar notification ordering. - When a tab drag starts, reorder all windows in front of other applications
* - Further improve casting for dist buildsrowanbeentje2010-07-011-1/+1
|
* - Update localisable stringsrowanbeentje2010-06-302-3/+1
| | | | | | - Fix a casting issue preventing release/dist builds - Remove a line of old debug
* Improve tab functionality, behaviour and interaction.rowanbeentje2010-06-3010-153/+380
| | | | | | | | | | | | | | | | | | | | | 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
* Improved calling of stored procedures:jakob2010-06-302-2/+31
| | | | | | | - added the CLIENT_MULTI_RESULTS flag to the connection flags - automatically discard all remaining results when unlocking the connection This is not a perfect solution, but will improve usability a lot for those who often call stored procedures. Sequel Pro still doesn't support multiple results -- it will show only the first and silently discard all the remaining ones.
* • made SP more robust against fast closing of tabs and windowsBibiko2010-06-291-2/+2
| | | | • setHideForSingleTab:YES after opening spfs session