System.Data.SQLite

Check-in [1e8b52743b]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Add user-interface integration for the per-solution provider name configuration option.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | designOptions
Files: files | file ages | folders
SHA1: 1e8b52743b4247001de5aad99f411524aeff5442
User & Date: mistachkin 2014-08-01 04:24:19.557
Context
2014-08-01
04:32
Make sure the EF6 provider name is only available for .NET 4.0 and later. check-in: 1e2ed0931a user: mistachkin tags: designOptions
04:24
Add user-interface integration for the per-solution provider name configuration option. check-in: 1e8b52743b user: mistachkin tags: designOptions
03:30
Revise method names introduced in the previous check-in. Call the SQLiteOptions class from all the appropriate places. check-in: 015eca543d user: mistachkin tags: designOptions
Changes
Unified Diff Ignore Whitespace Patch
Changes to SQLite.Designer/SQLiteConnectionUIControl.Designer.cs.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

46
47
48
49
50
51
52
53
54
55
56
57
58
59

60
61
62
63
64
65
66
67

68
69
70
71
72

73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315




















316
317
318

319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356

357
358
/********************************************************
 * ADO.NET 2.0 Data Provider for SQLite Version 3.X
 * Written by Robert Simpson (robert@blackcastlesoft.com)
 * 
 * Released to the public domain, use at your own risk!
 ********************************************************/

namespace SQLite.Designer
{
  partial class SQLiteConnectionUIControl
  {
    /// <summary>
    /// Required designer variable.
    /// </summary>
    private System.ComponentModel.IContainer components = null;

    /// <summary>
    /// Clean up any resources being used.
    /// </summary>
    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
    protected override void Dispose(bool disposing)
    {
      if (disposing && (components != null))
      {
        components.Dispose();
      }
      base.Dispose(disposing);
    }

