Add basic and shaky pragma editing

Since quite a few problems are fixed by now and the program is moving
towards rudeimentary usability again it's time to add some new features
and problems!
This commit is contained in:
Martin Kleusberg
2013-01-03 14:36:28 +01:00
parent 8ec19c4513
commit 8290a035e8
5 changed files with 790 additions and 0 deletions

View File

@@ -276,6 +276,549 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="pragmas">
<attribute name="title">
<string>Edit &amp;Pragmas</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QScrollArea" name="scrollareaPragmas">
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>-165</y>
<width>763</width>
<height>653</height>
</rect>
</property>
<layout class="QFormLayout" name="formLayout">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::ExpandingFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QLabel" name="labelPragmaAutoVacuum">
<property name="text">
<string>Auto Vacuum</string>
</property>
<property name="buddy">
<cstring>comboboxPragmaAutoVacuum</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="comboboxPragmaAutoVacuum">
<item>
<property name="text">
<string>None</string>
</property>
</item>
<item>
<property name="text">
<string>Full</string>
</property>
</item>
<item>
<property name="text">
<string>Incremental</string>
</property>
</item>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="labelPragmaAutomaticIndex">
<property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Automatic Index&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="buddy">
<cstring>checkboxPragmaAutomaticIndex</cstring>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="checkboxPragmaAutomaticIndex">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="labelPragmaBusyTimeout">
<property name="text">
<string>Busy Timeout</string>
</property>
<property name="buddy">
<cstring>spinPragmaBusyTimeout</cstring>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="labelPragmaCacheSize">
<property name="text">
<string>Cache Size</string>
</property>
<property name="buddy">
<cstring>spinPragmaCacheSize</cstring>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="labelPragmaCheckpointFullFsync">
<property name="text">
<string>Checkpoint Full FSYNC</string>
</property>
<property name="buddy">
<cstring>checkboxPragmaCheckpointFullFsync</cstring>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QCheckBox" name="checkboxPragmaCheckpointFullFsync">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="labelPragmaEncoding">
<property name="text">
<string>Encoding</string>
</property>
<property name="buddy">
<cstring>comboboxPragmaEncoding</cstring>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="labelPragmaForeignKeys">
<property name="text">
<string>Foreign Keys</string>
</property>
<property name="buddy">
<cstring>checkboxPragmaForeignKeys</cstring>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QCheckBox" name="checkboxPragmaForeignKeys">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="labelPragmaFullFsync">
<property name="text">
<string>Full FSYNC</string>
</property>
<property name="buddy">
<cstring>checkboxPragmaFullFsync</cstring>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QCheckBox" name="checkboxPragmaFullFsync">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="labelPragmaIgnoreCheckConstraints">
<property name="text">
<string>Ignore Check Constraints</string>
</property>
<property name="buddy">
<cstring>checkboxPragmaIgnoreCheckConstraints</cstring>
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QCheckBox" name="checkboxPragmaIgnoreCheckConstraints">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="9" column="0">
<widget class="QLabel" name="labelPragmaJournalMode">
<property name="text">
<string>Journal Mode</string>
</property>
<property name="buddy">
<cstring>comboboxPragmaJournalMode</cstring>
</property>
</widget>
</item>
<item row="9" column="1">
<widget class="QComboBox" name="comboboxPragmaJournalMode">
<item>
<property name="text">
<string>Delete</string>
</property>
</item>
<item>
<property name="text">
<string>Truncate</string>
</property>
</item>
<item>
<property name="text">
<string>Persist</string>
</property>
</item>
<item>
<property name="text">
<string>Memory</string>
</property>
</item>
<item>
<property name="text">
<string>WAL</string>
</property>
</item>
<item>
<property name="text">
<string>Off</string>
</property>
</item>
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="labelJournalSizeLimit">
<property name="text">
<string>Journal Size Limit</string>
</property>
<property name="buddy">
<cstring>spinPragmaJournalSizeLimit</cstring>
</property>
</widget>
</item>
<item row="11" column="0">
<widget class="QLabel" name="labelPragmaLegacyFileFormat">
<property name="text">
<string>Legacy File Format</string>
</property>
<property name="buddy">
<cstring>checkboxPragmaLegacyFileFormat</cstring>
</property>
</widget>
</item>
<item row="11" column="1">
<widget class="QCheckBox" name="checkboxPragmaLegacyFileFormat">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="12" column="0">
<widget class="QLabel" name="labelPragmaLockingMode">
<property name="text">
<string>Locking Mode</string>
</property>
<property name="buddy">
<cstring>comboboxPragmaLockingMode</cstring>
</property>
</widget>
</item>
<item row="12" column="1">
<widget class="QComboBox" name="comboboxPragmaLockingMode">
<item>
<property name="text">
<string>Normal</string>
</property>
</item>
<item>
<property name="text">
<string>Exclusive</string>
</property>
</item>
</widget>
</item>
<item row="13" column="0">
<widget class="QLabel" name="labelPragmaMaxPageCount">
<property name="text">
<string>Max Page Count</string>
</property>
<property name="buddy">
<cstring>spinPragmaMaxPageCount</cstring>
</property>
</widget>
</item>
<item row="14" column="0">
<widget class="QLabel" name="labelPragmaPageSize">
<property name="text">
<string>Page Size</string>
</property>
<property name="buddy">
<cstring>spinPragmaPageSize</cstring>
</property>
</widget>
</item>
<item row="15" column="0">
<widget class="QLabel" name="labelPragmaReadUncommitted">
<property name="text">
<string>Read Uncommitted</string>
</property>
<property name="buddy">
<cstring>checkboxPragmaReadUncommitted</cstring>
</property>
</widget>
</item>
<item row="15" column="1">
<widget class="QCheckBox" name="checkboxPragmaReadUncommitted">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="16" column="0">
<widget class="QLabel" name="labelPragmaRecursiveTriggers">
<property name="text">
<string>Recursive Triggers</string>
</property>
<property name="buddy">
<cstring>checkboxPragmaRecursiveTriggers</cstring>
</property>
</widget>
</item>
<item row="16" column="1">
<widget class="QCheckBox" name="checkboxPragmaRecursiveTriggers">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="17" column="0">
<widget class="QLabel" name="labelPragmaReverseUnorderedSelects">
<property name="text">
<string>Reverse Unordered Selects</string>
</property>
<property name="buddy">
<cstring>checkboxPragmaReverseUnorderedSelects</cstring>
</property>
</widget>
</item>
<item row="17" column="1">
<widget class="QCheckBox" name="checkboxPragmaReverseUnorderedSelects">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="18" column="0">
<widget class="QLabel" name="labelPragmaSchemaVersion">
<property name="text">
<string>Schema Version</string>
</property>
<property name="buddy">
<cstring>spinPragmaSchemaVersion</cstring>
</property>
</widget>
</item>
<item row="19" column="0">
<widget class="QLabel" name="labelPragmaSecureDelete">
<property name="text">
<string>Secure Delete</string>
</property>
<property name="buddy">
<cstring>checkboxPragmaSecureDelete</cstring>
</property>
</widget>
</item>
<item row="19" column="1">
<widget class="QCheckBox" name="checkboxPragmaSecureDelete">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="20" column="0">
<widget class="QLabel" name="labelPragmaSynchronous">
<property name="text">
<string>Synchronous</string>
</property>
<property name="buddy">
<cstring>comboboxPragmaSynchronous</cstring>
</property>
</widget>
</item>
<item row="20" column="1">
<widget class="QComboBox" name="comboboxPragmaSynchronous">
<item>
<property name="text">
<string>Off</string>
</property>
</item>
<item>
<property name="text">
<string>Normal</string>
</property>
</item>
<item>
<property name="text">
<string>Full</string>
</property>
</item>
</widget>
</item>
<item row="21" column="0">
<widget class="QLabel" name="labelPragmaTempStore">
<property name="text">
<string>Temp Store</string>
</property>
<property name="buddy">
<cstring>comboboxPragmaTempStore</cstring>
</property>
</widget>
</item>
<item row="21" column="1">
<widget class="QComboBox" name="comboboxPragmaTempStore">
<item>
<property name="text">
<string>Default</string>
</property>
</item>
<item>
<property name="text">
<string>File</string>
</property>
</item>
<item>
<property name="text">
<string>Memory</string>
</property>
</item>
</widget>
</item>
<item row="22" column="0">
<widget class="QLabel" name="labelPragmaUserVersion">
<property name="text">
<string>User Version</string>
</property>
<property name="buddy">
<cstring>spinPragmaUserVersion</cstring>
</property>
</widget>
</item>
<item row="23" column="0">
<widget class="QLabel" name="labelPragmaWalAutoCheckpoint">
<property name="text">
<string>WAL Auto Checkpoint</string>
</property>
<property name="buddy">
<cstring>spinPragmaWalAutoCheckpoint</cstring>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="spinPragmaBusyTimeout">
<property name="maximum">
<number>10000</number>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="spinPragmaCacheSize">
<property name="minimum">
<number>-100000</number>
</property>
<property name="maximum">
<number>100000</number>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QComboBox" name="comboboxPragmaEncoding">
<item>
<property name="text">
<string>UTF-8</string>
</property>
</item>
<item>
<property name="text">
<string>UTF-16</string>
</property>
</item>
<item>
<property name="text">
<string>UTF-16le</string>
</property>
</item>
<item>
<property name="text">
<string>UTF-16be</string>
</property>
</item>
</widget>
</item>
<item row="10" column="1">
<widget class="QSpinBox" name="spinPragmaJournalSizeLimit">
<property name="minimum">
<number>-1</number>
</property>
<property name="maximum">
<number>100000</number>
</property>
</widget>
</item>
<item row="13" column="1">
<widget class="QSpinBox" name="spinPragmaMaxPageCount">
<property name="maximum">
<number>2000000000</number>
</property>
</widget>
</item>
<item row="14" column="1">
<widget class="QSpinBox" name="spinPragmaPageSize">
<property name="minimum">
<number>512</number>
</property>
<property name="maximum">
<number>65536</number>
</property>
</widget>
</item>
<item row="18" column="1">
<widget class="QSpinBox" name="spinPragmaSchemaVersion">
<property name="maximum">
<number>10000</number>
</property>
</widget>
</item>
<item row="22" column="1">
<widget class="QSpinBox" name="spinPragmaUserVersion">
<property name="maximum">
<number>10000</number>
</property>
</widget>
</item>
<item row="23" column="1">
<widget class="QSpinBox" name="spinPragmaWalAutoCheckpoint">
<property name="maximum">
<number>10000</number>
</property>
</widget>
</item>
<item row="24" column="1">
<widget class="QDialogButtonBox" name="buttonBoxPragmas">
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Save</set>
</property>
<property name="centerButtons">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="query">
<attribute name="title">
<string>E&amp;xecute SQL</string>
@@ -874,6 +1417,32 @@
<tabstop>executeQueryButton</tabstop>
<tabstop>queryErrorLineEdit</tabstop>
<tabstop>queryResultTableView</tabstop>
<tabstop>scrollareaPragmas</tabstop>
<tabstop>comboboxPragmaAutoVacuum</tabstop>
<tabstop>checkboxPragmaAutomaticIndex</tabstop>
<tabstop>spinPragmaBusyTimeout</tabstop>
<tabstop>spinPragmaCacheSize</tabstop>
<tabstop>checkboxPragmaCheckpointFullFsync</tabstop>
<tabstop>comboboxPragmaEncoding</tabstop>
<tabstop>checkboxPragmaForeignKeys</tabstop>
<tabstop>checkboxPragmaFullFsync</tabstop>
<tabstop>checkboxPragmaIgnoreCheckConstraints</tabstop>
<tabstop>comboboxPragmaJournalMode</tabstop>
<tabstop>spinPragmaJournalSizeLimit</tabstop>
<tabstop>checkboxPragmaLegacyFileFormat</tabstop>
<tabstop>comboboxPragmaLockingMode</tabstop>
<tabstop>spinPragmaMaxPageCount</tabstop>
<tabstop>spinPragmaPageSize</tabstop>
<tabstop>checkboxPragmaReadUncommitted</tabstop>
<tabstop>checkboxPragmaRecursiveTriggers</tabstop>
<tabstop>checkboxPragmaReverseUnorderedSelects</tabstop>
<tabstop>spinPragmaSchemaVersion</tabstop>
<tabstop>checkboxPragmaSecureDelete</tabstop>
<tabstop>comboboxPragmaSynchronous</tabstop>
<tabstop>comboboxPragmaTempStore</tabstop>
<tabstop>spinPragmaUserVersion</tabstop>
<tabstop>spinPragmaWalAutoCheckpoint</tabstop>
<tabstop>buttonBoxPragmas</tabstop>
</tabstops>
<resources>
<include location="icons/icons.qrc"/>
@@ -1503,6 +2072,38 @@
</hint>
</hints>
</connection>
<connection>
<sender>buttonBoxPragmas</sender>
<signal>rejected()</signal>
<receiver>MainWindow</receiver>
<slot>loadPragmas()</slot>
<hints>
<hint type="sourcelabel">
<x>243</x>
<y>551</y>
</hint>
<hint type="destinationlabel">
<x>-1</x>
<y>470</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBoxPragmas</sender>
<signal>accepted()</signal>
<receiver>MainWindow</receiver>
<slot>savePragmas()</slot>
<hints>
<hint type="sourcelabel">
<x>715</x>
<y>550</y>
</hint>
<hint type="destinationlabel">
<x>802</x>
<y>522</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>fileOpen()</slot>
@@ -1543,5 +2144,7 @@
<slot>fileNew()</slot>
<slot>helpAbout()</slot>
<slot>on_delete_field()</slot>
<slot>loadPragmas()</slot>
<slot>savePragmas()</slot>
</slots>
</ui>