Files
sqlitebrowser/src/PreferencesDialog.ui
Manuel 5cf00ddd8d Leaving the loading of extensions enabled might be a security risk (#1558)
* Leaving the loading of extensions enabled might be a security risk

Using sqlite3_enable_load_extension not only allows loading extensions
through the C-API but also through the SQL functioon load_extension().
That might be a security risk if the user is unaware that executing an
SQL file can lead to native code execution and not only to database file
modification.

See issue #1551

* Preference for allowing loading extensions from SQL code

New setting that authorizes the execution of load_extension() from SQL
code. Default value, false, following the design decision of SQLite, that
disables this function unless by default.

Added notice about the option in the calltips of the two function
variants.
2018-10-10 21:26:59 +02:00

1771 lines
56 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PreferencesDialog</class>
<widget class="QDialog" name="PreferencesDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>597</width>
<height>614</height>
</rect>
</property>
<property name="windowTitle">
<string>Preferences</string>
</property>
<property name="modal">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tab_4">
<attribute name="title">
<string>&amp;General</string>
</attribute>
<layout class="QFormLayout" name="formLayout_3">
<item row="0" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Default &amp;location</string>
</property>
<property name="buddy">
<cstring>locationEdit</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QComboBox" name="comboDefaultLocation">
<item>
<property name="text">
<string>Remember last location</string>
</property>
</item>
<item>
<property name="text">
<string>Always use this location</string>
</property>
</item>
<item>
<property name="text">
<string>Remember last location for session only</string>
</property>
</item>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLineEdit" name="locationEdit">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>316</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="setLocationButton">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Lan&amp;guage</string>
</property>
<property name="buddy">
<cstring>languageComboBox</cstring>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="languageComboBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="sizeAdjustPolicy">
<enum>QComboBox::AdjustToContents</enum>
</property>
<property name="minimumContentsLength">
<number>35</number>
</property>
<property name="iconSize">
<size>
<width>20</width>
<height>15</height>
</size>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="labelToolbarStyle">
<property name="text">
<string>Toolbar style</string>
</property>
<property name="buddy">
<cstring>toolbarStyleComboBox</cstring>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="toolbarStyleComboBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="currentIndex">
<number>2</number>
</property>
<property name="sizeAdjustPolicy">
<enum>QComboBox::AdjustToContents</enum>
</property>
<property name="minimumContentsLength">
<number>35</number>
</property>
<property name="iconSize">
<size>
<width>20</width>
<height>15</height>
</size>
</property>
<item>
<property name="text">
<string>Only display the icon</string>
</property>
</item>
<item>
<property name="text">
<string>Only display the text</string>
</property>
</item>
<item>
<property name="text">
<string>The text appears beside the icon</string>
</property>
</item>
<item>
<property name="text">
<string>The text appears under the icon</string>
</property>
</item>
<item>
<property name="text">
<string>Follow the style</string>
</property>
</item>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="labelUseRemotes">
<property name="text">
<string>Show remote options</string>
</property>
<property name="buddy">
<cstring>checkUseRemotes</cstring>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QCheckBox" name="checkUseRemotes">
<property name="text">
<string>enabled</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="labelUpdates">
<property name="text">
<string>Automatic &amp;updates</string>
</property>
<property name="buddy">
<cstring>checkUpdates</cstring>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QCheckBox" name="checkUpdates">
<property name="text">
<string>enabled</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_16">
<property name="text">
<string>DB file extensions</string>
</property>
<property name="buddy">
<cstring>buttonManageFileExtension</cstring>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QPushButton" name="buttonManageFileExtension">
<property name="text">
<string>Manage</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>&amp;Database</string>
</attribute>
<layout class="QFormLayout" name="formLayout">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::FieldsStayAtSizeHint</enum>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Database &amp;encoding</string>
</property>
<property name="buddy">
<cstring>encodingComboBox</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="encodingComboBox">
<item>
<property name="text">
<string notr="true">UTF-8</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">UTF-16</string>
</property>
</item>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_5">
<property name="toolTip">
<string>Open databases with foreign keys enabled.</string>
</property>
<property name="text">
<string>&amp;Foreign keys</string>
</property>
<property name="buddy">
<cstring>foreignKeysCheckBox</cstring>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="foreignKeysCheckBox">
<property name="text">
<string>enabled</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Remove line breaks in schema &amp;view</string>
</property>
<property name="buddy">
<cstring>checkHideSchemaLinebreaks</cstring>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QCheckBox" name="checkHideSchemaLinebreaks">
<property name="toolTip">
<string>When enabled, the line breaks in the Schema column of the DB Structure tab, dock and printed output are removed.</string>
</property>
<property name="text">
<string>enabled</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Prefetch block si&amp;ze</string>
</property>
<property name="buddy">
<cstring>spinPrefetchSize</cstring>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="spinPrefetchSize">
<property name="minimum">
<number>255</number>
</property>
<property name="maximum">
<number>1000000</number>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QPushButton" name="buttonDatabaseAdvanced">
<property name="text">
<string>Advanced</string>
</property>
<property name="icon">
<iconset resource="icons/icons.qrc">
<normaloff>:/icons/down</normaloff>:/icons/down</iconset>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="SqlTextEdit" name="editDatabaseDefaultSqlText">
<property name="minimumSize">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>200</height>
</size>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="labelDatabaseDefaultSqlText">
<property name="text">
<string>SQ&amp;L to execute after opening database</string>
</property>
<property name="buddy">
<cstring>editDatabaseDefaultSqlText</cstring>
</property>
</widget>
</item>
<item row="8" column="1">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>180</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="4" column="1">
<widget class="QComboBox" name="defaultFieldTypeComboBox"/>
</item>
<item row="4" column="0">
<widget class="QLabel" name="defaultFieldTypeLabel">
<property name="text">
<string>Default field type</string>
</property>
<property name="buddy">
<cstring>defaultFieldTypeComboBox</cstring>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_5">
<attribute name="title">
<string>Data &amp;Browser</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0" rowspan="2" colspan="2">
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>Font</string>
</property>
<layout class="QFormLayout" name="formLayout_4">
<item row="0" column="0">
<widget class="QLabel" name="label_11">
<property name="text">
<string>&amp;Font</string>
</property>
<property name="buddy">
<cstring>comboDataBrowserFont</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QFontComboBox" name="comboDataBrowserFont"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_17">
<property name="text">
<string>Font si&amp;ze</string>
</property>
<property name="buddy">
<cstring>spinDataBrowserFontSize</cstring>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="spinDataBrowserFontSize"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_5">
<property name="title">
<string>Content</string>
</property>
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0">
<widget class="QLabel" name="label_symbol_limit">
<property name="text">
<string>Symbol limit in cell</string>
</property>
<property name="buddy">
<cstring>spinSymbolLimit</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="spinSymbolLimit">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>20000</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="spinCompleteThreshold">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>This is the maximum number of rows in a table for enabling the value completion based on current values in the column.
Can be set to 0 for disabling completion.</string>
</property>
<property name="whatsThis">
<string>This is the maximum number of rows in a table for enabling the value completion based on current values in the column.
Can be set to 0 for disabling completion.</string>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>100000000</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="labelCompleteThreshold">
<property name="text">
<string>Row count threshold for completion</string>
</property>
<property name="buddy">
<cstring>spinCompleteThreshold</cstring>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Field display</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="3">
<widget class="QLabel" name="label_12">
<property name="text">
<string>Displayed &amp;text</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="buddy">
<cstring>txtNull</cstring>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="lb_binary">
<property name="text">
<string>Binary</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="lb_null">
<property name="text">
<string>NULL</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="lb_regular">
<property name="text">
<string>Regular</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QFrame" name="fr_reg_fg">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="autoFillBackground">
<bool>true</bool>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="lb_text">
<property name="text">
<string>Text color</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QFrame" name="fr_null_fg">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="autoFillBackground">
<bool>true</bool>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="lb_background">
<property name="text">
<string>Background color</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QFrame" name="fr_bin_fg">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="autoFillBackground">
<bool>true</bool>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QFrame" name="fr_null_bg">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="autoFillBackground">
<bool>true</bool>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QFrame" name="fr_bin_bg">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="autoFillBackground">
<bool>true</bool>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QFrame" name="fr_reg_bg">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="autoFillBackground">
<bool>true</bool>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QLineEdit" name="txtNull">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<italic>true</italic>
</font>
</property>
<property name="text">
<string notr="true">NULL</string>
</property>
</widget>
</item>
<item row="4" column="3">
<widget class="QLineEdit" name="txtRegular">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<italic>false</italic>
</font>
</property>
<property name="text">
<string>Preview only (N/A)</string>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="3">
<widget class="QLineEdit" name="txtBlob">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<italic>true</italic>
</font>
</property>
<property name="text">
<string notr="true">BLOB</string>
</property>
<property name="readOnly">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
<string>Filters</string>
</property>
<layout class="QFormLayout" name="gridLayout_4">
<item row="1" column="1">
<widget class="QLineEdit" name="editFilterEscape">
<property name="maxLength">
<number>1</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_18">
<property name="text">
<string>Escape character</string>
</property>
<property name="buddy">
<cstring>editFilterEscape</cstring>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_19">
<property name="text">
<string>Delay time (&amp;ms)</string>
</property>
<property name="buddy">
<cstring>spinFilterDelay</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="spinFilterDelay">
<property name="toolTip">
<string>Set the waiting time before a new filter value is applied. Can be set to 0 for disabling waiting.</string>
</property>
<property name="maximum">
<number>5000</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>&amp;SQL</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QTreeWidget" name="treeSyntaxHighlighting">
<property name="showDropIndicator" stdset="0">
<bool>false</bool>
</property>
<property name="rootIsDecorated">
<bool>false</bool>
</property>
<column>
<property name="text">
<string>Settings name</string>
</property>
</column>
<column>
<property name="text">
<string>Context</string>
</property>
</column>
<column>
<property name="text">
<string>Colour</string>
</property>
</column>
<column>
<property name="text">
<string>Bold</string>
</property>
</column>
<column>
<property name="text">
<string>Italic</string>
</property>
</column>
<column>
<property name="text">
<string>Underline</string>
</property>
</column>
<item>
<property name="text">
<string notr="true">keyword</string>
</property>
<property name="text">
<string>Keyword</string>
</property>
<property name="text">
<string/>
</property>
<property name="text">
<string/>
</property>
<property name="text">
<string/>
</property>
<property name="text">
<string/>
</property>
</item>
<item>
<property name="text">
<string notr="true">function</string>
</property>
<property name="text">
<string>Function</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">table</string>
</property>
<property name="text">
<string>Table</string>
</property>
<property name="text">
<string/>
</property>
<property name="text">
<string/>
</property>
<property name="text">
<string/>
</property>
<property name="text">
<string/>
</property>
</item>
<item>
<property name="text">
<string notr="true">comment</string>
</property>
<property name="text">
<string>Comment</string>
</property>
<property name="text">
<string/>
</property>
<property name="text">
<string/>
</property>
<property name="text">
<string/>
</property>
<property name="text">
<string/>
</property>
</item>
<item>
<property name="text">
<string notr="true">identifier</string>
</property>
<property name="text">
<string>Identifier</string>
</property>
<property name="text">
<string/>
</property>
<property name="text">
<string/>
</property>
<property name="text">
<string/>
</property>
<property name="text">
<string/>
</property>
</item>
<item>
<property name="text">
<string notr="true">string</string>
</property>
<property name="text">
<string>String</string>
</property>
<property name="text">
<string/>
</property>
<property name="text">
<string/>
</property>
<property name="text">
<string/>
</property>
<property name="text">
<string/>
</property>
</item>
<item>
<property name="text">
<string notr="true">currentline</string>
</property>
<property name="text">
<string>Current line</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">background</string>
</property>
<property name="text">
<string>Background</string>
</property>
</item>
<item>
<property name="text">
<string notr="true">foreground</string>
</property>
<property name="text">
<string>Foreground</string>
</property>
</item>
</widget>
</item>
<item>
<layout class="QFormLayout" name="formLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>SQL editor &amp;font</string>
</property>
<property name="buddy">
<cstring>comboEditorFont</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QFontComboBox" name="comboEditorFont"/>
</item>
<item>
<widget class="QLabel" name="label_6">
<property name="text">
<string>SQL &amp;editor font size</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>spinEditorFontSize</cstring>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="spinEditorFontSize">
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>SQL &amp;results font size</string>
</property>
<property name="buddy">
<cstring>spinLogFontSize</cstring>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="spinLogFontSize">
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_13">
<property name="text">
<string>Tab size</string>
</property>
<property name="buddy">
<cstring>spinTabSize</cstring>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="spinTabSize">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>16</number>
</property>
<property name="value">
<number>4</number>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="wrapLabel">
<property name="text">
<string>&amp;Wrap lines</string>
</property>
<property name="buddy">
<cstring>wrapComboBox</cstring>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="wrapComboBox">
<item>
<property name="text">
<string>Never</string>
</property>
</item>
<item>
<property name="text">
<string>At word boundaries</string>
</property>
</item>
<item>
<property name="text">
<string>At character boundaries</string>
</property>
</item>
<item>
<property name="text">
<string>At whitespace boundaries</string>
</property>
</item>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_25">
<property name="text">
<string>&amp;Quotes for identifiers</string>
</property>
<property name="buddy">
<cstring>quoteComboBox</cstring>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QComboBox" name="quoteComboBox">
<property name="toolTip">
<string>Choose the quoting mechanism used by the application for identifiers in SQL code.</string>
</property>
<property name="whatsThis">
<string/>
</property>
<item>
<property name="text">
<string>&quot;Double quotes&quot; - Standard SQL (recommended)</string>
</property>
</item>
<item>
<property name="text">
<string>`Grave accents` - Traditional MySQL quotes</string>
</property>
</item>
<item>
<property name="text">
<string>[Square brackets] - Traditional MS SQL Server quotes</string>
</property>
</item>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_20">
<property name="text">
<string>Code co&amp;mpletion</string>
</property>
<property name="buddy">
<cstring>checkAutoCompletion</cstring>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QCheckBox" name="checkAutoCompletion">
<property name="text">
<string>enabled</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_24">
<property name="text">
<string>Keywords in &amp;UPPER CASE</string>
</property>
<property name="buddy">
<cstring>checkCompleteUpper</cstring>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QCheckBox" name="checkCompleteUpper">
<property name="toolTip">
<string>When set, the SQL keywords are completed in UPPER CASE letters.</string>
</property>
<property name="text">
<string>enabled</string>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_15">
<property name="text">
<string>Error indicators</string>
</property>
<property name="buddy">
<cstring>checkErrorIndicators</cstring>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QCheckBox" name="checkErrorIndicators">
<property name="toolTip">
<string>When set, the SQL code lines that caused errors during the last execution are highlighted and the results frame indicates the error in the background</string>
</property>
<property name="text">
<string>enabled</string>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Hori&amp;zontal tiling</string>
</property>
<property name="buddy">
<cstring>checkHorizontalTiling</cstring>
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QCheckBox" name="checkHorizontalTiling">
<property name="toolTip">
<string>If enabled the SQL code editor and the result table view are shown side by side instead of one over the other.</string>
</property>
<property name="text">
<string>enabled</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_3">
<attribute name="title">
<string>&amp;Extensions</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Select extensions to load for every database:</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QListWidget" name="listExtensions">
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="showDropIndicator" stdset="0">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QToolButton" name="buttonAddExtension">
<property name="toolTip">
<string>Add extension</string>
</property>
<property name="icon">
<iconset resource="icons/icons.qrc">
<normaloff>:/icons/load_extension</normaloff>:/icons/load_extension</iconset>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="buttonRemoveExtension">
<property name="toolTip">
<string>Remove extension</string>
</property>
<property name="icon">
<iconset resource="icons/icons.qrc">
<normaloff>:/icons/remove_extension</normaloff>:/icons/remove_extension</iconset>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="checkRegexDisabled">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;While supporting the REGEXP operator SQLite doesn't implement any regular expression&lt;br/&gt;algorithm but calls back the running application. DB Browser for SQLite implements this&lt;br/&gt;algorithm for you to let you use REGEXP out of the box. However, as there are multiple possible&lt;br/&gt;implementations of this and you might want to use another one, you're free to disable the&lt;br/&gt;application's implementation and load your own by using an extension. Requires restart of the application.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Disable Regular Expression extension</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkAllowLoadExtension">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;SQLite provides an SQL function for loading extensions from a shared library file. Activate this if you want to use the &lt;span style=&quot; font-style:italic;&quot;&gt;load_extension()&lt;/span&gt; function from SQL code.&lt;/p&gt;&lt;p&gt;For security reasons, extension loading is turned off by default and must be enabled through this setting. You can always load extensions through the GUI, even though this option is disabled.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>Allow loading extensions from SQL code</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tabRemote">
<attribute name="title">
<string>Remote</string>
</attribute>
<layout class="QFormLayout" name="formLayout_5">
<item row="1" column="0">
<widget class="QLabel" name="label_21">
<property name="text">
<string>CA certificates</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QTableWidget" name="tableCaCerts">
<property name="minimumSize">
<size>
<width>550</width>
<height>0</height>
</size>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::SingleSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<property name="horizontalScrollMode">
<enum>QAbstractItemView::ScrollPerPixel</enum>
</property>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<column>
<property name="text">
<string>Subject CN</string>
</property>
<property name="toolTip">
<string>Common Name</string>
</property>
</column>
<column>
<property name="text">
<string>Subject O</string>
</property>
<property name="toolTip">
<string>Organization</string>
</property>
</column>
<column>
<property name="text">
<string>Valid from</string>
</property>
</column>
<column>
<property name="text">
<string>Valid to</string>
</property>
</column>
<column>
<property name="text">
<string>Serial number</string>
</property>
</column>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_22">
<property name="text">
<string>Your certificates</string>
</property>
</widget>
</item>
<item row="2" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QTableWidget" name="tableClientCerts">
<property name="minimumSize">
<size>
<width>550</width>
<height>0</height>
</size>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::ExtendedSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<property name="horizontalScrollMode">
<enum>QAbstractItemView::ScrollPerPixel</enum>
</property>
<attribute name="horizontalHeaderHighlightSections">
<bool>false</bool>
</attribute>
<column>
<property name="text">
<string>File</string>
</property>
</column>
<column>
<property name="text">
<string>Subject CN</string>
</property>
<property name="toolTip">
<string>Subject Common Name</string>
</property>
</column>
<column>
<property name="text">
<string>Issuer CN</string>
</property>
<property name="toolTip">
<string>Issuer Common Name</string>
</property>
</column>
<column>
<property name="text">
<string>Valid from</string>
</property>
</column>
<column>
<property name="text">
<string>Valid to</string>
</property>
</column>
<column>
<property name="text">
<string>Serial number</string>
</property>
</column>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_7">
<item>
<widget class="QToolButton" name="buttonClientCertAdd">
<property name="icon">
<iconset resource="icons/icons.qrc">
<normaloff>:/icons/trigger_create</normaloff>:/icons/trigger_create</iconset>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="buttonClientCertRemove">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset resource="icons/icons.qrc">
<normaloff>:/icons/trigger_delete</normaloff>:/icons/trigger_delete</iconset>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_23">
<property name="text">
<string>Clone databases into</string>
</property>
</widget>
</item>
<item row="0" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLineEdit" name="editRemoteCloneDirectory">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>316</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="buttonRemoteBrowseCloneDirectory">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::RestoreDefaults|QDialogButtonBox::Save</set>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>SqlTextEdit</class>
<extends>QTextEdit</extends>
<header>sqltextedit.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>comboDefaultLocation</tabstop>
<tabstop>locationEdit</tabstop>
<tabstop>setLocationButton</tabstop>
<tabstop>languageComboBox</tabstop>
<tabstop>toolbarStyleComboBox</tabstop>
<tabstop>checkUseRemotes</tabstop>
<tabstop>checkUpdates</tabstop>
<tabstop>encodingComboBox</tabstop>
<tabstop>foreignKeysCheckBox</tabstop>
<tabstop>checkHideSchemaLinebreaks</tabstop>
<tabstop>spinPrefetchSize</tabstop>
<tabstop>defaultFieldTypeComboBox</tabstop>
<tabstop>buttonDatabaseAdvanced</tabstop>
<tabstop>editDatabaseDefaultSqlText</tabstop>
<tabstop>comboDataBrowserFont</tabstop>
<tabstop>spinDataBrowserFontSize</tabstop>
<tabstop>fr_null_fg</tabstop>
<tabstop>fr_null_bg</tabstop>
<tabstop>txtNull</tabstop>
<tabstop>fr_bin_fg</tabstop>
<tabstop>fr_bin_bg</tabstop>
<tabstop>txtBlob</tabstop>
<tabstop>fr_reg_fg</tabstop>
<tabstop>fr_reg_bg</tabstop>
<tabstop>txtRegular</tabstop>
<tabstop>spinFilterDelay</tabstop>
<tabstop>editFilterEscape</tabstop>
<tabstop>treeSyntaxHighlighting</tabstop>
<tabstop>comboEditorFont</tabstop>
<tabstop>spinEditorFontSize</tabstop>
<tabstop>spinLogFontSize</tabstop>
<tabstop>spinTabSize</tabstop>
<tabstop>checkAutoCompletion</tabstop>
<tabstop>checkErrorIndicators</tabstop>
<tabstop>checkHorizontalTiling</tabstop>
<tabstop>listExtensions</tabstop>
<tabstop>buttonAddExtension</tabstop>
<tabstop>buttonRemoveExtension</tabstop>
<tabstop>checkRegexDisabled</tabstop>
<tabstop>editRemoteCloneDirectory</tabstop>
<tabstop>buttonRemoteBrowseCloneDirectory</tabstop>
<tabstop>tableCaCerts</tabstop>
<tabstop>tableClientCerts</tabstop>
<tabstop>buttonClientCertAdd</tabstop>
<tabstop>buttonClientCertRemove</tabstop>
<tabstop>tabWidget</tabstop>
</tabstops>
<resources>
<include location="icons/icons.qrc"/>
</resources>
<connections>
<connection>
<sender>buttonAddExtension</sender>
<signal>clicked()</signal>
<receiver>PreferencesDialog</receiver>
<slot>addExtension()</slot>
<hints>
<hint type="sourcelabel">
<x>571</x>
<y>97</y>
</hint>
<hint type="destinationlabel">
<x>245</x>
<y>137</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonRemoveExtension</sender>
<signal>clicked()</signal>
<receiver>PreferencesDialog</receiver>
<slot>removeExtension()</slot>
<hints>
<hint type="sourcelabel">
<x>571</x>
<y>135</y>
</hint>
<hint type="destinationlabel">
<x>245</x>
<y>137</y>
</hint>
</hints>
</connection>
<connection>
<sender>treeSyntaxHighlighting</sender>
<signal>itemDoubleClicked(QTreeWidgetItem*,int)</signal>
<receiver>PreferencesDialog</receiver>
<slot>showColourDialog(QTreeWidgetItem*,int)</slot>
<hints>
<hint type="sourcelabel">
<x>103</x>
<y>48</y>
</hint>
<hint type="destinationlabel">
<x>395</x>
<y>0</y>
</hint>
</hints>
</connection>
<connection>
<sender>setLocationButton</sender>
<signal>clicked()</signal>
<receiver>PreferencesDialog</receiver>
<slot>chooseLocation()</slot>
<hints>
<hint type="sourcelabel">
<x>571</x>
<y>114</y>
</hint>
<hint type="destinationlabel">
<x>294</x>
<y>202</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonDatabaseAdvanced</sender>
<signal>toggled(bool)</signal>
<receiver>labelDatabaseDefaultSqlText</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>365</x>
<y>207</y>
</hint>
<hint type="destinationlabel">
<x>108</x>
<y>280</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonDatabaseAdvanced</sender>
<signal>toggled(bool)</signal>
<receiver>editDatabaseDefaultSqlText</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>365</x>
<y>207</y>
</hint>
<hint type="destinationlabel">
<x>365</x>
<y>252</y>
</hint>
</hints>
</connection>
<connection>
<sender>checkUseRemotes</sender>
<signal>toggled(bool)</signal>
<receiver>PreferencesDialog</receiver>
<slot>activateRemoteTab(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>161</x>
<y>172</y>
</hint>
<hint type="destinationlabel">
<x>382</x>
<y>572</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonClientCertAdd</sender>
<signal>clicked()</signal>
<receiver>PreferencesDialog</receiver>
<slot>addClientCertificate()</slot>
<hints>
<hint type="sourcelabel">
<x>578</x>
<y>315</y>
</hint>
<hint type="destinationlabel">
<x>596</x>
<y>243</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonClientCertRemove</sender>
<signal>clicked()</signal>
<receiver>PreferencesDialog</receiver>
<slot>removeClientCertificate()</slot>
<hints>
<hint type="sourcelabel">
<x>578</x>
<y>353</y>
</hint>
<hint type="destinationlabel">
<x>597</x>
<y>295</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonRemoteBrowseCloneDirectory</sender>
<signal>clicked()</signal>
<receiver>PreferencesDialog</receiver>
<slot>chooseRemoteCloneDirectory()</slot>
<hints>
<hint type="sourcelabel">
<x>567</x>
<y>54</y>
</hint>
<hint type="destinationlabel">
<x>595</x>
<y>41</y>
</hint>
</hints>
</connection>
<connection>
<sender>checkAutoCompletion</sender>
<signal>toggled(bool)</signal>
<receiver>checkCompleteUpper</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>474</x>
<y>464</y>
</hint>
<hint type="destinationlabel">
<x>474</x>
<y>492</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>clicked(QAbstractButton*)</signal>
<receiver>PreferencesDialog</receiver>
<slot>on_buttonBox_clicked(QAbstractButton*)</slot>
<hints>
<hint type="sourcelabel">
<x>385</x>
<y>591</y>
</hint>
<hint type="destinationlabel">
<x>385</x>
<y>306</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>saveSettings()</slot>
<slot>chooseLocation()</slot>
<slot>showColourDialog(QTreeWidgetItem*,int)</slot>
<slot>addExtension()</slot>
<slot>removeExtension()</slot>
<slot>activateRemoteTab(bool)</slot>
<slot>addClientCertificate()</slot>
<slot>removeClientCertificate()</slot>
<slot>chooseRemoteCloneDirectory()</slot>
</slots>
</ui>