This repository has been archived on 2023-11-19. You can view files and clone it, but cannot push or open issues or pull requests.
goober-bb10/assets/SettingsPage.qml

306 lines
12 KiB
QML

/*
* Copyright (C) 2016 Morgan McMillian <gilag@monkeystew.com>
*
* This file is apart of the Goober application, a client for pnut.io
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import bb.cascades 1.4
Page {
id: settingsPage
titleBar: TitleBar {
title: qsTr("Settings")
}
signal reload()
ScrollView {
Container {
layout: StackLayout {}
Container {
topPadding: ui.sdu(2)
}
Container { // Unified home
layout: DockLayout {}
horizontalAlignment: HorizontalAlignment.Fill
verticalAlignment: VerticalAlignment.Fill
Container {
verticalAlignment: VerticalAlignment.Center
leftPadding: ui.sdu(3)
Label {
text: qsTr("Unified Home")
textStyle.fontSize: FontSize.Medium
textStyle.fontWeight: FontWeight.Bold
}
Label {
text: qsTr("Include mentions in home stream")
textStyle.fontSize: FontSize.Small
}
}
Container {
rightPadding: ui.sdu(3)
horizontalAlignment: HorizontalAlignment.Right
verticalAlignment: VerticalAlignment.Center
ToggleButton {
checked: _app.setting("unified")
onCheckedChanged: {
if (checked) {
_app.setSetting("unified", true)
reload()
} else {
_app.setSetting("unified", false)
reload()
}
}
accessibility.name: "unified"
}
}
}
Divider {}
Container { // CC setting
layout: DockLayout {}
horizontalAlignment: HorizontalAlignment.Fill
verticalAlignment: VerticalAlignment.Fill
Container {
verticalAlignment: VerticalAlignment.Center
leftPadding: ui.sdu(3)
Label {
text: qsTr("Use CC on Reply All")
textStyle.fontSize: FontSize.Medium
textStyle.fontWeight: FontWeight.Bold
}
Label {
text: qsTr("Additional mentions follow /")
textStyle.fontSize: FontSize.Small
multiline: true
}
}
Container {
id: cctoggle
rightPadding: ui.sdu(3)
horizontalAlignment: HorizontalAlignment.Right
verticalAlignment: VerticalAlignment.Center
ToggleButton {
checked: _app.setting("cc")
onCheckedChanged: {
if (checked) {
_app.setSetting("cc", true)
reload()
} else {
_app.setSetting("cc", false)
reload()
}
}
accessibility.name: "carboncopy"
}
}
}
Divider {}
Container { // Hide photos setting
layout: DockLayout {}
horizontalAlignment: HorizontalAlignment.Fill
verticalAlignment: VerticalAlignment.Fill
Container {
verticalAlignment: VerticalAlignment.Center
leftPadding: ui.sdu(3)
Label {
text: qsTr("Hide photos")
textStyle.fontSize: FontSize.Medium
textStyle.fontWeight: FontWeight.Bold
}
Label {
text: qsTr("Hide embeded photos in timeline")
textStyle.fontSize: FontSize.Small
multiline: true
}
}
Container {
id: imgtoggle
rightPadding: ui.sdu(3)
horizontalAlignment: HorizontalAlignment.Right
verticalAlignment: VerticalAlignment.Center
ToggleButton {
checked: _app.setting("hidephoto")
onCheckedChanged: {
if (checked) {
_app.setSetting("hidephoto", true)
reload()
} else {
_app.setSetting("hidephoto", false)
reload()
}
}
accessibility.name: "inlineimages"
}
}
}
Divider {}
Container { // Hide avatar setting
layout: DockLayout {}
horizontalAlignment: HorizontalAlignment.Fill
verticalAlignment: VerticalAlignment.Fill
Container {
verticalAlignment: VerticalAlignment.Center
leftPadding: ui.sdu(3)
Label {
text: qsTr("Hide avatars")
textStyle.fontSize: FontSize.Medium
textStyle.fontWeight: FontWeight.Bold
}
Label {
text: qsTr("Hide avatar images in timeline")
textStyle.fontSize: FontSize.Small
multiline: true
}
}
Container {
id: avatartoggle
rightPadding: ui.sdu(3)
horizontalAlignment: HorizontalAlignment.Right
verticalAlignment: VerticalAlignment.Center
ToggleButton {
checked: _app.setting("hideavatar")
onCheckedChanged: {
if (checked) {
_app.setSetting("hideavatar", true)
reload()
} else {
_app.setSetting("hideavatar", false)
reload()
}
}
accessibility.name: "avatars"
}
}
}
Divider {}
Container { // Hide longposts setting
layout: DockLayout {}
horizontalAlignment: HorizontalAlignment.Fill
verticalAlignment: VerticalAlignment.Fill
Container {
verticalAlignment: VerticalAlignment.Center
leftPadding: ui.sdu(3)
Label {
text: qsTr("Hide long posts")
textStyle.fontSize: FontSize.Medium
textStyle.fontWeight: FontWeight.Bold
}
Label {
text: qsTr("Hide long posts in timeline")
textStyle.fontSize: FontSize.Small
multiline: true
}
}
Container {
id: longposttoggle
rightPadding: ui.sdu(3)
horizontalAlignment: HorizontalAlignment.Right
verticalAlignment: VerticalAlignment.Center
ToggleButton {
checked: _app.setting("hidelongp")
onCheckedChanged: {
if (checked) {
_app.setSetting("hidelongp", true)
reload()
} else {
_app.setSetting("hidelongp", false)
reload()
}
}
accessibility.name: "longposts"
}
}
}
Divider {}
Container { // Theme Setting
leftPadding: ui.sdu(3)
rightPadding: ui.sdu(3)
DropDown {
title: qsTr("Theme")
Option {
text: qsTr("Bright")
value: VisualStyle.Bright
selected: Application.themeSupport.theme.colorTheme.style == VisualStyle.Bright
}
Option {
text: qsTr("Dark")
value: VisualStyle.Dark
selected: Application.themeSupport.theme.colorTheme.style == VisualStyle.Dark
}
onSelectedOptionChanged: {
_app.setSetting("theme", selectedValue)
Application.themeSupport.setVisualStyle(selectedValue)
}
}
}
Divider {}
// Container {
// layout: DockLayout {}
// horizontalAlignment: HorizontalAlignment.Fill
// Container {
// leftPadding: ui.sdu(3)
// rightPadding: ui.sdu(3)
// DropDown {
// title: "Dropdown"
// preferredWidth: 1440.0
// onSelectedIndexChanged: {
// modifySetting("sort", selectedValue)
// }
// Option {
// text: "Option Zero"
// value: 0
// selected: sort == 0
// }
// Option {
// text: "Option Three"
// value: 3
// selected: sort == 3
// }
// Option {
// text: "Option One"
// value: 1
// selected: sort == 1
// }
// Option {
// text: "Option Two"
// value: 2
// selected: sort == 2
// }
// }
// }
// }
// Divider {}
// Container {
// layout: DockLayout {}
// horizontalAlignment: HorizontalAlignment.Fill
// leftPadding: 30.0
// rightPadding: 30.0
// Button {
// preferredWidth: 1440.0
// text: "Button"
// onClicked: {
// console.log("button")
// }
// }
// }
// Divider {}
}
}
}