aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPExportController.h
Commit message (Collapse)AuthorAgeFilesLines
* Change how the custom filename pattern in export dialog is handledMax2015-10-121-0/+3
| | | | | | | | Namely: * They were previously stored in the users locale. Now they are stored using a language independent id * Just typing a token in your language will no longer work. If you want to manually type a token use: {host}, {database}, and so on… (all in English) * Copy & Paste of tokens will use the new form, too (so a user running SP in English can simply share a custom pattern with a user running SP in German) * The localized token names can now contain spaces
* Rename a variable that was desperately trying to cause coding errorsMax2015-10-101-1/+1
|
* Update URL in source file header to point to GitHub.Stuart Connolly2014-01-261-1/+1
|
* Remove SVN property placeholder.Stuart Connolly2014-01-261-2/+0
|
* - Remove all BWToolKit elements from the ExportDialog, ↵rowanbeentje2012-08-021-2/+1
| | | | DatabaseServerVariables, Navigator, and IndexesView nibs, replacing with SPSplitView and standard equivalents
* Change Sequel Pro's license from GPL (version 2) to MIT.stuconnolly2012-07-251-20/+27
|
* Export tidy up.stuconnolly2012-05-251-2/+2
|
* Remove unused IBOutlet.stuconnolly2012-04-011-9/+12
|
* Improve the availability of the table name token on the custom export ↵stuconnolly2012-04-011-2/+0
| | | | | | | | | | filename selection. It's now no longer available during the following situations: - Exporting more than one table during an SQL export - Exporting more than one table during a CSV or XML, but only if the export to multiple files is not checked
* Warning: this branch commit is largely untested, and known to throw ↵rowanbeentje2012-02-231-7/+7
| | | | | | | | | | | | exceptions as database structure retrieval is currently missing! Further work on SPMySQLFramework integration: - Improve SPMySQL framework build settings including correct ppc builds and a Distribution configuration for the build distributions to match - Add new convenience querying and result methods to the framework - Amend Sequel Pro source to use the new SPMySQL.framework methods everywhere, replacing MCPKit methods where they differ and improving some functions - Remove MCPKit from the source - Fix a number of warnings on Release-style builds
* - Prevent export and indexes controller awakeFromNib: routines from being ↵rowanbeentje2011-08-251-0/+5
| | | | | | | run multiple times - Fix crashes and exceptions when using "Use monospaced fonts" or "Display vertical grid lines" preferences after closing at least one window
* Add the option to the SQL export view as to whether or not the ↵stuconnolly2011-07-101-0/+1
| | | | AUTO_INCREMENT value on a table's structure is included. Defaults to not included. Implements issue #1064.
* Implement a large number of minor fixes and improvements to export ↵rowanbeentje2011-05-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | functionality, including an overhaul of filename NSTokenField functionality: - Improve the NSTokenField used for export filenames: only tokenise reserved tokens, don't tokenise reserved words which are parts of other words, allow the comma to be used, update tokenisation during typing, and prevent whitespace triming. - Save the last selected export path, and make the path selection button open a dialog to the selected directory - Save the export filename and restore on future uses of the export dialog (only if the name contains placeholder tokens, so one-off export names aren't saved) - If the advanced options are collapsed, display a summary of the selected options next to the disclosure triangle - Display a small warning in the corner of the window if the export file cannot be imported into Sequel Pro, to warn those people attempting to back up their databases in XML - Clarify and improve the export warning dialog if files already exist or could not be created; make the simpler file-exists cases reflect OS-style dialogs, alter wording based on the number of files that failed and how they failed, and only show the "replace" or "skip" type buttons if it makes sense to do so. - Fix a mutation-during-enumeration error when skipping files - If "Cancel" is chosen in the export file creation replace/error dialog, redisplay the export sheet with the previous selection still active - Add support for year, month and day tokens in the filename token list - Don't allow blank custom filenames, before or after tokenisation, as this can cause problems - instead fall back to default filenames in those cases - Only append the extension if one hasn't been set - on all export formats, extending r3284 - If exporting to multiple files option is enabled but only one table is selected, supply that table name for filename table tokens - Update the progress bar to reflect update progress when exporting CSV data - Fix a bug causing exports to hang if the low-memory advanced option was set and content was selected to export and any empty tables were encountered - Save memory use and compression advanced export settings across sessions - Update localisable strings
* - Fix more warningsrowanbeentje2011-03-141-0/+2
|
* Apply a tweaked version of a patch by Aaron Linville ↵rowanbeentje2010-12-051-0/+8
| | | | | | | | | | (http://www.linville.org/) to handle table linking in .dot exports on case-insensitive servers: - Adds a new checkbox on the .dot export interface controlling the case sensitivty of link handling - Improve .dot export to use lowercase link references when the option is enabled, fixing .dot exports of table relations of table names with uppercase characters on case-insensitive servers - Check the server's case-sensitivity setting and use that to control the checkbox when using the export interface to select .dot export This addresses Issue #920.
* Complete the implementation of supporting MySQL's XML schema format when ↵stuconnolly2010-11-051-0/+4
| | | | exporting. Also, restore our old format and give the user the choice during export (defaults to MySQL schema). Completes the implementation of issue #840.
* - Split out all of SPExportController's delegate methods to their own category.stuconnolly2010-10-241-6/+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
|
* Encoding changes and improvements, particularly to increase compatibility ↵rowanbeentje2010-08-251-2/+2
| | | | | | | | | | | 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
* Revert the change made in r2536 which prevented the use of exporting the ↵stuconnolly2010-08-171-3/+1
| | | | selected tables. We'll need to find another way to fix the original issue of not showing procs and functions in CSV and XML exports as well as preserving the user's selection when switching between export types.
* Various export enhancements and fixes, including:stuconnolly2010-08-121-8/+3
| | | | | | | | | | | | - A new SPExportFile class, providing an abstract interface to the handling and creation of export files. - Enables the centralisation of all file/file handle creation logic as well as better support for handling situations where files fail to be created, including files that already exist at the export location. - New SPExportFileHandleStatus constants to support the reporting of file handle creation. - Update SPExporter to use the new file class instead of directly using an instance of SPFileHandle. - Add the necessary logic to deal with files that already exist on disk, by providing the user with 3 options: cancel the export, ignore the files in question or overwrite them. We might want to enhance this to make new files sequential in name to prevent overwriting. Fixes issue #742. - New SPExportFileUtilities category, which centralises all the logic relating to writing export type headers as well as dealing with problems occurred during file/file handle creation. - Improve feedback given on the export progress sheet during export initialisation. - Tidy up and improve comments.
* Tidy up SPExportController by splitting out all filename related methods to ↵stuconnolly2010-07-251-3/+0
| | | | a new category SPExportFilenameUtilities.
* Make the export dialog a little smarter with regard to the current context. ↵stuconnolly2010-07-251-0/+2
| | | | | | | | | | | 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.
* In addition to Gzip compression support when exporting SQL dumps add the ↵stuconnolly2010-07-241-1/+2
| | | | | | | | | | | | | | | | | | ability to use Bzip2 compression. Other changes include: + Enable the use of export compression (Gzip and Bzip2) for all export formats. + Move the compression options in the export dialog to the 'Advanced' export settings view. + Simplify the setting of common exporter properties (e.g. the connection, use of compression). + Fix a potential memory leak in the dot exporter. + Update the data importer to recognise Bzip2 compressed files. + Fix several display issues on export dialog. + Restore the default .csv file extension of CSV exports. + Correctly update the default export filename when selecting a output compression type. The addition of Bzip2 compression support implements issue #688.
* Make the 'Export' menu item in the 'File' menu behave more like the export ↵stuconnolly2010-07-151-1/+0
| | | | 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.
* - Make the query info/error display collapsible.stuconnolly2010-07-061-1/+2
| | | | | | | - 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).
* Simplify the ease at which export filename tokens can be localised as well ↵stuconnolly2010-07-051-5/+0
| | | | as how they are updated with respect to the selected export type.
* Fix the behaviour of the export dialog when toggling the customise filename ↵stuconnolly2010-07-021-1/+2
| | | | and advanced options views.
* - Fix SQLexporter known issue from r2311, and fix compilation against the ↵rowanbeentje2010-06-131-2/+1
| | | | 10.5 SDK
* Exporter ehancements:stuconnolly2010-06-131-8/+7
| | | | | | | - Make sure the export button is disabled when the global structure, content and drop options are enabled, but the desellect all button is checked. - Replace the export dialog toolbar with a tabview, reducing the dialogs overall size. - Add the option to SQL dumps to specify when a new INSERT statement should be created, either after a certain amount of data or after a specific number of rows (defaults to every 250KiB). Known issue: incorrect VALUES clause generation of last row when creating a new INSERT after a specific number of rows.
* Exporter enhancements, including:stuconnolly2010-06-091-5/+10
| | | | | | | | - Move the custom filename options view to a drop down view on the main exporter dialog. - Change the export data source matrix to a popup button. - Fix the export button being enabled when no tables are selected to be exported. - Various interface validation fixes.
* When cancelling an export remove all files already written to disk.stuconnolly2010-06-071-0/+5
|
* A number of exporter improvements:rowanbeentje2010-06-071-2/+2
| | | | | | | | | | | | - Improve interface validation on the SQL view, including fixing no-content toggling - Fix the export of views to correctly construct placeholder tables and fix view syntax export (this addresses Issue #707) - Fix logic controlling Stored Procedure and Function export - fix hangs and allow correct export - Handle permission errors when retrieving Stored Pro/Function syntax - Improve export of linebreaks in CSV quoted cells for improved Excel compatibility - SQL export now retrieves table syntax as it progresses through the tables - more accurate progress bar and removes initial pause when exporting lots of tables - Alter filename construction to use centralised filename string: fixes end export Growl notification - Improve dump comments
* On the XML export dialog add the option to specify the placeholder of ↵stuconnolly2010-06-061-1/+4
| | | | exported NULL values. Fixes issue #718.
* Merge export redesign branch back into trunk.stuconnolly2010-05-241-73/+187
| | | | | | | | | | | | | | | | | | | | | Includes a completely redesign approach to all export data types based on the use of NSOperation subclasses. CSV, SQL, XML and dot export types are currently functional, while the source files for PDF and HTML export types exist they are to be implemented, but are currently hidden from the interface. Also includes the following: - Completely redesigned export interface. - The ability to customize CSV NULL values. - The ability to specify whether the UTF-8 BOM should be used in SQL dumps. - The ability to specify whether BLOB fields are output as hex or plain text during SQL dumps. Defaults to hex. - Exporting currently selected tables via the tables list context menu. Outstanding issues: - Not all progress indicators for all export types are functional (or functioning correctly). - A few issues related to the introduction of only exporting the content and create and drop syntax of specific tables during SQL dumps. Needs some serious testing and benchmarking to ensure it replicates the current export functionality.
* Initial implementation of tabs:rowanbeentje2010-05-231-2/+3
| | | | | | | | - Addition of PSMTabBar framework - Rework away from a document-based TableDocument - Support tabs throughout the application - Add menu items for creating tabs, and add support for dragging tabs to different windows
* Minor export work.stuconnolly2009-10-261-0/+4
|
* Remove the use of the logger in debugging the new export redesign as it's ↵stuconnolly2009-10-101-2/+0
| | | | creating the log file on every launch.
* Yet more export redesign work. Export is now currently working for single ↵stuconnolly2009-10-091-0/+5
| | | | tables, but produces deadlock errors when attempting to export multiple tables as a result of the initial streaming request for the tables' data all being done from the same thread. To resolve this each of the streaming requests will be made concurrently in separate operations and once the data is available a new concurrent operation (SPExporter subclass instance) will be spawned to perform the data conversion process.
* More export redesign work. Note that the current implementation has a major ↵stuconnolly2009-10-071-1/+7
| | | | flaw in that exporter instances (NSOperation subclasses) are not reusable and so we have to create a new instance for every 'chunk' of data we want to process.
* More export redesign work.stuconnolly2009-10-061-1/+3
|
* More export redesign work. CSV data generation is currently working using ↵stuconnolly2009-10-061-1/+2
| | | | the old non-streaming code, but does not yet write to any files. Please note that this is still very much a work in progress.
* Some more data exporter redesign changes I've been meaning to commit.stuconnolly2009-09-161-8/+11
|
* More data export work.stuconnolly2009-08-291-5/+14
|
* Implement the core CSV export process in the new CSV exporter class.stuconnolly2009-08-291-0/+19
|
* Merge framework integration branch back to trunk. Summary of changes:stuconnolly2009-07-211-6/+5
| | | | | | | | | | | | | | | - Includes all custom code from subclasses CMMCPConnection and CMMCPResult, meaning they have subsequently been removed from the project. - All previous Sequel Pro specific code in the above subclasses has been removed in favour of the delegate (currently set to TableDocumet) informing the framework of such information. - All references to CMMCPConnection and CMMCPResult have subsequently been changed to MCPConnection and MCPResult. - Framework includes MySQL 5.1.36 client libraries and source headers. - Framework is now built as a 4-way (32/64 bit, i386/PPC arch) binary. - All import references to <MCPKit_bundled/MCPKit_bundled.h> have been changed to <MCPKit/MCPKit.h>. - New script 'build-mysql-client.sh' can be used to build the MySQL client libraries from the MySQL source. See the script's header for a list of available options or run it with no arguments to display it's usage. Note that there are still a few changes to be made to the framework with regard to removing Sequel Pro specific calls to the delegate. These however can be made later on as they have no effect on functionality and are merely design changes. Also, note that any future development done on the framework should be made to be as 'generic' as possible, with no Sequel Pro specific references. This should allow the framework to be integrated into another project without the need for SP specific code.
* More header updates for source files, including Subversion Id property.stuconnolly2009-05-191-0/+2
|
* - part 4 of merge from 'avenjamin' branch into trunk.avenjamin2009-04-101-0/+91
- committing Source