    #region Windows Form Designer generated code

    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()
    {
      System.Windows.Forms.Label labelPassword;
      System.Windows.Forms.GroupBox securityGroup;
      System.Windows.Forms.GroupBox encodingGroup;
      System.Windows.Forms.GroupBox dateTimeGroup;
      System.Windows.Forms.GroupBox databaseGroup;
      System.Windows.Forms.Label cacheSizeLabel;
      System.Windows.Forms.Label pageSizeLabel;
      System.Windows.Forms.GroupBox syncGroup;

      this.passwordTextBox = new System.Windows.Forms.TextBox();
      this.utf16RadioButton = new System.Windows.Forms.RadioButton();
      this.utf8RadioButton = new System.Windows.Forms.RadioButton();
      this.ticksRadioButton = new System.Windows.Forms.RadioButton();
      this.iso8601RadioButton = new System.Windows.Forms.RadioButton();
      this.cacheSizeTextbox = new System.Windows.Forms.TextBox();
      this.pageSizeTextBox = new System.Windows.Forms.TextBox();
      this.fileTextBox = new System.Windows.Forms.TextBox();
      this.browseButton = new System.Windows.Forms.Button();
      this.newDatabase = new System.Windows.Forms.Button();
      this.offRadioButton = new System.Windows.Forms.RadioButton();
      this.normalRadioButton = new System.Windows.Forms.RadioButton();
      this.fullRadioButton = new System.Windows.Forms.RadioButton();
      this.julianRadioButton = new System.Windows.Forms.RadioButton();

      labelPassword = new System.Windows.Forms.Label();
      securityGroup = new System.Windows.Forms.GroupBox();
      encodingGroup = new System.Windows.Forms.GroupBox();
      dateTimeGroup = new System.Windows.Forms.GroupBox();
      databaseGroup = new System.Windows.Forms.GroupBox();
      cacheSizeLabel = new System.Windows.Forms.Label();
      pageSizeLabel = new System.Windows.Forms.Label();
      syncGroup = new System.Windows.Forms.GroupBox();

      securityGroup.SuspendLayout();
      encodingGroup.SuspendLayout();
      dateTimeGroup.SuspendLayout();
      databaseGroup.SuspendLayout();
      syncGroup.SuspendLayout();

      this.SuspendLayout();
      // 
      // labelPassword
      // 
      labelPassword.AutoSize = true;
      labelPassword.Location = new System.Drawing.Point(6, 23);
      labelPassword.Name = "labelPassword";
      labelPassword.Size = new System.Drawing.Size(53, 13);
      labelPassword.TabIndex = 0;
      labelPassword.Text = "Password";
      // 
      // securityGroup
      // 
      securityGroup.Controls.Add(this.passwordTextBox);
      securityGroup.Controls.Add(labelPassword);
      securityGroup.Location = new System.Drawing.Point(3, 263);
      securityGroup.Name = "securityGroup";
      securityGroup.Size = new System.Drawing.Size(306, 56);
      securityGroup.TabIndex = 10;
      securityGroup.TabStop = false;
      securityGroup.Text = "Encryption";
      // 
      // passwordTextBox
      // 
      this.passwordTextBox.Location = new System.Drawing.Point(65, 20);
      this.passwordTextBox.Name = "passwordTextBox";
      this.passwordTextBox.Size = new System.Drawing.Size(235, 21);
      this.passwordTextBox.TabIndex = 1;
      this.passwordTextBox.UseSystemPasswordChar = true;
      this.passwordTextBox.Leave += new System.EventHandler(this.passwordTextBox_Leave);
      // 
      // encodingGroup
      // 
      encodingGroup.Controls.Add(this.utf16RadioButton);
      encodingGroup.Controls.Add(this.utf8RadioButton);
      encodingGroup.Location = new System.Drawing.Point(3, 159);
      encodingGroup.Name = "encodingGroup";
      encodingGroup.Size = new System.Drawing.Size(75, 98);
      encodingGroup.TabIndex = 7;
      encodingGroup.TabStop = false;
      encodingGroup.Text = "Encoding";
      // 
      // utf16RadioButton
      // 
      this.utf16RadioButton.AutoSize = true;
      this.utf16RadioButton.Location = new System.Drawing.Point(6, 44);
      this.utf16RadioButton.Name = "utf16RadioButton";
      this.utf16RadioButton.Size = new System.Drawing.Size(60, 17);
      this.utf16RadioButton.TabIndex = 1;
      this.utf16RadioButton.TabStop = true;
      this.utf16RadioButton.Text = "UTF-16";
      this.utf16RadioButton.UseVisualStyleBackColor = true;
      this.utf16RadioButton.CheckedChanged += new System.EventHandler(this.encoding_Changed);
      // 
      // utf8RadioButton
      // 
      this.utf8RadioButton.AutoSize = true;
      this.utf8RadioButton.Checked = true;
      this.utf8RadioButton.Location = new System.Drawing.Point(7, 21);
      this.utf8RadioButton.Name = "utf8RadioButton";
      this.utf8RadioButton.Size = new System.Drawing.Size(54, 17);
      this.utf8RadioButton.TabIndex = 0;
      this.utf8RadioButton.TabStop = true;
      this.utf8RadioButton.Text = "UTF-8";
      this.utf8RadioButton.UseVisualStyleBackColor = true;
      this.utf8RadioButton.CheckedChanged += new System.EventHandler(this.encoding_Changed);
      // 
      // dateTimeGroup
      // 
      dateTimeGroup.Controls.Add(this.julianRadioButton);
      dateTimeGroup.Controls.Add(this.ticksRadioButton);
      dateTimeGroup.Controls.Add(this.iso8601RadioButton);
      dateTimeGroup.Location = new System.Drawing.Point(84, 159);
      dateTimeGroup.Name = "dateTimeGroup";
      dateTimeGroup.Size = new System.Drawing.Size(113, 98);
      dateTimeGroup.TabIndex = 8;
      dateTimeGroup.TabStop = false;
      dateTimeGroup.Text = "Date/Time Format";
      // 
      // ticksRadioButton
      // 
      this.ticksRadioButton.AutoSize = true;
      this.ticksRadioButton.Location = new System.Drawing.Point(7, 66);
      this.ticksRadioButton.Name = "ticksRadioButton";
      this.ticksRadioButton.Size = new System.Drawing.Size(48, 17);
      this.ticksRadioButton.TabIndex = 1;
      this.ticksRadioButton.TabStop = true;
      this.ticksRadioButton.Text = "Ticks";
      this.ticksRadioButton.UseVisualStyleBackColor = true;
      this.ticksRadioButton.CheckedChanged += new System.EventHandler(this.datetime_Changed);
      // 
      // iso8601RadioButton
      // 
      this.iso8601RadioButton.AutoSize = true;
      this.iso8601RadioButton.Checked = true;
      this.iso8601RadioButton.Location = new System.Drawing.Point(7, 21);
      this.iso8601RadioButton.Name = "iso8601RadioButton";
      this.iso8601RadioButton.Size = new System.Drawing.Size(71, 17);
      this.iso8601RadioButton.TabIndex = 0;
      this.iso8601RadioButton.TabStop = true;
      this.iso8601RadioButton.Text = "ISO-8601";
      this.iso8601RadioButton.UseVisualStyleBackColor = true;
      this.iso8601RadioButton.CheckedChanged += new System.EventHandler(this.datetime_Changed);
      // 
      // databaseGroup
      // 
      databaseGroup.Controls.Add(cacheSizeLabel);
      databaseGroup.Controls.Add(this.cacheSizeTextbox);
      databaseGroup.Controls.Add(pageSizeLabel);
      databaseGroup.Controls.Add(this.pageSizeTextBox);
      databaseGroup.Controls.Add(this.fileTextBox);
      databaseGroup.Controls.Add(this.browseButton);
      databaseGroup.Controls.Add(this.newDatabase);
      databaseGroup.Location = new System.Drawing.Point(3, 3);
      databaseGroup.Name = "databaseGroup";
      databaseGroup.Size = new System.Drawing.Size(306, 150);
      databaseGroup.TabIndex = 8;
      databaseGroup.TabStop = false;
      databaseGroup.Text = "Database";
      // 
      // cacheSizeLabel
      // 
      cacheSizeLabel.AutoSize = true;
      cacheSizeLabel.Location = new System.Drawing.Point(7, 116);
      cacheSizeLabel.Name = "cacheSizeLabel";
      cacheSizeLabel.Size = new System.Drawing.Size(59, 13);
      cacheSizeLabel.TabIndex = 5;
      cacheSizeLabel.Text = "Cache Size";
      // 
      // cacheSizeTextbox
      // 
      this.cacheSizeTextbox.Location = new System.Drawing.Point(72, 113);
      this.cacheSizeTextbox.Name = "cacheSizeTextbox";
      this.cacheSizeTextbox.Size = new System.Drawing.Size(100, 21);
      this.cacheSizeTextbox.TabIndex = 6;
      this.cacheSizeTextbox.Text = "2000";
      this.cacheSizeTextbox.Leave += new System.EventHandler(this.cacheSizeTextbox_Leave);
      // 
      // pageSizeLabel
      // 
      pageSizeLabel.AutoSize = true;
      pageSizeLabel.Location = new System.Drawing.Point(13, 89);
      pageSizeLabel.Name = "pageSizeLabel";
      pageSizeLabel.Size = new System.Drawing.Size(53, 13);
      pageSizeLabel.TabIndex = 3;
      pageSizeLabel.Text = "Page Size";
      // 
      // pageSizeTextBox
      // 
      this.pageSizeTextBox.Location = new System.Drawing.Point(72, 86);
      this.pageSizeTextBox.Name = "pageSizeTextBox";
      this.pageSizeTextBox.Size = new System.Drawing.Size(100, 21);
      this.pageSizeTextBox.TabIndex = 4;
      this.pageSizeTextBox.Text = "1024";
      this.pageSizeTextBox.Leave += new System.EventHandler(this.pageSizeTextBox_Leave);
      // 
      // fileTextBox
      // 
      this.fileTextBox.Location = new System.Drawing.Point(6, 20);
      this.fileTextBox.Name = "fileTextBox";
      this.fileTextBox.Size = new System.Drawing.Size(294, 21);
      this.fileTextBox.TabIndex = 0;
      this.fileTextBox.Leave += new System.EventHandler(this.fileTextBox_Leave);
      // 
      // browseButton
      // 
      this.browseButton.Location = new System.Drawing.Point(6, 47);
      this.browseButton.Name = "browseButton";
      this.browseButton.Size = new System.Drawing.Size(75, 23);
      this.browseButton.TabIndex = 1;
      this.browseButton.Text = "&Browse ...";
      this.browseButton.UseVisualStyleBackColor = true;
      this.browseButton.Click += new System.EventHandler(this.browseButton_Click);
      // 
      // newDatabase
      // 
      this.newDatabase.Location = new System.Drawing.Point(87, 47);
      this.newDatabase.Name = "newDatabase";
      this.newDatabase.Size = new System.Drawing.Size(75, 23);
      this.newDatabase.TabIndex = 2;
      this.newDatabase.Text = "&New ...";
      this.newDatabase.UseVisualStyleBackColor = true;
      this.newDatabase.Click += new System.EventHandler(this.newDatabase_Click);
      // 
      // syncGroup
      // 
      syncGroup.Controls.Add(this.offRadioButton);
      syncGroup.Controls.Add(this.normalRadioButton);
      syncGroup.Controls.Add(this.fullRadioButton);
      syncGroup.Location = new System.Drawing.Point(204, 159);
      syncGroup.Name = "syncGroup";
      syncGroup.Size = new System.Drawing.Size(105, 98);
      syncGroup.TabIndex = 9;
      syncGroup.TabStop = false;
      syncGroup.Text = "Synchronization";
      // 
      // offRadioButton
      // 
      this.offRadioButton.AutoSize = true;
      this.offRadioButton.Location = new System.Drawing.Point(6, 66);
      this.offRadioButton.Name = "offRadioButton";
      this.offRadioButton.Size = new System.Drawing.Size(41, 17);
      this.offRadioButton.TabIndex = 2;
      this.offRadioButton.Text = "Off";
      this.offRadioButton.UseVisualStyleBackColor = true;
      this.offRadioButton.CheckedChanged += new System.EventHandler(this.sync_Changed);
      // 
      // normalRadioButton
      // 
      this.normalRadioButton.AutoSize = true;
      this.normalRadioButton.Checked = true;
      this.normalRadioButton.Location = new System.Drawing.Point(6, 43);
      this.normalRadioButton.Name = "normalRadioButton";
      this.normalRadioButton.Size = new System.Drawing.Size(58, 17);
      this.normalRadioButton.TabIndex = 1;
      this.normalRadioButton.TabStop = true;
      this.normalRadioButton.Text = "Normal";
      this.normalRadioButton.UseVisualStyleBackColor = true;
      this.normalRadioButton.CheckedChanged += new System.EventHandler(this.sync_Changed);
      // 
      // fullRadioButton
      // 
      this.fullRadioButton.AutoSize = true;
      this.fullRadioButton.Location = new System.Drawing.Point(6, 20);
      this.fullRadioButton.Name = "fullRadioButton";
      this.fullRadioButton.Size = new System.Drawing.Size(41, 17);
      this.fullRadioButton.TabIndex = 0;
      this.fullRadioButton.Text = "Full";
      this.fullRadioButton.UseVisualStyleBackColor = true;
      this.fullRadioButton.CheckedChanged += new System.EventHandler(this.sync_Changed);
      // 
      // julianRadioButton
      // 
      this.julianRadioButton.AutoSize = true;
      this.julianRadioButton.Location = new System.Drawing.Point(7, 44);
      this.julianRadioButton.Name = "julianRadioButton";
      this.julianRadioButton.Size = new System.Drawing.Size(74, 17);
      this.julianRadioButton.TabIndex = 2;
      this.julianRadioButton.TabStop = true;
      this.julianRadioButton.Text = "Julian Day";
      this.julianRadioButton.UseVisualStyleBackColor = true;
      this.julianRadioButton.CheckedChanged += new System.EventHandler(this.datetime_Changed);
      // 




















      // SQLiteConnectionUIControl
      // 
      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;

      this.Controls.Add(syncGroup);
      this.Controls.Add(databaseGroup);
      this.Controls.Add(dateTimeGroup);
      this.Controls.Add(encodingGroup);
      this.Controls.Add(securityGroup);
      this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
      this.Name = "SQLiteConnectionUIControl";
      this.Size = new System.Drawing.Size(312, 322);
      securityGroup.ResumeLayout(false);
      securityGroup.PerformLayout();
      encodingGroup.ResumeLayout(false);
      encodingGroup.PerformLayout();
      dateTimeGroup.ResumeLayout(false);
      dateTimeGroup.PerformLayout();
      databaseGroup.ResumeLayout(false);
      databaseGroup.PerformLayout();
      syncGroup.ResumeLayout(false);
      syncGroup.PerformLayout();
      this.ResumeLayout(false);

    }

