goldendict-ng/preferences.ui

1951 lines
66 KiB
Plaintext
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Preferences</class>
<widget class="QDialog" name="Preferences">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>721</width>
<height>506</height>
</rect>
</property>
<property name="windowTitle">
<string>Preferences</string>
</property>
<property name="windowIcon">
<iconset resource="resources.qrc">
<normaloff>:/icons/configure.svg</normaloff>:/icons/configure.svg</iconset>
</property>
<property name="modal">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_8">
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<property name="iconSize">
<size>
<width>15</width>
<height>15</height>
</size>
</property>
<property name="usesScrollButtons">
<bool>false</bool>
</property>
<property name="documentMode">
<bool>false</bool>
</property>
<widget class="QWidget" name="tab">
<attribute name="icon">
<iconset resource="resources.qrc">
<normaloff>:/icons/interface.svg</normaloff>:/icons/interface.svg</iconset>
</attribute>
<attribute name="title">
<string>&amp;Interface</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_2">
<item row="2" column="1">
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Startup</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QCheckBox" name="cbAutostart">
<property name="toolTip">
<string>Automatically starts GoldenDict after operation system bootup.</string>
</property>
2011-11-02 23:37:50 +00:00
<property name="text">
<string>Start with system</string>
2011-11-02 23:37:50 +00:00
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="8" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="addonStylesLabel">
<property name="text">
<string>Add-on style:</string>
</property>
</widget>
</item>
<item>
<widget class="StylesComboBox" name="addonStyles"/>
</item>
<item>
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="2" column="0">
<widget class="QGroupBox" name="enableTrayIcon">
<property name="toolTip">
2017-09-16 13:14:26 +00:00
<string>When enabled, an icon appears in the system tray area which can be used
to open main window and perform other tasks.</string>
</property>
<property name="title">
<string>Enable system tray icon</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="flat">
<bool>false</bool>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>false</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QCheckBox" name="startToTray">
<property name="toolTip">
<string>With this on, the application starts directly to system tray without showing
its main window.</string>
</property>
<property name="text">
<string>Start to system tray</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="closeToTray">
<property name="toolTip">
<string>With this on, an attempt to close main window would hide it instead of closing
the application.</string>
</property>
<property name="text">
<string>Close to system tray</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="doubleClickTranslates">
<property name="text">
<string>Double-click translates the word clicked</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QCheckBox" name="escKeyHidesMainWindow">
<property name="toolTip">
<string>Normally, pressing ESC key moves focus to the translation line.
With this on however, it will hide the main window.</string>
</property>
<property name="text">
<string>ESC key hides main window</string>
</property>
</widget>
</item>
2012-12-10 14:14:13 +00:00
<item row="4" column="0">
<widget class="QCheckBox" name="selectBySingleClick">
<property name="toolTip">
<string>Turn this option on if you want to select words by single mouse click</string>
</property>
<property name="text">
<string>Select word by single click</string>
</property>
</widget>
</item>
<item row="0" column="0" colspan="2">
<spacer name="verticalSpacer_8">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0" colspan="2">
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Tabbed browsing</string>
</property>
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0">
<widget class="QCheckBox" name="newTabsOpenInBackground">
<property name="toolTip">
<string>Normally, opening a new tab switches to it immediately.
With this on however, new tabs will be opened without
switching to them.</string>
</property>
<property name="text">
<string>Open new tabs in background</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="newTabsOpenAfterCurrentOne">
<property name="toolTip">
<string>With this on, new tabs are opened just after the
current, active one. Otherwise they are added to
be the last ones.</string>
</property>
<property name="text">
<string>Open new tabs after the current one</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QCheckBox" name="hideSingleTab">
<property name="toolTip">
<string>Select this option if you don't want to see the main tab bar when only a single tab is opened.</string>
</property>
<property name="text">
<string>Hide single tab</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="mruTabOrder">
<property name="text">
<string>Ctrl-Tab navigates tabs in MRU order</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
2012-12-10 14:14:13 +00:00
<item row="6" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QLabel" name="label_6">
<property name="text">
<string>Interface language:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="interfaceLanguage"/>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_9">
<property name="text">
<string>Display style:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="displayStyle"/>
</item>
2014-06-25 14:01:11 +00:00
<item>
<spacer name="horizontalSpacer_12">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_16">
<property name="text">
<string>Help language</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="helpLanguage"/>
</item>
<item>
<spacer name="horizontalSpacer_7">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
2012-12-10 14:14:13 +00:00
<item row="10" column="0" colspan="2">
<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>
<item row="3" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_13">
2012-12-10 14:14:13 +00:00
<item>
<widget class="QLabel" name="maxDictsInContextMenuLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>Adjust this value to avoid huge context menus.</string>
</property>
2012-12-10 14:14:13 +00:00
<property name="text">
<string>Context menu dictionaries limit:</string>
2012-12-10 14:14:13 +00:00
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="maxDictsInContextMenu">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="value">
<number>20</number>
</property>
</widget>
2012-12-10 14:14:13 +00:00
</item>
<item>
<widget class="QLabel" name="label_12">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
2012-12-10 14:14:13 +00:00
</property>
<property name="text">
<string/>
2012-12-10 14:14:13 +00:00
</property>
</widget>
2012-12-10 14:14:13 +00:00
</item>
</layout>
</item>
Add "Automatically scroll to target article" option When a user clicks on a link in a dictionary or requests translation of a word by double-clicking or translates selection via the context menu, at first the article from the highest-priority dictionary is at the top. Then, after approximately one second, the article from the dictionary, out of which the translation was requested, becomes current and the view scrolls down to this article placing it on top, hiding articles from the dictionaries above it. Such application behavior is inconvenient in some workflows so that the user manually navigates to the top dictionary translation when this automatic scrolling happens. For example: a user has English->Russian dictionaries and English->English dictionaries. The English->Russian dictionaries are higher up in the dictionary order because they provide easier/faster to understand translations. Some rare words and phrases are missing from the English->Russian dictionaries however. Thus the user occasionally reads the English explanation of a word/phrase. When the user double-clicks on a word or follows a link in the English->English dictionary article, she would rather see translations from the preferable English->Russian dictionaries. The new option allows to disable automatic scrolling and ensure that articles from higher-priority dictionaries are visible. The option doesn't affect backward/forward navigation via arrow buttons or Alt+Arrow shortcuts: these still scroll to the stored vertical position among articles. This remaining automatic scrolling happens much faster, is not a problem for the described use case and hopefully for other use cases.
2019-01-11 13:50:40 +00:00
<item row="4" column="1">
<widget class="QCheckBox" name="autoScrollToTargetArticle">
<property name="toolTip">
<string>Normally, clicking on a link, double-clicking on a word or looking up
selection in an article loads the translation and almost immediately
scrolls to the article from the same dictionary. With this option off,
however, the article from the topmost dictionary is shown.</string>
</property>
<property name="text">
<string>Automatically scroll to target article</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_4">
<attribute name="icon">
<iconset resource="resources.qrc">
<normaloff>:/icons/wizard.svg</normaloff>:/icons/wizard.svg</iconset>
</attribute>
<attribute name="title">
<string>&amp;Scan Popup</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_10">
<item>
<spacer name="verticalSpacer_16">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QGroupBox" name="enableScanPopup">
<property name="toolTip">
<string>When enabled, a translation popup window would be shown each time
you point your mouse on any word on the screen (Windows) or select
any word with mouse (Linux). When enabled, you can switch it on and
off from main window or tray icon.</string>
</property>
<property name="title">
<string>Enable scan popup functionality</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>false</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QCheckBox" name="startWithScanPopupOn">
<property name="toolTip">
<string>Chooses whether the scan popup mode is on by default or not. If checked,
the program would always start with the scan popup active.</string>
</property>
<property name="text">
<string>Start with scan popup turned on</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="enableScanPopupModifiers">
<property name="toolTip">
<string>With this enabled, the popup would only show up if all chosen keys are
in the pressed state when the word selection changes.</string>
</property>
<property name="text">
<string>Only show popup when all selected keys are kept pressed:</string>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="scanPopupModifiers">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="lineWidth">
<number>0</number>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="1">
<widget class="QCheckBox" name="leftCtrl">
<property name="toolTip">
<string>Left Ctrl only</string>
</property>
<property name="text">
<string>Left Ctrl</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QCheckBox" name="rightShift">
<property name="toolTip">
<string>Right Shift only</string>
</property>
<property name="text">
<string>Right Shift</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="altKey">
<property name="toolTip">
<string>Alt key</string>
</property>
<property name="text">
<string>Alt</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QCheckBox" name="ctrlKey">
<property name="toolTip">
<string>Ctrl key</string>
</property>
<property name="text">
<string>Ctrl</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="leftAlt">
<property name="toolTip">
<string>Left Alt only</string>
</property>
<property name="text">
<string>Left Alt</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QCheckBox" name="shiftKey">
<property name="toolTip">
<string>Shift key</string>
</property>
<property name="text">
<string>Shift</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="rightAlt">
<property name="toolTip">
<string>Right Alt only</string>
</property>
<property name="text">
<string>Right Alt</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QCheckBox" name="rightCtrl">
<property name="toolTip">
<string>Right Ctrl only</string>
</property>
<property name="text">
<string>Right Ctrl</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QCheckBox" name="leftShift">
<property name="toolTip">
<string>Left Shift only</string>
</property>
<property name="text">
<string>Left Shift</string>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QCheckBox" name="winKey">
<property name="toolTip">
<string>Windows key or Meta key</string>
</property>
<property name="text">
<string>Win/Meta</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QFrame" name="frame">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>0</number>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
</layout>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QCheckBox" name="scanPopupAltMode">
<property name="toolTip">
<string>Normally, in order to activate a popup you have to
maintain the chosen keys pressed while you select
a word. With this enabled, the chosen keys may also
be pressed shortly after the selection is done.</string>
</property>
<property name="text">
<string>Keys may also be pressed afterwards, within</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="scanPopupAltModeSecs">
<property name="toolTip">
<string>To avoid false positives, the keys are only monitored
after the selection's done for a limited amount of
seconds, which is specified here.</string>
</property>
<property name="wrapping">
<bool>false</bool>
</property>
<property name="frame">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>99</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_7">
<property name="text">
<string>secs</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="showScanFlag">
<property name="toolTip">
<string>Show a flag window before showing popup window, click the flag to show popup window. </string>
</property>
<property name="text">
<string>Show scan flag when word is selected</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="ignoreOwnClipboardChanges">
<property name="toolTip">
<string>Do not show popup when selection or clipboard in one of GoldenDict's own windows changes</string>
</property>
<property name="text">
<string>Ignore GoldenDict's own selection and clipboard changes</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QCheckBox" name="scanToMainWindow">
<property name="toolTip">
<string>Send translated word to main window instead of to show it in popup window</string>
</property>
<property name="text">
<string>Send translated word to main window</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_6">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
2011-07-27 12:47:29 +00:00
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_5">
<attribute name="icon">
<iconset resource="resources.qrc">
<normaloff>:/icons/hotkeys.svg</normaloff>:/icons/hotkeys.svg</iconset>
</attribute>
<attribute name="title">
<string>Hotkeys</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_12">
<item>
<spacer name="verticalSpacer_11">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>19</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="enableMainWindowHotkey">
<property name="text">
<string>Use the following hotkey to show or hide the main window:</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="HotKeyEdit" name="mainWindowHotkey">
<property name="enabled">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="enableClipboardHotkey">
<property name="text">
<string>Use the following hotkey to translate a word from clipboard:</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="HotKeyEdit" name="clipboardHotkey">
<property name="enabled">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer_13">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>16</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_8">
<property name="text">
<string>The hotkeys are global and work from any program and within any context as long as GoldenDict is running in background.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="brokenXRECORD">
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; color:#ff0000;&quot;&gt;Note: You appear to be running an X.Org XServer release which has the RECORD extension broken. Hotkeys in GoldenDict will probably not work. This must be fixed in the server itself. Please refer to the following &lt;/span&gt;&lt;a href=&quot;https://bugs.freedesktop.org/show_bug.cgi?id=20500&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;bug entry&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; color:#ff0000;&quot;&gt; and leave a comment there if you like.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_12">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>53</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="icon">
<iconset resource="resources.qrc">
<normaloff>:/icons/playsound_color.svg</normaloff>:/icons/playsound_color.svg</iconset>
</attribute>
<attribute name="title">
<string>&amp;Audio</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_7">
<item>
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>Pronunciation</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_15">
<item>
<widget class="QCheckBox" name="pronounceOnLoadMain">
<property name="text">
<string>Auto-pronounce words in main window</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="pronounceOnLoadPopup">
<property name="text">
<string>Auto-pronounce words in scan popup</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
<string>Playback</string>
</property>
<layout class="QGridLayout" name="gridLayout_audioPlayer">
<item row="0" column="0">
<widget class="QRadioButton" name="useInternalPlayer">
<property name="toolTip">
<string>Play audio files via built-in audio support</string>
</property>
<property name="text">
<string>Use internal player:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="internalPlayerBackend">
<property name="toolTip">
<string>Choose audio back end</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QRadioButton" name="useExternalPlayer">
<property name="toolTip">
<string>Use any external program to play audio files</string>
</property>
<property name="text">
<string>Use external program:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="audioPlaybackProgram">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Enter audio player command line</string>
</property>
</widget>
</item>
</layout>
</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>46</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_3">
<attribute name="icon">
<iconset resource="resources.qrc">
<normaloff>:/icons/network.svg</normaloff>:/icons/network.svg</iconset>
</attribute>
<attribute name="title">
<string>&amp;Network</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_9">
<item>
<spacer name="verticalSpacer_5">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QGroupBox" name="useProxyServer">
<property name="toolTip">
<string>Enable if you wish to use a proxy server
for all program's network requests.</string>
</property>
<property name="title">
<string>Use proxy server</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>false</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
2014-04-01 17:00:13 +00:00
<widget class="QRadioButton" name="systemProxy">
<property name="text">
<string>System proxy</string>
</property>
</widget>
</item>
<item>
2014-04-01 17:00:13 +00:00
<widget class="QRadioButton" name="customProxy">
<property name="text">
<string>Custom proxy</string>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="customSettingsGroup">
<property name="title">
<string>Custom settings</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_18">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Type:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="proxyType"/>
</item>
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Host:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="proxyHost"/>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Port:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="proxyPort">
<property name="maximum">
<number>65535</number>
</property>
<property name="value">
<number>8080</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>User:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="proxyUser"/>
</item>
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>Password:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="proxyPassword">
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_14">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="disallowContentFromOtherSites">
<property name="toolTip">
<string>Enabling this would make GoldenDict block most advertisements
by disallowing content (images, frames) not originating from the site
you are browsing. If some site breaks because of this, try disabling this.</string>
</property>
<property name="text">
<string>Disallow loading content from other sites (hides most advertisements)</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="enableWebPlugins">
<property name="toolTip">
<string>Enabling this would allow to listen to sound pronunciations from
online dictionaries that rely on Flash or other web plugins.
Plugin must be installed for this option to work.</string>
</property>
<property name="text">
<string>Enable web plugins</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="hideGoldenDictHeader">
<property name="toolTip">
<string>Some sites detect GoldenDict via HTTP headers and block the requests.
Enable this option to workaround the problem.</string>
</property>
<property name="text">
<string>Do not identify GoldenDict in HTTP headers</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_11">
<item>
<widget class="QLabel" name="label_20">
<property name="text">
<string>Maximum network cache size:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="maxNetworkCacheSize">
<property name="toolTip">
<string>Maximum disk space occupied by GoldenDict's network cache in
%1
If set to 0 the network disk cache will be disabled.</string>
</property>
<property name="suffix">
<string> MiB</string>
</property>
<property name="maximum">
<number>2000</number>
</property>
<property name="value">
<number>50</number>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="clearNetworkCacheOnExit">
<property name="toolTip">
<string>When this option is enabled, GoldenDict
clears its network cache from disk during exit.</string>
</property>
<property name="text">
<string>Clear network cache on exit</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_15">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer_10">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="checkForNewReleases">
<property name="toolTip">
<string>When this is enabled, the program periodically
checks if a new, updated version of GoldenDict
is available for download. If it is so, the program
informs the user about it and prompts to open a
download page.</string>
</property>
<property name="text">
<string>Check for new program releases periodically</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>39</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_FTS">
<attribute name="icon">
<iconset resource="resources.qrc">
2022-01-25 14:54:17 +00:00
<normaloff>:/icons/fulltext.svg</normaloff>:/icons/fulltext.svg</iconset>
</attribute>
<attribute name="title">
<string>Full-text search</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_19">
<item>
<spacer name="verticalSpacer_9">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QGroupBox" name="ftsGroupBox">
<property name="title">
<string>Allow full-text search for:</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>true</bool>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0">
<widget class="QCheckBox" name="allowAard">
<property name="text">
<string notr="true">Aard</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="allowBGL">
<property name="text">
<string notr="true">BGL</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="allowDictD">
<property name="text">
<string notr="true">DictD</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="allowDSL">
<property name="text">
<string notr="true">DSL</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="allowMDict">
<property name="text">
<string notr="true">MDict</string>
</property>
</widget>
</item>
2015-01-22 15:17:05 +00:00
<item row="5" column="0">
<widget class="QCheckBox" name="allowSDict">
<property name="text">
<string notr="true">SDict</string>
</property>
</widget>
</item>
2015-01-22 15:17:05 +00:00
<item row="0" column="1">
<widget class="QCheckBox" name="allowSlob">
<property name="text">
<string notr="true">Slob</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="allowStardict">
<property name="text">
<string notr="true">Stardict</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QCheckBox" name="allowXDXF">
<property name="text">
<string notr="true">XDXF</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QCheckBox" name="allowZim">
<property name="text">
<string notr="true">Zim</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QCheckBox" name="allowEpwing">
<property name="text">
<string notr="true">Epwing</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QCheckBox" name="allowGls">
<property name="text">
<string notr="true">GLS</string>
</property>
</widget>
</item>
2015-01-22 15:17:05 +00:00
<item row="6" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout_14">
<item>
<widget class="QLabel" name="label_14">
<property name="text">
2014-05-11 14:39:54 +00:00
<string>Don't search in dictionaries containing more than</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="maxDictionarySize">
<property name="maximum">
<number>10000000</number>
</property>
<property name="singleStep">
<number>10000</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_15">
<property name="text">
<string>articles (0 - unlimited)</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_10">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_7">
<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>
</widget>
<widget class="QWidget" name="tab_Advanced">
2022-01-25 14:54:17 +00:00
<attribute name="icon">
<iconset resource="resources.qrc">
<normaloff>:/icons/advanced.svg</normaloff>:/icons/advanced.svg</iconset>
</attribute>
<attribute name="title">
<string>Ad&amp;vanced</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_11">
<item>
Allow customizing unpinned scan popup window flags on X11 with Qt5 My tests in many desktop environments and window managers indicate that no single configuration works perfectly in all environments. There are also behavior differences between Qt::Popup and Qt::Tool flags, which are not exactly bugs, so I suppose users might subjectively prefer different options. Customizing the flags allows the user to prevent unpinned scan popup window flickering with Qt5 on Linux. In a way adding these options fixes issue #645, which is: the scan popup window blinks rapidly, barely noticeably in some applications, such as Calibre ebook-viewer and Chromium. In this case the scan popup window usually ends up hidden when selection ends, unless it was finished with a jerk. I have tested the new options in 9 desktop environments and window managers: at least one configuration for each eliminates #645 and makes the scan popup window work the same as with Qt4 in this regard: the popup window remains visible, text in the popup's translation line keeps up with the text selection in the external application, and the selected text is being translated on the fly. Moreover, for each tested DE/WM, at least one configuration makes the scan popup window work perfectly as far as I am concerned. This issue was partially worked around with a 200ms scan popup delay timer in the recent commit 58e41fe3ceb769cab37608e36637044e597ba1f8 for the duplicate issue #854. However the timer solution is incomplete because it requires the user to select text quickly and without delays. If global mouse selection does not change for 200ms while the left mouse button is held down, the user will likely not see the scan popup when (s)he finishes selection, and will have to try selecting again - hopefully faster this time. The 200ms delay is no longer critically important after this commit, but it is still beneficial: the lookup query changes less often, which in turn reduces article definition update frequency. So the delay improves the UI (perhaps subjectively) and performance.
2018-04-09 17:50:23 +00:00
<layout class="QHBoxLayout" name="horizontalLayout_17">
<item>
<widget class="QGroupBox" name="groupBox_ScanPopupWindowFlags">
<property name="title">
<string>ScanPopup unpinned window flags</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_22">
<item>
<widget class="QComboBox" name="scanPopupUnpinnedWindowFlags">
<property name="toolTip">
<string>Experiment with non-default flags if the unpinned scan popup window misbehaves</string>
</property>
<item>
<property name="text">
<string>&lt;default&gt;</string>
</property>
</item>
<item>
<property name="text">
<string>Popup</string>
</property>
</item>
<item>
<property name="text">
<string>Tool</string>
</property>
</item>
</widget>
</item>
<item>
<widget class="QCheckBox" name="scanPopupUnpinnedBypassWMHint">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>This hint can be combined with non-default window flags</string>
</property>
<property name="text">
<string>Bypass window manager hint</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_18">
<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>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_13">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_15">
<item>
<widget class="QGroupBox" name="historyBox">
<property name="title">
<string>History</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_14">
<item>
<widget class="QCheckBox" name="storeHistory">
<property name="toolTip">
<string>Turn this option on to store history of the translated words</string>
</property>
<property name="text">
<string>Store &amp;history</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_9">
<property name="topMargin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="historySizeLabel">
<property name="toolTip">
<string>Specify the maximum number of entries to keep in history.</string>
</property>
<property name="text">
<string>Maximum history size:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="historyMaxSizeField">
<property name="accelerated">
<bool>true</bool>
</property>
<property name="maximum">
<number>99999</number>
</property>
<property name="value">
<number>500</number>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_8">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_10">
<item>
<widget class="QLabel" name="label_10">
<property name="toolTip">
<string>History saving interval. If set to 0 history will be saved only during exit.</string>
</property>
<property name="statusTip">
<string/>
</property>
<property name="text">
<string>Save every</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="historySaveIntervalField">
<property name="statusTip">
<string/>
</property>
<property name="maximum">
<number>120</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_11">
<property name="text">
<string>minutes</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_9">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="favoritesBox">
<property name="title">
<string>Favorites</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_21">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_16">
<item>
<widget class="QLabel" name="label_17">
<property name="toolTip">
<string>Favorites saving interval. If set to 0 Favorites will be saved only during exit.</string>
</property>
<property name="text">
<string>Save every</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="favoritesSaveIntervalField">
<property name="maximum">
<number>120</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_18">
<property name="text">
<string>minutes</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="confirmFavoritesDeletion">
<property name="toolTip">
<string>Turn this option on to confirm every operation of items deletion</string>
</property>
<property name="text">
<string>Confirmation for items deletion</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_15">
<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>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="groupBox_6">
<property name="title">
<string>Articles</string>
</property>
<layout class="QGridLayout" name="gridLayout_3">
Add options to limit input phrase length When a long text is accidentally selected or copied while the scan popup is on, Goldendict spends a lot of CPU time to gradually create a "No translation..." article. When translation of huge (e.g. 15 MB) text from the clipboard is (accidentally) requested, Goldendict freezes for a while. Turning the added input phrase limit option on eliminates this waste of the CPU time. I have implemented these options primarily for selection and clipboard, but they also affect mouse-over translation on Windows and command line translation requests. This is mostly because I did not bother to limit the options' scope. I guess hovering over an extremely long text without spaces (e.g. Base64-encoded) could cause the same performance issue on Windows. The command-line translation could be requested from a script that integrates Goldendict with some other application, from which long text could be sent for translation by accident. I hope that the default value of 200 characters will be sufficient for just about any real-world user input in any language. The option is on by default, because the default length limit is generous and any longer text is unlikely to be sent for translation intentionally. My personal preference for the input phrase length limit is 100 symbols. ArticleView::pasteTriggered() didn't call QString::simplified() on the text retrieved from the clipboard. I assumed this was an oversight, so now it *is* called - indirectly, via Preferences::sanitizeInputPhrase().
2020-11-06 19:51:30 +00:00
<item row="0" column="0">
<widget class="QCheckBox" name="collapseBigArticles">
<property name="toolTip">
<string>Select this option to automatic collapse big articles</string>
</property>
<property name="text">
<string>Collapse articles more than</string>
</property>
</widget>
</item>
<item row="0" column="1">
Add options to limit input phrase length When a long text is accidentally selected or copied while the scan popup is on, Goldendict spends a lot of CPU time to gradually create a "No translation..." article. When translation of huge (e.g. 15 MB) text from the clipboard is (accidentally) requested, Goldendict freezes for a while. Turning the added input phrase limit option on eliminates this waste of the CPU time. I have implemented these options primarily for selection and clipboard, but they also affect mouse-over translation on Windows and command line translation requests. This is mostly because I did not bother to limit the options' scope. I guess hovering over an extremely long text without spaces (e.g. Base64-encoded) could cause the same performance issue on Windows. The command-line translation could be requested from a script that integrates Goldendict with some other application, from which long text could be sent for translation by accident. I hope that the default value of 200 characters will be sufficient for just about any real-world user input in any language. The option is on by default, because the default length limit is generous and any longer text is unlikely to be sent for translation intentionally. My personal preference for the input phrase length limit is 100 symbols. ArticleView::pasteTriggered() didn't call QString::simplified() on the text retrieved from the clipboard. I assumed this was an oversight, so now it *is* called - indirectly, via Preferences::sanitizeInputPhrase().
2020-11-06 19:51:30 +00:00
<widget class="QSpinBox" name="articleSizeLimit">
<property name="toolTip">
<string>Articles longer than this size will be collapsed</string>
</property>
<property name="maximum">
<number>100000</number>
</property>
<property name="singleStep">
<number>50</number>
</property>
<property name="value">
<number>2000</number>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_13">
<property name="text">
<string>symbols</string>
</property>
</widget>
</item>
<item row="0" column="3">
<spacer name="horizontalSpacer_11">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="limitInputPhraseLength">
<property name="toolTip">
<string>Turn this option on to ignore unreasonably long input text
from mouse-over, selection, clipboard or command line</string>
</property>
<property name="text">
<string>Ignore input phrases longer than</string>
</property>
<property name="checked">
<bool>false</bool>
Add options to limit input phrase length When a long text is accidentally selected or copied while the scan popup is on, Goldendict spends a lot of CPU time to gradually create a "No translation..." article. When translation of huge (e.g. 15 MB) text from the clipboard is (accidentally) requested, Goldendict freezes for a while. Turning the added input phrase limit option on eliminates this waste of the CPU time. I have implemented these options primarily for selection and clipboard, but they also affect mouse-over translation on Windows and command line translation requests. This is mostly because I did not bother to limit the options' scope. I guess hovering over an extremely long text without spaces (e.g. Base64-encoded) could cause the same performance issue on Windows. The command-line translation could be requested from a script that integrates Goldendict with some other application, from which long text could be sent for translation by accident. I hope that the default value of 200 characters will be sufficient for just about any real-world user input in any language. The option is on by default, because the default length limit is generous and any longer text is unlikely to be sent for translation intentionally. My personal preference for the input phrase length limit is 100 symbols. ArticleView::pasteTriggered() didn't call QString::simplified() on the text retrieved from the clipboard. I assumed this was an oversight, so now it *is* called - indirectly, via Preferences::sanitizeInputPhrase().
2020-11-06 19:51:30 +00:00
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="inputPhraseLengthLimit">
<property name="toolTip">
<string>Input phrases longer than this size will be ignored</string>
</property>
<property name="maximum">
<number>9999999</number>
Add options to limit input phrase length When a long text is accidentally selected or copied while the scan popup is on, Goldendict spends a lot of CPU time to gradually create a "No translation..." article. When translation of huge (e.g. 15 MB) text from the clipboard is (accidentally) requested, Goldendict freezes for a while. Turning the added input phrase limit option on eliminates this waste of the CPU time. I have implemented these options primarily for selection and clipboard, but they also affect mouse-over translation on Windows and command line translation requests. This is mostly because I did not bother to limit the options' scope. I guess hovering over an extremely long text without spaces (e.g. Base64-encoded) could cause the same performance issue on Windows. The command-line translation could be requested from a script that integrates Goldendict with some other application, from which long text could be sent for translation by accident. I hope that the default value of 200 characters will be sufficient for just about any real-world user input in any language. The option is on by default, because the default length limit is generous and any longer text is unlikely to be sent for translation intentionally. My personal preference for the input phrase length limit is 100 symbols. ArticleView::pasteTriggered() didn't call QString::simplified() on the text retrieved from the clipboard. I assumed this was an oversight, so now it *is* called - indirectly, via Preferences::sanitizeInputPhrase().
2020-11-06 19:51:30 +00:00
</property>
<property name="singleStep">
<number>10</number>
Add options to limit input phrase length When a long text is accidentally selected or copied while the scan popup is on, Goldendict spends a lot of CPU time to gradually create a "No translation..." article. When translation of huge (e.g. 15 MB) text from the clipboard is (accidentally) requested, Goldendict freezes for a while. Turning the added input phrase limit option on eliminates this waste of the CPU time. I have implemented these options primarily for selection and clipboard, but they also affect mouse-over translation on Windows and command line translation requests. This is mostly because I did not bother to limit the options' scope. I guess hovering over an extremely long text without spaces (e.g. Base64-encoded) could cause the same performance issue on Windows. The command-line translation could be requested from a script that integrates Goldendict with some other application, from which long text could be sent for translation by accident. I hope that the default value of 200 characters will be sufficient for just about any real-world user input in any language. The option is on by default, because the default length limit is generous and any longer text is unlikely to be sent for translation intentionally. My personal preference for the input phrase length limit is 100 symbols. ArticleView::pasteTriggered() didn't call QString::simplified() on the text retrieved from the clipboard. I assumed this was an oversight, so now it *is* called - indirectly, via Preferences::sanitizeInputPhrase().
2020-11-06 19:51:30 +00:00
</property>
<property name="value">
<number>1000</number>
Add options to limit input phrase length When a long text is accidentally selected or copied while the scan popup is on, Goldendict spends a lot of CPU time to gradually create a "No translation..." article. When translation of huge (e.g. 15 MB) text from the clipboard is (accidentally) requested, Goldendict freezes for a while. Turning the added input phrase limit option on eliminates this waste of the CPU time. I have implemented these options primarily for selection and clipboard, but they also affect mouse-over translation on Windows and command line translation requests. This is mostly because I did not bother to limit the options' scope. I guess hovering over an extremely long text without spaces (e.g. Base64-encoded) could cause the same performance issue on Windows. The command-line translation could be requested from a script that integrates Goldendict with some other application, from which long text could be sent for translation by accident. I hope that the default value of 200 characters will be sufficient for just about any real-world user input in any language. The option is on by default, because the default length limit is generous and any longer text is unlikely to be sent for translation intentionally. My personal preference for the input phrase length limit is 100 symbols. ArticleView::pasteTriggered() didn't call QString::simplified() on the text retrieved from the clipboard. I assumed this was an oversight, so now it *is* called - indirectly, via Preferences::sanitizeInputPhrase().
2020-11-06 19:51:30 +00:00
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLabel" name="label_19">
<property name="text">
<string>symbols</string>
</property>
</widget>
</item>
<item row="1" column="4">
<widget class="QCheckBox" name="ignoreDiacritics">
<property name="toolTip">
2018-06-13 19:01:13 +00:00
<string>Turn this option on to ignore diacritics while searching articles</string>
</property>
<property name="text">
2018-06-13 19:01:13 +00:00
<string>Ignore diacritics while searching</string>
</property>
</widget>
</item>
Add options to limit input phrase length When a long text is accidentally selected or copied while the scan popup is on, Goldendict spends a lot of CPU time to gradually create a "No translation..." article. When translation of huge (e.g. 15 MB) text from the clipboard is (accidentally) requested, Goldendict freezes for a while. Turning the added input phrase limit option on eliminates this waste of the CPU time. I have implemented these options primarily for selection and clipboard, but they also affect mouse-over translation on Windows and command line translation requests. This is mostly because I did not bother to limit the options' scope. I guess hovering over an extremely long text without spaces (e.g. Base64-encoded) could cause the same performance issue on Windows. The command-line translation could be requested from a script that integrates Goldendict with some other application, from which long text could be sent for translation by accident. I hope that the default value of 200 characters will be sufficient for just about any real-world user input in any language. The option is on by default, because the default length limit is generous and any longer text is unlikely to be sent for translation intentionally. My personal preference for the input phrase length limit is 100 symbols. ArticleView::pasteTriggered() didn't call QString::simplified() on the text retrieved from the clipboard. I assumed this was an oversight, so now it *is* called - indirectly, via Preferences::sanitizeInputPhrase().
2020-11-06 19:51:30 +00:00
<item row="0" column="4">
<widget class="QCheckBox" name="alwaysExpandOptionalParts">
<property name="toolTip">
<string>Turn this option on to always expand optional parts of articles</string>
</property>
<property name="text">
<string>Expand optional &amp;parts</string>
</property>
</widget>
</item>
Add options to limit input phrase length When a long text is accidentally selected or copied while the scan popup is on, Goldendict spends a lot of CPU time to gradually create a "No translation..." article. When translation of huge (e.g. 15 MB) text from the clipboard is (accidentally) requested, Goldendict freezes for a while. Turning the added input phrase limit option on eliminates this waste of the CPU time. I have implemented these options primarily for selection and clipboard, but they also affect mouse-over translation on Windows and command line translation requests. This is mostly because I did not bother to limit the options' scope. I guess hovering over an extremely long text without spaces (e.g. Base64-encoded) could cause the same performance issue on Windows. The command-line translation could be requested from a script that integrates Goldendict with some other application, from which long text could be sent for translation by accident. I hope that the default value of 200 characters will be sufficient for just about any real-world user input in any language. The option is on by default, because the default length limit is generous and any longer text is unlikely to be sent for translation intentionally. My personal preference for the input phrase length limit is 100 symbols. ArticleView::pasteTriggered() didn't call QString::simplified() on the text retrieved from the clipboard. I assumed this was an oversight, so now it *is* called - indirectly, via Preferences::sanitizeInputPhrase().
2020-11-06 19:51:30 +00:00
<item row="1" column="3">
<spacer name="horizontalSpacer_14">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QCheckBox" name="synonymSearchEnabled">
<property name="toolTip">
<string>Turn this option on to enable extra articles search via synonym lists
from Stardict, Babylon and GLS dictionaries</string>
</property>
<property name="text">
<string>Extra search via synonyms</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_17">
<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>
</widget>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
2014-06-24 13:55:06 +00:00
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Help|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>HotKeyEdit</class>
<extends>QLineEdit</extends>
<header>hotkeyedit.hh</header>
</customwidget>
2012-12-10 14:14:13 +00:00
<customwidget>
<class>StylesComboBox</class>
<extends>QComboBox</extends>
<header>stylescombobox.hh</header>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>tabWidget</tabstop>
<tabstop>buttonBox</tabstop>
<tabstop>newTabsOpenInBackground</tabstop>
<tabstop>newTabsOpenAfterCurrentOne</tabstop>
<tabstop>enableTrayIcon</tabstop>
<tabstop>startToTray</tabstop>
<tabstop>closeToTray</tabstop>
<tabstop>cbAutostart</tabstop>
<tabstop>interfaceLanguage</tabstop>
<tabstop>startWithScanPopupOn</tabstop>
<tabstop>enableScanPopupModifiers</tabstop>
<tabstop>leftCtrl</tabstop>
<tabstop>rightShift</tabstop>
<tabstop>altKey</tabstop>
<tabstop>ctrlKey</tabstop>
<tabstop>leftAlt</tabstop>
<tabstop>shiftKey</tabstop>
<tabstop>rightAlt</tabstop>
<tabstop>rightCtrl</tabstop>
<tabstop>leftShift</tabstop>
<tabstop>winKey</tabstop>
<tabstop>scanPopupAltMode</tabstop>
<tabstop>scanPopupAltModeSecs</tabstop>
<tabstop>useProxyServer</tabstop>
<tabstop>proxyType</tabstop>
<tabstop>proxyHost</tabstop>
<tabstop>proxyPort</tabstop>
<tabstop>proxyUser</tabstop>
<tabstop>proxyPassword</tabstop>
</tabstops>
<resources>
<include location="resources.qrc"/>
</resources>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>Preferences</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>Preferences</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>