mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2026-03-13 09:24:25 +08:00
Add checkbox option to remove line breaks from field contents in grid export dialog. Closes #474
This commit is contained in:
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: HeidiSQL\n"
|
||||
"POT-Creation-Date: 2012-11-05 21:40\n"
|
||||
"PO-Revision-Date: 2019-10-05 14:07+0200\n"
|
||||
"PO-Revision-Date: 2019-12-08 11:56+0100\n"
|
||||
"Last-Translator: Ansgar Becker <anse@heidisql.com>\n"
|
||||
"Language-Team: English (http://www.transifex.com/projects/p/heidisql/language/en/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -15,7 +15,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: en\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
"X-Generator: Poedit 2.2.4\n"
|
||||
|
||||
#. AboutBox..Caption
|
||||
#: about.dfm:5
|
||||
@@ -855,6 +855,9 @@ msgstr "Include auto increment column"
|
||||
msgid "Include SQL query"
|
||||
msgstr "Include SQL query"
|
||||
|
||||
msgid "Remove linebreaks from contents"
|
||||
msgstr "Remove linebreaks from contents"
|
||||
|
||||
#. frmExportGrid..popupCSVchar..menuCSVcomma..Caption
|
||||
#: exportgrid.dfm:266
|
||||
msgid "Comma"
|
||||
|
||||
@@ -157,10 +157,10 @@ type
|
||||
asExportSQLDatabase, asExportSQLServerDatabase, asExportSQLOutput, asExportSQLAddComments, asExportSQLRemoveAutoIncrement, asExportSQLRemoveDefiner,
|
||||
asGridExportWindowWidth, asGridExportWindowHeight, asGridExportOutputCopy, asGridExportOutputFile,
|
||||
asGridExportFilename, asGridExportRecentFiles, asGridExportEncoding, asGridExportFormat, asGridExportSelection,
|
||||
asGridExportColumnNames, asGridExportIncludeAutoInc, asGridExportIncludeQuery,
|
||||
asGridExportColumnNames, asGridExportIncludeAutoInc, asGridExportIncludeQuery, asGridExportRemoveLinebreaks,
|
||||
asGridExportSeparator, asGridExportEncloser, asGridExportTerminator, asGridExportNull,
|
||||
|
||||
asGridExportClpFormat, asGridExportClpColumnNames, asGridExportClpIncludeAutoInc,
|
||||
asGridExportClpFormat, asGridExportClpColumnNames, asGridExportClpIncludeAutoInc, asGridExportClpRemoveLinebreaks,
|
||||
asGridExportClpSeparator, asGridExportClpEncloser, asGridExportClpTerminator, asGridExportClpNull,
|
||||
|
||||
asCSVImportSeparator, asCSVImportEncloser, asCSVImportTerminator, asCSVImportFieldEscaper, asCSVImportWindowWidth, asCSVImportWindowHeight,
|
||||
@@ -3560,7 +3560,7 @@ begin
|
||||
InitSetting(asExportSQLRemoveAutoIncrement, 'ExportSQLRemoveAutoIncrement', 0, False);
|
||||
InitSetting(asExportSQLRemoveDefiner, 'ExportSQLRemoveDefiner', 0, True);
|
||||
InitSetting(asGridExportWindowWidth, 'GridExportWindowWidth', 400);
|
||||
InitSetting(asGridExportWindowHeight, 'GridExportWindowHeight', 460);
|
||||
InitSetting(asGridExportWindowHeight, 'GridExportWindowHeight', 480);
|
||||
InitSetting(asGridExportOutputCopy, 'GridExportOutputCopy', 0, True);
|
||||
InitSetting(asGridExportOutputFile, 'GridExportOutputFile', 0, False);
|
||||
InitSetting(asGridExportFilename, 'GridExportFilename', 0, False, '');
|
||||
@@ -3571,6 +3571,7 @@ begin
|
||||
InitSetting(asGridExportColumnNames, 'GridExportColumnNames', 0, True);
|
||||
InitSetting(asGridExportIncludeAutoInc, 'GridExportAutoInc', 0, True);
|
||||
InitSetting(asGridExportIncludeQuery, 'GridExportIncludeQuery', 0, False);
|
||||
InitSetting(asGridExportRemoveLinebreaks, 'GridExportRemoveLinebreaks', 0, False);
|
||||
InitSetting(asGridExportSeparator, 'GridExportSeparator', 0, False, ';');
|
||||
InitSetting(asGridExportEncloser, 'GridExportEncloser', 0, False, '');
|
||||
InitSetting(asGridExportTerminator, 'GridExportTerminator', 0, False, '\r\n');
|
||||
@@ -3579,6 +3580,7 @@ begin
|
||||
InitSetting(asGridExportClpFormat, 'GridExportClpFormat', 0);
|
||||
InitSetting(asGridExportClpColumnNames, 'GridExportClpColumnNames', 0, False);
|
||||
InitSetting(asGridExportClpIncludeAutoInc, 'GridExportClpAutoInc', 0, True);
|
||||
InitSetting(asGridExportClpRemoveLinebreaks, 'GridExportClpRemoveLinebreaks', 0, False);
|
||||
InitSetting(asGridExportClpSeparator, 'GridExportClpSeparator', 0, False, ';');
|
||||
InitSetting(asGridExportClpEncloser, 'GridExportClpEncloser', 0, False, '');
|
||||
InitSetting(asGridExportClpTerminator, 'GridExportClpTerminator', 0, False, '\r\n');
|
||||
|
||||
@@ -3,10 +3,10 @@ object frmExportGrid: TfrmExportGrid
|
||||
Top = 0
|
||||
BorderIcons = [biSystemMenu]
|
||||
Caption = 'Export grid rows'
|
||||
ClientHeight = 422
|
||||
ClientHeight = 445
|
||||
ClientWidth = 373
|
||||
Color = clBtnFace
|
||||
Constraints.MinHeight = 450
|
||||
Constraints.MinHeight = 480
|
||||
Constraints.MinWidth = 350
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
@@ -22,12 +22,12 @@ object frmExportGrid: TfrmExportGrid
|
||||
OnShow = FormShow
|
||||
DesignSize = (
|
||||
373
|
||||
422)
|
||||
445)
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
object btnOK: TButton
|
||||
Left = 209
|
||||
Top = 389
|
||||
Top = 412
|
||||
Width = 75
|
||||
Height = 25
|
||||
Anchors = [akRight, akBottom]
|
||||
@@ -39,7 +39,7 @@ object frmExportGrid: TfrmExportGrid
|
||||
end
|
||||
object btnCancel: TButton
|
||||
Left = 290
|
||||
Top = 389
|
||||
Top = 412
|
||||
Width = 75
|
||||
Height = 25
|
||||
Anchors = [akRight, akBottom]
|
||||
@@ -52,7 +52,7 @@ object frmExportGrid: TfrmExportGrid
|
||||
Left = 8
|
||||
Top = 112
|
||||
Width = 137
|
||||
Height = 271
|
||||
Height = 294
|
||||
Anchors = [akLeft, akTop, akBottom]
|
||||
Caption = 'Output format'
|
||||
ItemIndex = 0
|
||||
@@ -153,37 +153,37 @@ object frmExportGrid: TfrmExportGrid
|
||||
Left = 151
|
||||
Top = 184
|
||||
Width = 214
|
||||
Height = 199
|
||||
Height = 222
|
||||
Anchors = [akTop, akRight, akBottom]
|
||||
Caption = 'Options'
|
||||
TabOrder = 5
|
||||
DesignSize = (
|
||||
214
|
||||
199)
|
||||
222)
|
||||
object lblSeparator: TLabel
|
||||
Left = 6
|
||||
Top = 97
|
||||
Top = 116
|
||||
Width = 76
|
||||
Height = 13
|
||||
Caption = 'Field separator:'
|
||||
end
|
||||
object lblEncloser: TLabel
|
||||
Left = 6
|
||||
Top = 122
|
||||
Top = 141
|
||||
Width = 44
|
||||
Height = 13
|
||||
Caption = 'Encloser:'
|
||||
end
|
||||
object lblTerminator: TLabel
|
||||
Left = 6
|
||||
Top = 148
|
||||
Top = 167
|
||||
Width = 76
|
||||
Height = 13
|
||||
Caption = 'Line terminator:'
|
||||
end
|
||||
object lblNull: TLabel
|
||||
Left = 6
|
||||
Top = 175
|
||||
Top = 194
|
||||
Width = 57
|
||||
Height = 13
|
||||
Caption = 'NULL value:'
|
||||
@@ -201,7 +201,7 @@ object frmExportGrid: TfrmExportGrid
|
||||
end
|
||||
object editSeparator: TButtonedEdit
|
||||
Left = 106
|
||||
Top = 93
|
||||
Top = 112
|
||||
Width = 93
|
||||
Height = 21
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
@@ -216,7 +216,7 @@ object frmExportGrid: TfrmExportGrid
|
||||
end
|
||||
object editEncloser: TButtonedEdit
|
||||
Left = 106
|
||||
Top = 119
|
||||
Top = 138
|
||||
Width = 93
|
||||
Height = 21
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
@@ -230,7 +230,7 @@ object frmExportGrid: TfrmExportGrid
|
||||
end
|
||||
object editTerminator: TButtonedEdit
|
||||
Left = 106
|
||||
Top = 145
|
||||
Top = 164
|
||||
Width = 93
|
||||
Height = 21
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
@@ -255,14 +255,15 @@ object frmExportGrid: TfrmExportGrid
|
||||
object chkIncludeQuery: TCheckBox
|
||||
Left = 6
|
||||
Top = 64
|
||||
Width = 177
|
||||
Width = 191
|
||||
Height = 17
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
Caption = 'Include SQL query'
|
||||
TabOrder = 2
|
||||
end
|
||||
object editNull: TButtonedEdit
|
||||
Left = 106
|
||||
Top = 172
|
||||
Top = 191
|
||||
Width = 93
|
||||
Height = 21
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
@@ -274,10 +275,19 @@ object frmExportGrid: TfrmExportGrid
|
||||
OnChange = editCSVChange
|
||||
OnRightButtonClick = editCSVRightButtonClick
|
||||
end
|
||||
object chkRemoveLinebreaks: TCheckBox
|
||||
Left = 6
|
||||
Top = 87
|
||||
Width = 191
|
||||
Height = 17
|
||||
Anchors = [akLeft, akTop, akRight]
|
||||
Caption = 'Remove linebreaks from contents'
|
||||
TabOrder = 7
|
||||
end
|
||||
end
|
||||
object btnSetClipboardDefaults: TButton
|
||||
Left = 8
|
||||
Top = 389
|
||||
Top = 412
|
||||
Width = 153
|
||||
Height = 25
|
||||
Anchors = [akLeft, akBottom]
|
||||
|
||||
@@ -50,6 +50,7 @@ type
|
||||
lblNull: TLabel;
|
||||
editNull: TButtonedEdit;
|
||||
btnSetClipboardDefaults: TButton;
|
||||
chkRemoveLinebreaks: TCheckBox;
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormDestroy(Sender: TObject);
|
||||
procedure CalcSize(Sender: TObject);
|
||||
@@ -123,6 +124,7 @@ begin
|
||||
chkIncludeColumnNames.Checked := AppSettings.ReadBool(asGridExportClpColumnNames);
|
||||
chkIncludeAutoIncrement.Checked := AppSettings.ReadBool(asGridExportClpIncludeAutoInc);
|
||||
chkIncludeQuery.Checked := False; // Always off in copy mode
|
||||
chkRemoveLinebreaks.Checked := AppSettings.ReadBool(asGridExportClpRemoveLinebreaks);
|
||||
FCSVSeparator := AppSettings.ReadString(asGridExportClpSeparator);
|
||||
FCSVEncloser := AppSettings.ReadString(asGridExportClpEncloser);
|
||||
FCSVTerminator := AppSettings.ReadString(asGridExportClpTerminator);
|
||||
@@ -135,6 +137,7 @@ begin
|
||||
chkIncludeColumnNames.Checked := AppSettings.ReadBool(asGridExportColumnNames);
|
||||
chkIncludeAutoIncrement.Checked := AppSettings.ReadBool(asGridExportIncludeAutoInc);
|
||||
chkIncludeQuery.Checked := AppSettings.ReadBool(asGridExportIncludeQuery);
|
||||
chkRemoveLinebreaks.Checked := AppSettings.ReadBool(asGridExportRemoveLinebreaks);
|
||||
FCSVSeparator := AppSettings.ReadString(asGridExportSeparator);
|
||||
FCSVEncloser := AppSettings.ReadString(asGridExportEncloser);
|
||||
FCSVTerminator := AppSettings.ReadString(asGridExportTerminator);
|
||||
@@ -161,6 +164,7 @@ begin
|
||||
AppSettings.WriteBool(asGridExportColumnNames, chkIncludeColumnNames.Checked);
|
||||
AppSettings.WriteBool(asGridExportIncludeAutoInc, chkIncludeAutoIncrement.Checked);
|
||||
AppSettings.WriteBool(asGridExportIncludeQuery, chkIncludeQuery.Checked);
|
||||
AppSettings.WriteBool(asGridExportRemoveLinebreaks, chkRemoveLinebreaks.Checked);
|
||||
AppSettings.WriteString(asGridExportSeparator, FCSVSeparator);
|
||||
AppSettings.WriteString(asGridExportEncloser, FCSVEncloser);
|
||||
AppSettings.WriteString(asGridExportTerminator, FCSVTerminator);
|
||||
@@ -394,6 +398,7 @@ begin
|
||||
AppSettings.WriteInt(asGridExportClpFormat, grpFormat.ItemIndex);
|
||||
AppSettings.WriteBool(asGridExportClpColumnNames, chkIncludeColumnNames.Checked);
|
||||
AppSettings.WriteBool(asGridExportClpIncludeAutoInc, chkIncludeAutoIncrement.Checked);
|
||||
AppSettings.WriteBool(asGridExportRemoveLinebreaks, chkRemoveLinebreaks.Checked);
|
||||
AppSettings.WriteString(asGridExportClpSeparator, FCSVSeparator);
|
||||
AppSettings.WriteString(asGridExportClpEncloser, FCSVEncloser);
|
||||
AppSettings.WriteString(asGridExportClpTerminator, FCSVTerminator);
|
||||
@@ -806,17 +811,29 @@ begin
|
||||
else tmp := '';
|
||||
end;
|
||||
|
||||
// Row contents
|
||||
Col := Grid.Header.Columns.GetFirstVisibleColumn;
|
||||
while Col > NoColumn do begin
|
||||
if Col <> ExcludeCol then begin
|
||||
if (GridData.DataType(Col).Category in [dtcBinary, dtcSpatial]) and (not Mainform.actBlobAsText.Checked) then
|
||||
Data := GridData.HexValue(Col)
|
||||
else
|
||||
if (GridData.DataType(Col).Category in [dtcBinary, dtcSpatial])
|
||||
and (not Mainform.actBlobAsText.Checked) then begin
|
||||
Data := GridData.HexValue(Col);
|
||||
end else begin
|
||||
Data := GridData.Col(Col);
|
||||
end;
|
||||
|
||||
// Keep formatted numeric values
|
||||
if (GridData.DataType(Col).Category in [dtcInteger, dtcReal])
|
||||
and (ExportFormat in [efExcel, efHTML, efMarkDown]) then
|
||||
Data := FormatNumber(Data, False);
|
||||
and (ExportFormat in [efExcel, efHTML, efMarkDown]) then begin
|
||||
Data := FormatNumber(Data, False);
|
||||
end;
|
||||
|
||||
// Remove linebreaks, see #474
|
||||
if chkRemoveLinebreaks.Checked then begin
|
||||
Data := StringReplace(Data, #13#10, ' ', [rfReplaceAll]);
|
||||
Data := StringReplace(Data, #13, ' ', [rfReplaceAll]);
|
||||
Data := StringReplace(Data, #10, ' ', [rfReplaceAll]);
|
||||
end;
|
||||
|
||||
case ExportFormat of
|
||||
efHTML: begin
|
||||
|
||||
Reference in New Issue
Block a user