Changeset View
Changeset View
Standalone View
Standalone View
applet/contents/ui/Toolbar.qml
Show First 20 Lines • Show All 145 Lines • ▼ Show 20 Line(s) | 138 | PlasmaComponents.TextField { | |||
---|---|---|---|---|---|
146 | Layout.bottomMargin: units.smallSpacing | 146 | Layout.bottomMargin: units.smallSpacing | ||
147 | 147 | | |||
148 | focus: true | 148 | focus: true | ||
149 | clearButtonShown: true | 149 | clearButtonShown: true | ||
150 | placeholderText: i18ndc("plasma-nm", "text field placeholder text", "Search...") | 150 | placeholderText: i18ndc("plasma-nm", "text field placeholder text", "Search...") | ||
151 | 151 | | |||
152 | visible: searchToggleButton.checked | 152 | visible: searchToggleButton.checked | ||
153 | onVisibleChanged: if (!visible) text = "" | 153 | onVisibleChanged: if (!visible) text = "" | ||
154 | Keys.onEscapePressed: searchToggleButton.checked = false | 154 | Keys.onEscapePressed: { | ||
ngraham: Could you add a comment explaining why this is necessary? | |||||
155 | //Check if the searchbar is actually visible before accepting the escape key. Otherwise, the escape key cannot dismiss the applet until one interacts with some other element. | ||||
156 | if (searchToggleButton.checked) { | ||||
157 | searchToggleButton.checked = false; | ||||
158 | } else { | ||||
159 | event.accepted = false; | ||||
160 | } | ||||
161 | } | ||||
155 | 162 | | |||
156 | onTextChanged: { | 163 | onTextChanged: { | ||
157 | // Show search field when starting to type directly | 164 | // Show search field when starting to type directly | ||
158 | if (text.length && !searchToggleButton.checked) { | 165 | if (text.length && !searchToggleButton.checked) { | ||
159 | searchToggleButton.checked = true | 166 | searchToggleButton.checked = true | ||
160 | } | 167 | } | ||
161 | appletProxyModel.setFilterRegExp(text) | 168 | appletProxyModel.setFilterRegExp(text) | ||
162 | } | 169 | } | ||
163 | } | 170 | } | ||
164 | } | 171 | } |
Could you add a comment explaining why this is necessary?