    #endregion

    private System.Windows.Forms.TextBox fileTextBox;
    private System.Windows.Forms.Button browseButton;
    private System.Windows.Forms.Button newDatabase;
    private System.Windows.Forms.TextBox passwordTextBox;
    private System.Windows.Forms.RadioButton utf16RadioButton;
    private System.Windows.Forms.RadioButton utf8RadioButton;
    private System.Windows.Forms.RadioButton ticksRadioButton;
    private System.Windows.Forms.RadioButton iso8601RadioButton;
    private System.Windows.Forms.TextBox pageSizeTextBox;
    private System.Windows.Forms.TextBox cacheSizeTextbox;
    private System.Windows.Forms.RadioButton offRadioButton;
    private System.Windows.Forms.RadioButton normalRadioButton;
    private System.Windows.Forms.RadioButton fullRadioButton;
    private System.Windows.Forms.RadioButton julianRadioButton;

  }
}



|





|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|

|
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
>
|
|
|
|
|
>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
|
|
>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
>
|

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363

364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
/********************************************************
 * ADO.NET 2.0 Data Provider for SQLite Version 3.X
 * Written by Robert Simpson (robert@blackcastlesoft.com)
 *
 * Released to the public domain, use at your own risk!
 ********************************************************/

namespace SQLite.Designer
{
    partial class SQLiteConnectionUIControl
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            System.Windows.Forms.Label labelPassword;
            System.Windows.Forms.GroupBox securityGroup;
            System.Windows.Forms.GroupBox encodingGroup;
            System.Windows.Forms.GroupBox dateTimeGroup;
            System.Windows.Forms.GroupBox databaseGroup;
            System.Windows.Forms.Label cacheSizeLabel;
            System.Windows.Forms.Label pageSizeLabel;
            System.Windows.Forms.GroupBox syncGroup;
            System.Windows.Forms.GroupBox providerGroup;
            this.passwordTextBox = new System.Windows.Forms.TextBox();
            this.utf16RadioButton = new System.Windows.Forms.RadioButton();
            this.utf8RadioButton = new System.Windows.Forms.RadioButton();
            this.ticksRadioButton = new System.Windows.Forms.RadioButton();
            this.iso8601RadioButton = new System.Windows.Forms.RadioButton();
            this.cacheSizeTextbox = new System.Windows.Forms.TextBox();
            this.pageSizeTextBox = new System.Windows.Forms.TextBox();
            this.fileTextBox = new System.Windows.Forms.TextBox();
            this.browseButton = new System.Windows.Forms.Button();
            this.newDatabase = new System.Windows.Forms.Button();
            this.offRadioButton = new System.Windows.Forms.RadioButton();
            this.normalRadioButton = new System.Windows.Forms.RadioButton();
            this.fullRadioButton = new System.Windows.Forms.RadioButton();
            this.julianRadioButton = new System.Windows.Forms.RadioButton();
            this.providerComboBox = new System.Windows.Forms.ComboBox();
            labelPassword = new System.Windows.Forms.Label();
            securityGroup = new System.Windows.Forms.GroupBox();
            encodingGroup = new System.Windows.Forms.GroupBox();
            dateTimeGroup = new System.Windows.Forms.GroupBox();
            databaseGroup = new System.Windows.Forms.GroupBox();
            cacheSizeLabel = new System.Windows.Forms.Label();
            pageSizeLabel = new System.Windows.Forms.Label();
            syncGroup = new System.Windows.Forms.GroupBox();
            providerGroup = new System.Windows.Forms.GroupBox();
            securityGroup.SuspendLayout();
            encodingGroup.SuspendLayout();
            dateTimeGroup.SuspendLayout();
            databaseGroup.SuspendLayout();
            syncGroup.SuspendLayout();
            providerGroup.SuspendLayout();
            this.SuspendLayout();
            //
            // labelPassword
            //
            labelPassword.AutoSize = true;
            labelPassword.Location = new System.Drawing.Point(6, 23);
            labelPassword.Name = "labelPassword";
            labelPassword.Size = new System.Drawing.Size(53, 13);
            labelPassword.TabIndex = 0;
            labelPassword.Text = "Password";
            //
            // securityGroup
            //
            securityGroup.Controls.Add(this.passwordTextBox);
            securityGroup.Controls.Add(labelPassword);
            securityGroup.Location = new System.Drawing.Point(3, 263);
            securityGroup.Name = "securityGroup";
            securityGroup.Size = new System.Drawing.Size(306, 56);
            securityGroup.TabIndex = 10;
            securityGroup.TabStop = false;
            securityGroup.Text = "Encryption";
            //
            // passwordTextBox
            //
            this.passwordTextBox.Location = new System.Drawing.Point(65, 20);
            this.passwordTextBox.Name = "passwordTextBox";
            this.passwordTextBox.Size = new System.Drawing.Size(235, 21);
            this.passwordTextBox.TabIndex = 1;
            this.passwordTextBox.UseSystemPasswordChar = true;
            this.passwordTextBox.Leave += new System.EventHandler(this.passwordTextBox_Leave);
            //
            // encodingGroup
            //
            encodingGroup.Controls.Add(this.utf16RadioButton);
            encodingGroup.Controls.Add(this.utf8RadioButton);
            encodingGroup.Location = new System.Drawing.Point(3, 159);
            encodingGroup.Name = "encodingGroup";
            encodingGroup.Size = new System.Drawing.Size(75, 98);
            encodingGroup.TabIndex = 7;
            encodingGroup.TabStop = false;
            encodingGroup.Text = "Encoding";
            //
            // utf16RadioButton
            //
            this.utf16RadioButton.AutoSize = true;
            this.utf16RadioButton.Location = new System.Drawing.Point(6, 44);
            this.utf16RadioButton.Name = "utf16RadioButton";
            this.utf16RadioButton.Size = new System.Drawing.Size(60, 17);
            this.utf16RadioButton.TabIndex = 1;
            this.utf16RadioButton.TabStop = true;
            this.utf16RadioButton.Text = "UTF-16";
            this.utf16RadioButton.UseVisualStyleBackColor = true;
            this.utf16RadioButton.CheckedChanged += new System.EventHandler(this.encoding_Changed);
            //
            // utf8RadioButton
            //
            this.utf8RadioButton.AutoSize = true;
            this.utf8RadioButton.Checked = true;
            this.utf8RadioButton.Location = new System.Drawing.Point(7, 21);
            this.utf8RadioButton.Name = "utf8RadioButton";
            this.utf8RadioButton.Size = new System.Drawing.Size(54, 17);
            this.utf8RadioButton.TabIndex = 0;
            this.utf8RadioButton.TabStop = true;
            this.utf8RadioButton.Text = "UTF-8";
            this.utf8RadioButton.UseVisualStyleBackColor = true;
            this.utf8RadioButton.CheckedChanged += new System.EventHandler(this.encoding_Changed);
            //
            // dateTimeGroup
            //
            dateTimeGroup.Controls.Add(this.julianRadioButton);
            dateTimeGroup.Controls.Add(this.ticksRadioButton);
            dateTimeGroup.Controls.Add(this.iso8601RadioButton);
            dateTimeGroup.Location = new System.Drawing.Point(84, 159);
            dateTimeGroup.Name = "dateTimeGroup";
            dateTimeGroup.Size = new System.Drawing.Size(113, 98);
            dateTimeGroup.TabIndex = 8;
            dateTimeGroup.TabStop = false;
            dateTimeGroup.Text = "Date/Time Format";
            //
            // ticksRadioButton
            //
            this.ticksRadioButton.AutoSize = true;
            this.ticksRadioButton.Location = new System.Drawing.Point(7, 66);
            this.ticksRadioButton.Name = "ticksRadioButton";
            this.ticksRadioButton.Size = new System.Drawing.Size(48, 17);
            this.ticksRadioButton.TabIndex = 1;
            this.ticksRadioButton.TabStop = true;
            this.ticksRadioButton.Text = "Ticks";
            this.ticksRadioButton.UseVisualStyleBackColor = true;
            this.ticksRadioButton.CheckedChanged += new System.EventHandler(this.datetime_Changed);
            //
            // iso8601RadioButton
            //
            this.iso8601RadioButton.AutoSize = true;
            this.iso8601RadioButton.Checked = true;
            this.iso8601RadioButton.Location = new System.Drawing.Point(7, 21);
            this.iso8601RadioButton.Name = "iso8601RadioButton";
            this.iso8601RadioButton.Size = new System.Drawing.Size(71, 17);
            this.iso8601RadioButton.TabIndex = 0;
            this.iso8601RadioButton.TabStop = true;
            this.iso8601RadioButton.Text = "ISO-8601";
            this.iso8601RadioButton.UseVisualStyleBackColor = true;
            this.iso8601RadioButton.CheckedChanged += new System.EventHandler(this.datetime_Changed);
            //
            // databaseGroup
            //
            databaseGroup.Controls.Add(cacheSizeLabel);
            databaseGroup.Controls.Add(this.cacheSizeTextbox);
            databaseGroup.Controls.Add(pageSizeLabel);
            databaseGroup.Controls.Add(this.pageSizeTextBox);
            databaseGroup.Controls.Add(this.fileTextBox);
            databaseGroup.Controls.Add(this.browseButton);
            databaseGroup.Controls.Add(this.newDatabase);
            databaseGroup.Location = new System.Drawing.Point(3, 3);
            databaseGroup.Name = "databaseGroup";
            databaseGroup.Size = new System.Drawing.Size(306, 150);
            databaseGroup.TabIndex = 8;
            databaseGroup.TabStop = false;
            databaseGroup.Text = "Database";
            //
            // cacheSizeLabel
            //
            cacheSizeLabel.AutoSize = true;
            cacheSizeLabel.Location = new System.Drawing.Point(7, 116);
            cacheSizeLabel.Name = "cacheSizeLabel";
            cacheSizeLabel.Size = new System.Drawing.Size(59, 13);
            cacheSizeLabel.TabIndex = 5;
            cacheSizeLabel.Text = "Cache Size";
            //
            // cacheSizeTextbox
            //
            this.cacheSizeTextbox.Location = new System.Drawing.Point(72, 113);
            this.cacheSizeTextbox.Name = "cacheSizeTextbox";
            this.cacheSizeTextbox.Size = new System.Drawing.Size(100, 21);
            this.cacheSizeTextbox.TabIndex = 6;
            this.cacheSizeTextbox.Text = "2000";
            this.cacheSizeTextbox.Leave += new System.EventHandler(this.cacheSizeTextbox_Leave);
            //
            // pageSizeLabel
            //
            pageSizeLabel.AutoSize = true;
            pageSizeLabel.Location = new System.Drawing.Point(13, 89);
            pageSizeLabel.Name = "pageSizeLabel";
            pageSizeLabel.Size = new System.Drawing.Size(53, 13);
            pageSizeLabel.TabIndex = 3;
            pageSizeLabel.Text = "Page Size";
            //
            // pageSizeTextBox
            //
            this.pageSizeTextBox.Location = new System.Drawing.Point(72, 86);
            this.pageSizeTextBox.Name = "pageSizeTextBox";
            this.pageSizeTextBox.Size = new System.Drawing.Size(100, 21);
            this.pageSizeTextBox.TabIndex = 4;
            this.pageSizeTextBox.Text = "1024";
            this.pageSizeTextBox.Leave += new System.EventHandler(this.pageSizeTextBox_Leave);
            //
            // fileTextBox
            //
            this.fileTextBox.Location = new System.Drawing.Point(6, 20);
            this.fileTextBox.Name = "fileTextBox";
            this.fileTextBox.Size = new System.Drawing.Size(294, 21);
            this.fileTextBox.TabIndex = 0;
            this.fileTextBox.Leave += new System.EventHandler(this.fileTextBox_Leave);
            //
            // browseButton
            //
            this.browseButton.Location = new System.Drawing.Point(6, 47);
            this.browseButton.Name = "browseButton";
            this.browseButton.Size = new System.Drawing.Size(75, 23);
            this.browseButton.TabIndex = 1;
            this.browseButton.Text = "&Browse ...";
            this.browseButton.UseVisualStyleBackColor = true;
            this.browseButton.Click += new System.EventHandler(this.browseButton_Click);
            //
            // newDatabase
            //
            this.newDatabase.Location = new System.Drawing.Point(87, 47);
            this.newDatabase.Name = "newDatabase";
            this.newDatabase.Size = new System.Drawing.Size(75, 23);
            this.newDatabase.TabIndex = 2;
            this.newDatabase.Text = "&New ...";
            this.newDatabase.UseVisualStyleBackColor = true;
            this.newDatabase.Click += new System.EventHandler(this.newDatabase_Click);
            //
            // syncGroup
            //
            syncGroup.Controls.Add(this.offRadioButton);
            syncGroup.Controls.Add(this.normalRadioButton);
            syncGroup.Controls.Add(this.fullRadioButton);
            syncGroup.Location = new System.Drawing.Point(204, 159);
            syncGroup.Name = "syncGroup";
            syncGroup.Size = new System.Drawing.Size(105, 98);
            syncGroup.TabIndex = 9;
            syncGroup.TabStop = false;
            syncGroup.Text = "Synchronization";
            //
            // offRadioButton
            //
            this.offRadioButton.AutoSize = true;
            this.offRadioButton.Location = new System.Drawing.Point(6, 66);
            this.offRadioButton.Name = "offRadioButton";
            this.offRadioButton.Size = new System.Drawing.Size(41, 17);
            this.offRadioButton.TabIndex = 2;
            this.offRadioButton.Text = "Off";
            this.offRadioButton.UseVisualStyleBackColor = true;
            this.offRadioButton.CheckedChanged += new System.EventHandler(this.sync_Changed);
            //
            // normalRadioButton
            //
            this.normalRadioButton.AutoSize = true;
            this.normalRadioButton.Checked = true;
            this.normalRadioButton.Location = new System.Drawing.Point(6, 43);
            this.normalRadioButton.Name = "normalRadioButton";
            this.normalRadioButton.Size = new System.Drawing.Size(58, 17);
            this.normalRadioButton.TabIndex = 1;
            this.normalRadioButton.TabStop = true;
            this.normalRadioButton.Text = "Normal";
            this.normalRadioButton.UseVisualStyleBackColor = true;
            this.normalRadioButton.CheckedChanged += new System.EventHandler(this.sync_Changed);
            //
            // fullRadioButton
            //
            this.fullRadioButton.AutoSize = true;
            this.fullRadioButton.Location = new System.Drawing.Point(6, 20);
            this.fullRadioButton.Name = "fullRadioButton";
            this.fullRadioButton.Size = new System.Drawing.Size(41, 17);
            this.fullRadioButton.TabIndex = 0;
            this.fullRadioButton.Text = "Full";
            this.fullRadioButton.UseVisualStyleBackColor = true;
            this.fullRadioButton.CheckedChanged += new System.EventHandler(this.sync_Changed);
            //
            // julianRadioButton
            //
            this.julianRadioButton.AutoSize = true;
            this.julianRadioButton.Location = new System.Drawing.Point(7, 44);
            this.julianRadioButton.Name = "julianRadioButton";
            this.julianRadioButton.Size = new System.Drawing.Size(74, 17);
            this.julianRadioButton.TabIndex = 2;
            this.julianRadioButton.TabStop = true;
            this.julianRadioButton.Text = "Julian Day";
            this.julianRadioButton.UseVisualStyleBackColor = true;
            this.julianRadioButton.CheckedChanged += new System.EventHandler(this.datetime_Changed);
            //
            // providerGroup
            //
            providerGroup.Controls.Add(this.providerComboBox);
            providerGroup.Location = new System.Drawing.Point(3, 325);
            providerGroup.Name = "providerGroup";
            providerGroup.Size = new System.Drawing.Size(306, 56);
            providerGroup.TabIndex = 11;
            providerGroup.TabStop = false;
            providerGroup.Text = "Provider";
            //
            // providerComboBox
            //
            this.providerComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.providerComboBox.FormattingEnabled = true;
            this.providerComboBox.Location = new System.Drawing.Point(6, 20);
            this.providerComboBox.Name = "providerComboBox";
            this.providerComboBox.Size = new System.Drawing.Size(294, 21);
            this.providerComboBox.TabIndex = 0;
            this.providerComboBox.SelectedIndexChanged += new System.EventHandler(this.provider_Changed);
            //
            // SQLiteConnectionUIControl
            //
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
            this.Controls.Add(providerGroup);
            this.Controls.Add(syncGroup);
            this.Controls.Add(databaseGroup);
            this.Controls.Add(dateTimeGroup);
            this.Controls.Add(encodingGroup);
            this.Controls.Add(securityGroup);
            this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            this.Name = "SQLiteConnectionUIControl";
            this.Size = new System.Drawing.Size(312, 386);
            securityGroup.ResumeLayout(false);
            securityGroup.PerformLayout();
            encodingGroup.ResumeLayout(false);
            encodingGroup.PerformLayout();
            dateTimeGroup.ResumeLayout(false);
            dateTimeGroup.PerformLayout();
            databaseGroup.ResumeLayout(false);
            databaseGroup.PerformLayout();
            syncGroup.ResumeLayout(false);
            syncGroup.PerformLayout();
            providerGroup.ResumeLayout(false);
            this.ResumeLayout(false);
        }

        #endregion

        private System.Windows.Forms.TextBox fileTextBox;
        private System.Windows.Forms.Button browseButton;
        private System.Windows.Forms.Button newDatabase;
        private System.Windows.Forms.TextBox passwordTextBox;
        private System.Windows.Forms.RadioButton utf16RadioButton;
        private System.Windows.Forms.RadioButton utf8RadioButton;
        private System.Windows.Forms.RadioButton ticksRadioButton;
        private System.Windows.Forms.RadioButton iso8601RadioButton;
        private System.Windows.Forms.TextBox pageSizeTextBox;
        private System.Windows.Forms.TextBox cacheSizeTextbox;
        private System.Windows.Forms.RadioButton offRadioButton;
        private System.Windows.Forms.RadioButton normalRadioButton;
        private System.Windows.Forms.RadioButton fullRadioButton;
        private System.Windows.Forms.RadioButton julianRadioButton;
        private System.Windows.Forms.ComboBox providerComboBox;
    }
}
Changes to SQLite.Designer/SQLiteConnectionUIControl.cs.
23
24
25
26
27
28
29


