RinUI 0.1.0__py3-none-any.whl → 0.1.1.post1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. RinUI/__init__.py +4 -4
  2. RinUI/assets/fonts/FluentSystemIcons-Index.js +5255 -5255
  3. RinUI/components/Base.qml +78 -78
  4. RinUI/components/BasicInput/Button.qml +146 -146
  5. RinUI/components/BasicInput/CheckBox.qml +98 -98
  6. RinUI/components/BasicInput/ComboBox.qml +159 -159
  7. RinUI/components/BasicInput/DropDownButton.qml +20 -20
  8. RinUI/components/BasicInput/Hyperlink.qml +17 -17
  9. RinUI/components/BasicInput/PillButton.qml +10 -10
  10. RinUI/components/BasicInput/RadioButton.qml +94 -94
  11. RinUI/components/BasicInput/RoundButton.qml +26 -26
  12. RinUI/components/BasicInput/Slider.qml +212 -212
  13. RinUI/components/BasicInput/Switch.qml +101 -101
  14. RinUI/components/BasicInput/ToggleButton.qml +10 -10
  15. RinUI/components/BasicInput/ToolButton.qml +30 -30
  16. RinUI/components/ContextMenu.qml +183 -183
  17. RinUI/components/DateAndTime/DatePicker.qml +142 -140
  18. RinUI/components/DateAndTime/PickerView.qml +223 -223
  19. RinUI/components/DateAndTime/TimePicker.qml +114 -114
  20. RinUI/components/DialogsAndFlyouts/Dialog.qml +106 -106
  21. RinUI/components/DialogsAndFlyouts/DialogButtonBox.qml +47 -47
  22. RinUI/components/DialogsAndFlyouts/Flyout.qml +87 -87
  23. RinUI/components/DialogsAndFlyouts/Popup.qml +110 -106
  24. RinUI/components/FocusIndicator.qml +33 -33
  25. RinUI/components/IconWidget.qml +52 -52
  26. RinUI/components/Indicator.qml +89 -89
  27. RinUI/components/Layout/Expander.qml +159 -159
  28. RinUI/components/Layout/SettingExpander.qml +66 -66
  29. RinUI/components/Layout/SettingItem.qml +70 -70
  30. RinUI/components/ListAndCollections/Clip.qml +21 -21
  31. RinUI/components/ListAndCollections/Frame.qml +43 -43
  32. RinUI/components/ListAndCollections/ListView.qml +104 -104
  33. RinUI/components/ListAndCollections/ListViewDelegate.qml +82 -82
  34. RinUI/components/ListAndCollections/SettingCard.qml +72 -72
  35. RinUI/components/ListAndCollections/TableView.qml +81 -81
  36. RinUI/components/ListAndCollections/TableViewDelegate.qml +88 -88
  37. RinUI/components/Media/Avatar.qml +82 -82
  38. RinUI/components/MenusAndToolbars/Menu.qml +150 -150
  39. RinUI/components/MenusAndToolbars/MenuBar.qml +42 -42
  40. RinUI/components/MenusAndToolbars/MenuItem.qml +131 -131
  41. RinUI/components/MenusAndToolbars/MenuItemGroup.qml +43 -43
  42. RinUI/components/MenusAndToolbars/MenuSeparator.qml +13 -13
  43. RinUI/components/MenusAndToolbars/TextInputMenu.qml +37 -37
  44. RinUI/components/MenusAndToolbars/ToolSeparator.qml +16 -16
  45. RinUI/components/Navigation/ErrorPage.qml +48 -48
  46. RinUI/components/Navigation/NavigationBar.qml +179 -179
  47. RinUI/components/Navigation/NavigationItem.qml +193 -193
  48. RinUI/components/Navigation/NavigationSubItem.qml +103 -103
  49. RinUI/components/Navigation/NavigationView.qml +228 -227
  50. RinUI/components/Navigation/Segmented.qml +16 -16
  51. RinUI/components/Navigation/SegmentedItem.qml +107 -107
  52. RinUI/components/Navigation/SelectorBar.qml +12 -12
  53. RinUI/components/Navigation/SelectorBarItem.qml +88 -88
  54. RinUI/components/ScrollBar.qml +204 -204
  55. RinUI/components/ScrollView.qml +12 -12
  56. RinUI/components/Shadow.qml +47 -47
  57. RinUI/components/StatusAndInfo/InfoBadge.qml +77 -77
  58. RinUI/components/StatusAndInfo/InfoBar.qml +256 -251
  59. RinUI/components/StatusAndInfo/ProgressBar.qml +126 -126
  60. RinUI/components/StatusAndInfo/ProgressRing.qml +149 -0
  61. RinUI/components/StatusAndInfo/Toast.qml +236 -236
  62. RinUI/components/StatusAndInfo/ToolTip.qml +93 -93
  63. RinUI/components/Text/SpinBox.qml +150 -133
  64. RinUI/components/Text/Text.qml +44 -44
  65. RinUI/components/Text/TextArea.qml +117 -117
  66. RinUI/components/Text/TextField.qml +113 -113
  67. RinUI/components/Text/TextInput.qml +47 -47
  68. RinUI/components/qmldir +80 -80
  69. RinUI/core/__init__.py +4 -4
  70. RinUI/core/config.py +129 -129
  71. RinUI/core/launcher.py +129 -129
  72. RinUI/core/theme.py +339 -339
  73. RinUI/core/translator.py +26 -25
  74. RinUI/hooks/__init__.py +3 -3
  75. RinUI/hooks/hook-RinUI.py +3 -3
  76. RinUI/qmldir +108 -104
  77. RinUI/themes/Appearance.qml +36 -0
  78. RinUI/themes/Colors.qml +36 -0
  79. RinUI/themes/dark.qml +145 -145
  80. RinUI/themes/light.qml +145 -145
  81. RinUI/themes/qmldir +9 -6
  82. RinUI/themes/theme.qml +151 -149
  83. RinUI/themes/utils.qml +37 -37
  84. RinUI/utils/Animation.qml +12 -12
  85. RinUI/utils/FloatLayer.qml +132 -123
  86. RinUI/utils/FontIconLoader.qml +13 -13
  87. RinUI/utils/Position.qml +19 -19
  88. RinUI/utils/Severity.qml +13 -13
  89. RinUI/utils/Typography.qml +17 -17
  90. RinUI/utils/qmldir +4 -4
  91. RinUI/windows/CtrlBtn.qml +118 -118
  92. RinUI/windows/FluentPage.qml +92 -92
  93. RinUI/windows/FluentWindow.qml +31 -30
  94. RinUI/windows/FluentWindowBase.qml +158 -158
  95. RinUI/windows/TitleBar.qml +135 -135
  96. RinUI/windows/qmldir +7 -7
  97. RinUI/windows/window/ApplicationWindow.qml +8 -8
  98. RinUI/windows/window/Window.qml +118 -118
  99. {rinui-0.1.0.data → rinui-0.1.1.post1.data}/data/LICENSE +21 -21
  100. {rinui-0.1.0.data → rinui-0.1.1.post1.data}/data/README.md +100 -100
  101. {rinui-0.1.0.dist-info → rinui-0.1.1.post1.dist-info}/METADATA +116 -115
  102. rinui-0.1.1.post1.dist-info/RECORD +112 -0
  103. {rinui-0.1.0.dist-info → rinui-0.1.1.post1.dist-info}/WHEEL +1 -1
  104. {rinui-0.1.0.dist-info → rinui-0.1.1.post1.dist-info/licenses}/LICENSE +21 -21
  105. RinUI/__pycache__/__init__.cpython-38.pyc +0 -0
  106. RinUI/config/rin_ui.json +0 -8
  107. RinUI/core/__pycache__/__init__.cpython-38.pyc +0 -0
  108. RinUI/core/__pycache__/config.cpython-38.pyc +0 -0
  109. RinUI/core/__pycache__/launcher.cpython-38.pyc +0 -0
  110. RinUI/core/__pycache__/theme.cpython-38.pyc +0 -0
  111. RinUI/core/__pycache__/translator.cpython-38.pyc +0 -0
  112. rinui-0.1.0.dist-info/RECORD +0 -116
  113. {rinui-0.1.0.dist-info → rinui-0.1.1.post1.dist-info}/entry_points.txt +0 -0
  114. {rinui-0.1.0.dist-info → rinui-0.1.1.post1.dist-info}/top_level.txt +0 -0
