Show scrollbars for a few seconds at first
Lets the user know that there's content to scroll.
This commit is contained in:
parent
11def5c99f
commit
21fbe7a96b
3
TODO.md
3
TODO.md
@ -1,7 +1,6 @@
|
|||||||
# TODO
|
# TODO
|
||||||
|
|
||||||
- server list sorting method / explain what the % number is (stability)
|
- server list sorting method / explain what the % number is (stability)
|
||||||
- server list: make it more obvious that it can be scrolled
|
|
||||||
- clicking cancel on SSO "waiting" box doesn't do anything the first time
|
- clicking cancel on SSO "waiting" box doesn't do anything the first time
|
||||||
- spam alt+shift+a when starting app on server browser → segfault
|
- spam alt+shift+a when starting app on server browser → segfault
|
||||||
- remove items.Device
|
- remove items.Device
|
||||||
@ -68,7 +67,6 @@
|
|||||||
## Interface
|
## Interface
|
||||||
|
|
||||||
- Colorize "@room" in messages
|
- Colorize "@room" in messages
|
||||||
- Show scrollbars for a few seconds if there's content to scroll on when
|
|
||||||
opening a page or popup
|
opening a page or popup
|
||||||
- Device IP geolocation
|
- Device IP geolocation
|
||||||
- Can rooms but left with a reason?
|
- Can rooms but left with a reason?
|
||||||
@ -105,7 +103,6 @@
|
|||||||
- Make room invite/left banner buttons look better
|
- Make room invite/left banner buttons look better
|
||||||
|
|
||||||
- Choose a better easing types for animations
|
- Choose a better easing types for animations
|
||||||
- Make HListView scrollbars more visible
|
|
||||||
- In messages, remove the HTML lists excess left margin
|
- In messages, remove the HTML lists excess left margin
|
||||||
- Improve UI for very small window heights
|
- Improve UI for very small window heights
|
||||||
|
|
||||||
|
@ -267,6 +267,7 @@ class UISettings(JSONDataFile):
|
|||||||
"alertOnMentionForMsec": -1,
|
"alertOnMentionForMsec": -1,
|
||||||
"alertOnMessageForMsec": 0,
|
"alertOnMessageForMsec": 0,
|
||||||
"alwaysCenterRoomHeader": False,
|
"alwaysCenterRoomHeader": False,
|
||||||
|
"autoHideScrollBarsAfterMsec": 2000,
|
||||||
"beUnavailableAfterSecondsIdle": 60 * 10,
|
"beUnavailableAfterSecondsIdle": 60 * 10,
|
||||||
"compactMode": False,
|
"compactMode": False,
|
||||||
"clearRoomFilterOnEnter": True,
|
"clearRoomFilterOnEnter": True,
|
||||||
|
@ -11,6 +11,7 @@ Flickable {
|
|||||||
ScrollBar.vertical: HScrollBar {
|
ScrollBar.vertical: HScrollBar {
|
||||||
visible: parent.interactive
|
visible: parent.interactive
|
||||||
z: 999
|
z: 999
|
||||||
|
flickableMoving: flickable.moving
|
||||||
}
|
}
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
|
@ -84,6 +84,7 @@ GridView {
|
|||||||
|
|
||||||
ScrollBar.vertical: HScrollBar {
|
ScrollBar.vertical: HScrollBar {
|
||||||
visible: gridView.interactive
|
visible: gridView.interactive
|
||||||
|
flickableMoving: gridView.moving
|
||||||
}
|
}
|
||||||
|
|
||||||
// property bool debug: false
|
// property bool debug: false
|
||||||
|
@ -100,6 +100,7 @@ ListView {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ScrollBar.vertical: HScrollBar {
|
ScrollBar.vertical: HScrollBar {
|
||||||
|
flickableMoving: listView.moving
|
||||||
visible: listView.interactive
|
visible: listView.interactive
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,6 +6,8 @@ import QtQuick.Controls 2.12
|
|||||||
ScrollBar {
|
ScrollBar {
|
||||||
id: scrollBar
|
id: scrollBar
|
||||||
|
|
||||||
|
property bool flickableMoving
|
||||||
|
|
||||||
minimumSize: (Math.min(height / 1.5, 48) * theme.uiScale) / height
|
minimumSize: (Math.min(height / 1.5, 48) * theme.uiScale) / height
|
||||||
opacity: size < 1 && (active || hovered) ? 1 : 0
|
opacity: size < 1 && (active || hovered) ? 1 : 0
|
||||||
padding: 0
|
padding: 0
|
||||||
@ -34,5 +36,18 @@ ScrollBar {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Behavior on opacity { HNumberAnimation {} }
|
onFlickableMovingChanged: if (flickableMoving) activeOverride.when = false
|
||||||
|
|
||||||
|
Behavior on opacity { HNumberAnimation { factor: 2 } }
|
||||||
|
|
||||||
|
Binding on active {
|
||||||
|
id: activeOverride
|
||||||
|
value: initialVisibilityTimer.running
|
||||||
|
}
|
||||||
|
|
||||||
|
Timer {
|
||||||
|
id: initialVisibilityTimer
|
||||||
|
interval: window.settings.autoHideScrollBarsAfterMsec
|
||||||
|
running: scrollBar.size < 1
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,5 @@ ScrollView {
|
|||||||
x: scrollView.mirrored ? 0 : scrollView.width - width
|
x: scrollView.mirrored ? 0 : scrollView.width - width
|
||||||
y: scrollView.topPadding
|
y: scrollView.topPadding
|
||||||
height: scrollView.availableHeight
|
height: scrollView.availableHeight
|
||||||
active: scrollView.ScrollBar.horizontal.active
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -128,9 +128,7 @@ HBox {
|
|||||||
text.toLowerCase().trim().replace(/\/+$/, "")
|
text.toLowerCase().trim().replace(/\/+$/, "")
|
||||||
|
|
||||||
inputMethodHints: Qt.ImhUrlCharactersOnly
|
inputMethodHints: Qt.ImhUrlCharactersOnly
|
||||||
defaultText: window.getState(
|
defaultText: window.getState(box, "acceptedUserUrl", "")
|
||||||
box, "acceptedUserUrl", "",
|
|
||||||
)
|
|
||||||
placeholderText: "example.org"
|
placeholderText: "example.org"
|
||||||
|
|
||||||
onTextEdited: {
|
onTextEdited: {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user