30
31
32
33
34
35
36
  /// </summary>
  [ToolboxItem(false)]
  public partial class SQLiteConnectionUIControl : DataConnectionUIControl
  {
    public SQLiteConnectionUIControl()
    {
      InitializeComponent();


    }

    private void browseButton_Click(object sender, EventArgs e)
    {
      OpenFileDialog dlg = new OpenFileDialog();
      dlg.FileName = fileTextBox.Text;
      dlg.Title = "Select SQLite Database File";







>
>







23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
  /// </summary>
  [ToolboxItem(false)]
  public partial class SQLiteConnectionUIControl : DataConnectionUIControl
  {
    public SQLiteConnectionUIControl()
    {
      InitializeComponent();
      SQLiteOptions.AddProviderNames(providerComboBox.Items);
      SQLiteOptions.SelectProviderName(providerComboBox);
    }

    private void browseButton_Click(object sender, EventArgs e)
    {
      OpenFileDialog dlg = new OpenFileDialog();
      dlg.FileName = fileTextBox.Text;
      dlg.Title = "Select SQLite Database File";
91
92
93
94
95
96
97











98
99
100
101
102
103
104
      if (iso8601RadioButton.Checked == true)
        ConnectionProperties.Remove("datetimeformat");
      else if (ticksRadioButton.Checked == true)
        ConnectionProperties["datetimeformat"] = "Ticks";
      else
        ConnectionProperties["datetimeformat"] = "JulianDay";
    }












    private void sync_Changed(object sender, EventArgs e)
    {
      string sync = "Normal";
      if (fullRadioButton.Checked == true) sync = "Full";
      else if (offRadioButton.Checked == true) sync = "Off";








>
>
>
>
>
>
>
>
>
>
>







93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
      if (iso8601RadioButton.Checked == true)
        ConnectionProperties.Remove("datetimeformat");
      else if (ticksRadioButton.Checked == true)
        ConnectionProperties["datetimeformat"] = "Ticks";
      else
        ConnectionProperties["datetimeformat"] = "JulianDay";
    }

    private void provider_Changed(object sender, EventArgs e)
    {
        object item = providerComboBox.SelectedItem;

        if (item != null)
        {
            SQLiteOptions.SetProviderName(item.ToString());
            LoadProperties();
        }
    }

    private void sync_Changed(object sender, EventArgs e)
    {
      string sync = "Normal";
      if (fullRadioButton.Checked == true) sync = "Full";
      else if (offRadioButton.Checked == true) sync = "Off";

Changes to SQLite.Designer/SQLiteConnectionUIControl.resx.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>


|
|
|

|
|
|
|

|

|














|
|

|
|
|
|
|

|
|
|

|
|
|

|

|


|

|




|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!--
    Microsoft ResX Schema

    Version 2.0

    The primary goals of this format is to allow a simple XML format
    that is mostly human readable. The generation and parsing of the
    various data types are done through the TypeConverter classes
    associated with the data types.

    Example:

    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>

    There are any number of "resheader" rows that contain simple
    name/value pairs.

    Each data row contains a name, and value. The row also contains a
    type or mimetype. Type corresponds to a .NET class that support
    text/value conversion through the TypeConverter architecture.
    Classes that don't support this are serialized and stored with the
    mimetype set.

    The mimetype is used for serialized objects, and tells the
    ResXResourceReader how to depersist the object. This is currently not
    extensible. For a given mimetype the value must be set accordingly:

    Note - application/x-microsoft.net.object.binary.base64 is the format
    that the ResXResourceWriter will generate, however the reader can
    read any of the formats listed below.

    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
136
137
138
139
140
141
142
143



144
    <value>False</value>
  </metadata>
  <metadata name="pageSizeLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    <value>False</value>
  </metadata>
  <metadata name="syncGroup.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    <value>False</value>
  </metadata>



</root>








>
>
>

136
137
138
139
140
141
142
143
144
145
146
147
    <value>False</value>
  </metadata>
  <metadata name="pageSizeLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    <value>False</value>
  </metadata>
  <metadata name="syncGroup.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    <value>False</value>
  </metadata>
  <metadata name="providerGroup.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    <value>False</value>
  </metadata>
</root>
Changes to SQLite.Designer/SQLiteOptions.cs.
1
2
3
4
5
6
7
8
9
10
11

12
13
14
15
16
17
18
/********************************************************
 * ADO.NET 2.0 Data Provider for SQLite Version 3.X
 * Written by Joe Mistachkin (joe@mistachkin.com)
 *
 * Released to the public domain, use at your own risk!
 ********************************************************/

using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;

using Microsoft.VisualStudio.Shell;

namespace SQLite.Designer
{
    /// <summary>
    /// This class keeps track of the options configured on a per-solution file
    /// basis pertaining to the System.Data.SQLite design-time components.











>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/********************************************************
 * ADO.NET 2.0 Data Provider for SQLite Version 3.X
 * Written by Joe Mistachkin (joe@mistachkin.com)
 *
 * Released to the public domain, use at your own risk!
 ********************************************************/

using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using Microsoft.VisualStudio.Shell;

namespace SQLite.Designer
{
    /// <summary>
    /// This class keeps track of the options configured on a per-solution file
    /// basis pertaining to the System.Data.SQLite design-time components.
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
        private static readonly string ProviderNameKey = "ProviderName";

        ///////////////////////////////////////////////////////////////////////

        /// <summary>
        /// This is the legacy provider name used by the System.Data.SQLite
        /// design-time components.  It is also the default value for the
        /// associated option.
        /// </summary>
        private static readonly string DefaultProviderName = "System.Data.SQLite";

        /// <summary>
        /// This is the provider name used when Entity Framework 6.x support is
        /// required for use with the System.Data.SQLite design-time components.
        /// </summary>







|







29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
        private static readonly string ProviderNameKey = "ProviderName";

        ///////////////////////////////////////////////////////////////////////

        /// <summary>
        /// This is the legacy provider name used by the System.Data.SQLite
        /// design-time components.  It is also the default value for the
        /// associated option key.
        /// </summary>
        private static readonly string DefaultProviderName = "System.Data.SQLite";

        /// <summary>
        /// This is the provider name used when Entity Framework 6.x support is
        /// required for use with the System.Data.SQLite design-time components.
        /// </summary>
50
51
52
53
54
55
56
57


58
59
60
61
62
63
64
        /// This is used to synchronize access to the static dictionary of
        /// options (just below).
        /// </summary>
        private static readonly object syncRoot = new object();

        /// <summary>
        /// This dictionary contains the key/value pairs representing the
        /// per-solution options configured for the current solution.


        /// </summary>
        private static Dictionary<string, string> options;
        #endregion

        ///////////////////////////////////////////////////////////////////////

        #region Private Static Methods







|
>
>







51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
        /// This is used to synchronize access to the static dictionary of
        /// options (just below).
        /// </summary>
        private static readonly object syncRoot = new object();

        /// <summary>
        /// This dictionary contains the key/value pairs representing the
        /// per-solution options configured for the current solution.  When
        /// a new solution is loaded by Visual Studio, this dictionary must
        /// be reset.
        /// </summary>
        private static Dictionary<string, string> options;
        #endregion

        ///////////////////////////////////////////////////////////////////////

        #region Private Static Methods
106
107
108
109
110
111
112









































































































113
114
115
116
117
118
119
            string value;

            if (GetValue(key, out value) && IsValidValue(key, value))
                return value;

            return DefaultProviderName;
        }









































































































        #endregion

        ///////////////////////////////////////////////////////////////////////

        #region Hard-Coded Default Value Handling
        /// <summary>
        /// This method determines if the specified key/value pair represents







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
            string value;

            if (GetValue(key, out value) && IsValidValue(key, value))
                return value;

            return DefaultProviderName;
        }

        ///////////////////////////////////////////////////////////////////////

        /// <summary>
        /// This method attempts to set the name of the ADO.NET provider for
        /// the System.Data.SQLite design-time components to use.
        /// </summary>
        /// <param name="value">
        /// The ADO.NET provider name to use.
        /// </param>
        /// <returns>
        /// Non-zero upon success; otherwise, zero.  All ADO.NET provider names
        /// unknown to this class are rejected.
        /// </returns>
        public static bool SetProviderName(
            string value
            )
        {
            string key = ProviderNameKey;

            if (IsValidValue(key, value))
                return SetValue(key, value);

            return false;
        }

        ///////////////////////////////////////////////////////////////////////

        #region User-Interface Handling
        /// <summary>
        /// This method attempts to select the configured ADO.NET provider name
        /// in the specified <see cref="ComboBox" />.  This method will only
        /// work correctly when called from the user-interface thread.
        /// </summary>
        /// <param name="comboBox">
        /// The <see cref="ComboBox" /> object where the selection is to be
        /// modified.
        /// </param>
        /// <returns>
        /// Non-zero upon success; otherwise, zero.
        /// </returns>
        public static bool SelectProviderName(
            ComboBox comboBox
            )
        {
            if (comboBox == null)
                return false;

            string value = GetProviderName();

            if (value == null)
                return false;

            for (int index = 0; index < comboBox.Items.Count; index++)
            {
                object item = comboBox.Items[index];

                if (item == null)
                    continue;

                if (String.Equals(
                        item.ToString(), value, StringComparison.Ordinal))
                {
                    comboBox.SelectedIndex = index;
                    return true;
                }
            }

            return false;
        }

        ///////////////////////////////////////////////////////////////////////

        /// <summary>
        /// This method populates the specified <see cref="ComboBox" /> item
        /// list with the recognized ADO.NET provider names.  This method will
        /// only work correctly when called from the user-interface thread.
        /// </summary>
        /// <param name="items">
        /// The <see cref="ComboBox.Items" /> property value containing the
        /// list of items to be modified.  This value cannot be null.
        /// </param>
        /// <returns>
        /// The number of items actually added to the list, which may be zero.
        /// </returns>
        public static int AddProviderNames(
            ComboBox.ObjectCollection items
            )
        {
            int result = 0;

            if (items == null)
                return result;

            items.Add(DefaultProviderName);
            result++;

#if NET_40 || NET_45 || NET_451
            items.Add(Ef6ProviderName);
            result++;
#endif

            return result;
        }
        #endregion
        #endregion

        ///////////////////////////////////////////////////////////////////////

        #region Hard-Coded Default Value Handling
        /// <summary>
        /// This method determines if the specified key/value pair represents