20
20
import Ubuntu.Components 1.3
21
import Ubuntu.Components.ListItems 1.3 as ListItems
22
21
import webbrowserapp.private 0.1
23
22
import "Highlight.js" as Highlight
24
23
import "." as Local
27
26
id: historyViewWide
29
28
property bool searchMode: false
30
29
readonly property bool selectMode: urlsListView.ViewItems.selectMode
31
onSearchModeChanged: {
32
if (searchMode) searchQuery.focus = true
35
urlsListView.focus = true
40
32
signal historyEntryClicked(url url)
41
33
signal newTabRequested()
35
title: (selectMode || searchMode) ? "" : i18n.tr("History")
36
headerContents: searchMode ? searchQuery : null
41
lastVisitDateListView.forceActiveFocus()
42
} else if (selectMode) {
43
urlsListView.ViewItems.selectMode = false
44
lastVisitDateListView.forceActiveFocus()
52
objectName: "selectAll"
54
visible: historyViewWide.selectMode
55
onTriggered: internal.toggleSelectAll()
60
visible: historyViewWide.selectMode
61
enabled: urlsListView.ViewItems.selectedIndices.length > 0
62
onTriggered: internal.removeSelected()
67
visible: !historyViewWide.searchMode && !historyViewWide.selectMode
68
onTriggered: historyViewWide.searchMode = true
43
72
Keys.onLeftPressed: lastVisitDateListView.forceActiveFocus()
44
73
Keys.onRightPressed: urlsListView.forceActiveFocus()
45
Keys.onUpPressed: if (searchMode) searchQuery.focus = true
74
Keys.onUpPressed: if (searchMode) searchQuery.forceActiveFocus()
47
76
if (event.modifiers === Qt.ControlModifier && event.key === Qt.Key_F) {
48
if (searchMode) searchQuery.focus = true
77
if (searchMode) searchQuery.forceActiveFocus()
49
78
else if (!selectMode) searchMode = true
50
79
event.accepted = true
97
122
terms: searchQuery.terms
127
objectName: "searchQuery"
130
verticalCenter: parent ? parent.verticalCenter : undefined
131
right: parent ? parent.right : undefined
132
rightMargin: units.gu(2)
134
width: urlsListView.width
136
inputMethodHints: Qt.ImhNoPredictiveText
138
height: parent.height - units.gu(2)
143
placeholderText: i18n.tr("search history")
144
readonly property var terms: text.split(/\s+/g).filter(function(term) { return term.length > 0 })
146
Keys.onDownPressed: urlsListView.forceActiveFocus()
147
Keys.onEscapePressed: historyViewWide.searchMode = false
150
if (historyViewWide.searchMode) {
152
} else if (urlsListView) {
154
urlsListView.forceActiveFocus()
101
160
id: historyViewWideRow
104
163
left: parent.left
105
164
bottom: bottomToolbar.top
106
165
leftMargin: units.gu(2)
334
Keys.onEscapePressed: {
335
if (searchQuery.activeFocus) {
336
historyViewWide.searchMode = false
338
event.accepted = false
343
visible: !urlsListView.ViewItems.selectMode &&
344
!historyViewWide.searchMode
349
topMargin: units.gu(2)
350
leftMargin: units.gu(2)
353
text: i18n.tr("History")
357
objectName: "backButton"
359
visible: historyViewWide.selectMode || historyViewWide.searchMode
364
leftMargin: units.gu(2)
366
height: parent.height - units.gu(2)
369
text: i18n.tr("Cancel")
372
if (historyViewWide.searchMode) {
373
historyViewWide.searchMode = false
375
urlsListView.ViewItems.selectMode = false
377
lastVisitDateListView.forceActiveFocus()
382
objectName: "selectButton"
384
visible: urlsListView.ViewItems.selectMode
388
right: deleteButton.left
389
rightMargin: units.gu(2)
391
height: parent.height - units.gu(2)
394
text: i18n.tr("Select all")
396
onClicked: internal.toggleSelectAll()
401
objectName: "deleteButton"
403
visible: urlsListView.ViewItems.selectMode
408
rightMargin: units.gu(2)
410
height: parent.height - units.gu(2)
413
text: i18n.tr("Delete")
414
enabled: urlsListView.ViewItems.selectedIndices.length > 0
415
onClicked: internal.removeSelected()
420
objectName: "searchQuery"
422
verticalCenter: parent.verticalCenter
424
rightMargin: units.gu(2)
426
width: urlsListView.width
427
inputMethodHints: Qt.ImhNoPredictiveText
429
height: parent.height - units.gu(2)
434
placeholderText: i18n.tr("search history")
435
visible: historyViewWide.searchMode
436
readonly property var terms: text.split(/\s+/g).filter(function(term) { return term.length > 0 })
438
Keys.onDownPressed: urlsListView.focus = true
444
objectName: "searchButton"
445
visible: !urlsListView.ViewItems.selectMode &&
446
!historyViewWide.searchMode
448
verticalCenter: parent.verticalCenter
450
rightMargin: units.gu(3.5)
452
height: parent.height - units.gu(2)
454
historyViewWide.searchMode = true
455
searchQuery.forceActiveFocus()
459
ListItems.ThinDivider {
463
bottom: parent.bottom
469
382
id: bottomToolbar
470
383
height: units.gu(7)