@@ -1,82 +1,82 @@
1
- import QtQuick 2.15
2
- import QtQuick.Controls.Basic 2.15
3
- import QtQuick.Layouts 2.15
4
- import "../../themes"
5
- import "../../components"
6
-
7
- TableView {
8
- id: root
9
- clip: true
10
-
11
- // 滚动条 / ScrollBar //
12
- ScrollBar.vertical: ScrollBar {
13
- policy: ScrollBar.AsNeeded
14
- }
15
- ScrollBar.horizontal: ScrollBar {
16
- policy: ScrollBar.AsNeeded
17
- }
18
-
19
- // 交换动画
20
- // move: Transition {
21
- // NumberAnimation { property: "y"; duration: 200 }
22
- // }
23
- // moveDisplaced: Transition {
24
- // NumberAnimation { property: "y"; duration: 200 }
25
- // }
26
-
27
- // displaced: Transition {
28
- // NumberAnimation {
29
- // property: "y"
30
- // duration: Utils.animationSpeedMiddle
31
- // easing.type: Easing.OutQuint
32
- // }
33
- // }
34
- //
35
- // add: Transition {
36
- // ParallelAnimation{
37
- // NumberAnimation {
38
- // property: "opacity"
39
- // from: 0
40
- // to: 1
41
- // duration: Utils.animationSpeed
42
- // easing.type: Easing.OutQuint
43
- // }
44
- // NumberAnimation {
45
- // properties: "scale"
46
- // from: 0.9
47
- // to: 1
48
- // duration: Utils.animationSpeed
49
- // easing.type: Easing.OutQuint
50
- // }
51
- // }
52
- // }
53
- //
54
- // // 删除动画
55
- // remove: Transition {
56
- // ParallelAnimation{
57
- // NumberAnimation {
58
- // property: "opacity"
59
- // from: 1
60
- // to: 0
61
- // duration: Utils.animationSpeed
62
- // easing.type: Easing.OutQuint
63
- // }
64
- // NumberAnimation {
65
- // properties: "scale"
66
- // from: 1
67
- // to: 0.9
68
- // duration: Utils.animationSpeed
69
- // easing.type: Easing.OutQuint
70
- // }
71
- // }
72
- // }
73
-
74
- delegate: TableViewDelegate {
75
- middleArea: [
76
- Text {
77
- Layout.alignment: Qt.AlignVCenter | Qt.AlignLeft
78
- text: model.display
79
- }
80
- ]
81
- }
1
+ import QtQuick 2.15
2
+ import QtQuick.Controls.Basic 2.15
3
+ import QtQuick.Layouts 2.15
4
+ import "../../themes"
5
+ import "../../components"
6
+
7
+ TableView {
8
+ id: root
9
+ clip: true
10
+
11
+ // 滚动条 / ScrollBar //
12
+ ScrollBar.vertical: ScrollBar {
13
+ policy: ScrollBar.AsNeeded
14
+ }
15
+ ScrollBar.horizontal: ScrollBar {
16
+ policy: ScrollBar.AsNeeded
17
+ }
18
+
19
+ // 交换动画
20
+ // move: Transition {
21
+ // NumberAnimation { property: "y"; duration: 200 }
22
+ // }
23
+ // moveDisplaced: Transition {
24
+ // NumberAnimation { property: "y"; duration: 200 }
25
+ // }
26
+
27
+ // displaced: Transition {
28
+ // NumberAnimation {
29
+ // property: "y"
30
+ // duration: Utils.animationSpeedMiddle
31
+ // easing.type: Easing.OutQuint
32
+ // }
33
+ // }
34
+ //
35
+ // add: Transition {
36
+ // ParallelAnimation{
37
+ // NumberAnimation {
38
+ // property: "opacity"
39
+ // from: 0
40
+ // to: 1
41
+ // duration: Utils.animationSpeed
42
+ // easing.type: Easing.OutQuint
43
+ // }
44
+ // NumberAnimation {
45
+ // properties: "scale"
46
+ // from: 0.9
47
+ // to: 1
48
+ // duration: Utils.animationSpeed
49
+ // easing.type: Easing.OutQuint
50
+ // }
51
+ // }
52
+ // }
53
+ //
54
+ // // 删除动画
55
+ // remove: Transition {
56
+ // ParallelAnimation{
57
+ // NumberAnimation {
58
+ // property: "opacity"
59
+ // from: 1
60
+ // to: 0
61
+ // duration: Utils.animationSpeed
62
+ // easing.type: Easing.OutQuint
63
+ // }
64
+ // NumberAnimation {
65
+ // properties: "scale"
66
+ // from: 1
67
+ // to: 0.9
68
+ // duration: Utils.animationSpeed
69
+ // easing.type: Easing.OutQuint
70
+ // }
71
+ // }
72
+ // }
73
+
74
+ delegate: TableViewDelegate {
75
+ middleArea: [
76
+ Text {
77
+ Layout.alignment: Qt.AlignVCenter | Qt.AlignLeft
78
+ text: model.display
79
+ }
80
+ ]
81
+ }
82
82
  }
@@ -1,89 +1,89 @@
1
- import QtQuick 2.15
2
- import QtQuick.Controls.Basic 2.15
3
- import QtQuick.Layouts 2.15
4
- import "../../themes"
5
- import "../../components"
6
-
7
-
8
- ItemDelegate {
9
- id: delegate
10
- width: TableView.view ? TableView.view.width : 200
11
- height: contents.implicitHeight + 20 // 自适应
12
- highlighted: false
13
- focusPolicy: Qt.StrongFocus
14
-
15
- // accessibility
16
- FocusIndicator {
17
- control: parent
18
- }
19
-
20
- property alias leftArea: leftArea.data
21
- property alias middleArea: middleArea.data
22
- property alias rightArea: rightArea.data
23
-
24
- contentItem: RowLayout {
25
- id: contents
26
- anchors.fill: parent
27
- anchors.leftMargin: 5 + 11
28
- anchors.rightMargin: 5
29
- anchors.topMargin: 3
30
- spacing: 8
31
-
32
- Row {
33
- id: leftArea
34
- // CheckBox {
35
- // id: checkBox
36
- // implicitWidth: height * 1
37
- // Layout.fillHeight: true
38
- // checked: false
39
- // visible: tableCell.column === 0
40
- // }
41
- }
42
-
43
- ColumnLayout {
44
- id: middleArea
45
- Layout.fillHeight: true
46
- }
47
-
48
- RowLayout {
49
- id: rightArea
50
- spacing: 16
51
- Layout.fillWidth: true
52
- Layout.fillHeight: true
53
- }
54
- }
55
-
56
- background: Rectangle {
57
- id: itemBg
58
- anchors.fill: parent
59
- // anchors.leftMargin: 5
60
- // anchors.rightMargin: 5
61
- anchors.topMargin: 3
62
- radius: Theme.currentTheme.appearance.buttonRadius
63
- color: pressed
64
- ? Theme.currentTheme.colors.subtleTertiaryColor
65
- : (highlighted || hovered)
66
- ? Theme.currentTheme.colors.subtleSecondaryColor
67
- : Theme.currentTheme.colors.subtleColor
68
-
69
- RowLayout {
70
- anchors.fill: parent
71
- anchors.leftMargin: 11
72
- anchors.rightMargin: 11
73
- anchors.topMargin: 6
74
- anchors.bottomMargin: 8
75
- }
76
-
77
- // 选择指示器
78
- Indicator {
79
- currentItemHeight: delegate.height
80
- visible: highlighted
81
- }
82
-
83
- Behavior on color { ColorAnimation { duration: Utils.appearanceSpeed; easing.type:Easing.InOutQuart } }
84
- }
85
-
86
- onClicked: {
87
- // TableView.selected = row
88
- }
1
+ import QtQuick 2.15
2
+ import QtQuick.Controls.Basic 2.15
3
+ import QtQuick.Layouts 2.15
4
+ import "../../themes"
5
+ import "../../components"
6
+
7
+
8
+ ItemDelegate {
9
+ id: delegate
10
+ width: TableView.view ? TableView.view.width : 200
11
+ height: contents.implicitHeight + 20 // 自适应
12
+ highlighted: false
13
+ focusPolicy: Qt.StrongFocus
14
+
15
+ // accessibility
16
+ FocusIndicator {
17
+ control: parent
18
+ }
19
+
20
+ property alias leftArea: leftArea.data
21
+ property alias middleArea: middleArea.data
22
+ property alias rightArea: rightArea.data
23
+
24
+ contentItem: RowLayout {
25
+ id: contents
26
+ anchors.fill: parent
27
+ anchors.leftMargin: 5 + 11
28
+ anchors.rightMargin: 5
29
+ anchors.topMargin: 3
30
+ spacing: 8
31
+
32
+ Row {
33
+ id: leftArea
34
+ // CheckBox {
35
+ // id: checkBox
36
+ // implicitWidth: height * 1
37
+ // Layout.fillHeight: true
38
+ // checked: false
39
+ // visible: tableCell.column === 0
40
+ // }
41
+ }
42
+
43
+ ColumnLayout {
44
+ id: middleArea
45
+ Layout.fillHeight: true
46
+ }
47
+
48
+ RowLayout {
49
+ id: rightArea
50
+ spacing: 16
51
+ Layout.fillWidth: true
52
+ Layout.fillHeight: true
53
+ }
54
+ }
55
+
56
+ background: Rectangle {
57
+ id: itemBg
58
+ anchors.fill: parent
59
+ // anchors.leftMargin: 5
60
+ // anchors.rightMargin: 5
61
+ anchors.topMargin: 3
62
+ radius: Theme.currentTheme.appearance.buttonRadius
63
+ color: pressed
64
+ ? Theme.currentTheme.colors.subtleTertiaryColor
65
+ : (highlighted || hovered)
66
+ ? Theme.currentTheme.colors.subtleSecondaryColor
67
+ : Theme.currentTheme.colors.subtleColor
68
+
69
+ RowLayout {
70
+ anchors.fill: parent
71
+ anchors.leftMargin: 11
72
+ anchors.rightMargin: 11
73
+ anchors.topMargin: 6
74
+ anchors.bottomMargin: 8
75
+ }
76
+
77
+ // 选择指示器
78
+ Indicator {
79
+ currentItemHeight: delegate.height
80
+ visible: highlighted
81
+ }
82
+
83
+ Behavior on color { ColorAnimation { duration: Utils.appearanceSpeed; easing.type:Easing.InOutQuart } }
84
+ }
85
+
86
+ onClicked: {
87
+ // TableView.selected = row
88
+ }
89
89
  }
@@ -1,83 +1,83 @@
1
- import QtQuick 2.15
2
- import QtQuick.Controls.Basic 2.15
3
- import QtQuick.Layouts 2.15
4
- import Qt5Compat.GraphicalEffects
5
- import "../../themes"
6
- import "../../components"
7
-
8
- Item {
9
- id: root
10
- property int size: 96
11
- property string source: ""
12
- property string text
13
- property alias icon: icon.icon
14
-
15
- implicitWidth: size
16
- implicitHeight: size
17
- opacity: enabled ? 1 : 0.4
18
-
19
- Rectangle {
20
- id: background
21
- anchors.fill: parent
22
- color: Theme.currentTheme.colors.controlQuaternaryColor
23
- border.color: Theme.currentTheme.colors.cardBorderColor
24
- radius: size / 2
25
-
26
- // 图标
27
- IconWidget {
28
- id: icon
29
- anchors.centerIn: parent
30
- icon: "ic_fluent_person_20_regular"
31
- size: root.size * 0.5
32
- source: root.source
33
-
34
- visible: root.source === "" && root.text === ""
35
- }
36
-
37
- // 文本
38
- Text {
39
- id: textLabel
40
- anchors.centerIn: parent
41
- font.pixelSize: size * 0.41
42
- font.bold: true
43
- text: {
44
- let text_list = root.text.split(" ")
45
- let result = ""
46
- for (let i = 0; i < text_list.length; i++) {
47
- if (text_list[i] !== "" && (i === 0 || i === text_list.length - 1)) {
48
- result += text_list[i][0]
49
- }
50
- }
51
- return result
52
- }
53
- visible: root.source === "" && root.text !== ""
54
- }
55
- }
56
-
57
- Image {
58
- id: image
59
- source: root.source
60
- anchors.fill: parent
61
- fillMode: Image.PreserveAspectCrop
62
- smooth: true
63
- clip: true
64
- }
65
-
66
- // 遮罩
67
- layer.enabled: true
68
- layer.effect: OpacityMask {
69
- maskSource: Rectangle {
70
- width: root.width
71
- height: root.height
72
- radius: background.radius
73
- }
74
- }
75
-
76
- // 动画
77
- Behavior on opacity {
78
- NumberAnimation {
79
- duration: Utils.appearanceSpeed
80
- easing.type: Easing.InOutQuint
81
- }
82
- }
1
+ import QtQuick 2.15
2
+ import QtQuick.Controls.Basic 2.15
3
+ import QtQuick.Layouts 2.15
4
+ import Qt5Compat.GraphicalEffects
5
+ import "../../themes"
6
+ import "../../components"
7
+
8
+ Item {
9
+ id: root
10
+ property int size: 96
11
+ property string source: ""
12
+ property string text
13
+ property alias icon: icon.icon
14
+
15
+ implicitWidth: size
16
+ implicitHeight: size
17
+ opacity: enabled ? 1 : 0.4
18
+
19
+ Rectangle {
20
+ id: background
21
+ anchors.fill: parent
22
+ color: Theme.currentTheme.colors.controlQuaternaryColor
23
+ border.color: Theme.currentTheme.colors.cardBorderColor
24
+ radius: size / 2
25
+
26
+ // 图标
27
+ IconWidget {
28
+ id: icon
29
+ anchors.centerIn: parent
30
+ icon: "ic_fluent_person_20_regular"
31
+ size: root.size * 0.5
32
+ source: root.source
33
+
34
+ visible: root.source === "" && root.text === ""
35
+ }
36
+
37
+ // 文本
38
+ Text {
39
+ id: textLabel
40
+ anchors.centerIn: parent
41
+ font.pixelSize: size * 0.41
42
+ font.bold: true
43
+ text: {
44
+ let text_list = root.text.split(" ")
45
+ let result = ""
46
+ for (let i = 0; i < text_list.length; i++) {
47
+ if (text_list[i] !== "" && (i === 0 || i === text_list.length - 1)) {
48
+ result += text_list[i][0]
49
+ }
50
+ }
51
+ return result
52
+ }
53
+ visible: root.source === "" && root.text !== ""
54
+ }
55
+ }
56
+
57
+ Image {
58
+ id: image
59
+ source: root.source
60
+ anchors.fill: parent
61
+ fillMode: Image.PreserveAspectCrop
62
+ smooth: true
63
+ clip: true
64
+ }
65
+
66
+ // 遮罩
67
+ layer.enabled: true
68
+ layer.effect: OpacityMask {
69
+ maskSource: Rectangle {
70
+ width: root.width
71
+ height: root.height
72
+ radius: background.radius
73
+ }
74
+ }
75
+
76
+ // 动画
77
+ Behavior on opacity {
78
+ NumberAnimation {
79
+ duration: Utils.appearanceSpeed
80
+ easing.type: Easing.InOutQuint
81
+ }
82
+ }
83
83
  }