RinUI 0.0.11__py3-none-any.whl → 0.1.1__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 (115) hide show
  1. RinUI/__init__.py +4 -4
  2. RinUI/assets/fonts/FluentSystemIcons-Index.js +5255 -5255
  3. RinUI/assets/img/default_app_icon.png +0 -0
  4. RinUI/components/Base.qml +78 -78
  5. RinUI/components/BasicInput/Button.qml +146 -147
  6. RinUI/components/BasicInput/CheckBox.qml +98 -98
  7. RinUI/components/BasicInput/ComboBox.qml +159 -159
  8. RinUI/components/BasicInput/DropDownButton.qml +20 -20
  9. RinUI/components/BasicInput/Hyperlink.qml +17 -17
  10. RinUI/components/BasicInput/PillButton.qml +10 -10
  11. RinUI/components/BasicInput/RadioButton.qml +94 -94
  12. RinUI/components/BasicInput/RoundButton.qml +26 -26
  13. RinUI/components/BasicInput/Slider.qml +212 -212
  14. RinUI/components/BasicInput/Switch.qml +101 -101
  15. RinUI/components/BasicInput/ToggleButton.qml +10 -10
  16. RinUI/components/BasicInput/ToolButton.qml +30 -30
  17. RinUI/components/ContextMenu.qml +183 -183
  18. RinUI/components/DateAndTime/DatePicker.qml +142 -140
  19. RinUI/components/DateAndTime/PickerView.qml +223 -223
  20. RinUI/components/DateAndTime/TimePicker.qml +114 -114
  21. RinUI/components/DialogsAndFlyouts/Dialog.qml +106 -106
  22. RinUI/components/DialogsAndFlyouts/DialogButtonBox.qml +47 -47
  23. RinUI/components/DialogsAndFlyouts/Flyout.qml +87 -144
  24. RinUI/components/DialogsAndFlyouts/Popup.qml +110 -106
  25. RinUI/components/FocusIndicator.qml +33 -33
  26. RinUI/components/IconWidget.qml +52 -52
  27. RinUI/components/Indicator.qml +89 -89
  28. RinUI/components/Layout/Expander.qml +159 -159
  29. RinUI/components/Layout/SettingExpander.qml +66 -66
  30. RinUI/components/Layout/SettingItem.qml +70 -70
  31. RinUI/components/ListAndCollections/Clip.qml +21 -21
  32. RinUI/components/ListAndCollections/Frame.qml +43 -43
  33. RinUI/components/ListAndCollections/ListView.qml +104 -104
  34. RinUI/components/ListAndCollections/ListViewDelegate.qml +82 -82
  35. RinUI/components/ListAndCollections/SettingCard.qml +72 -72
  36. RinUI/components/ListAndCollections/TableView.qml +81 -81
  37. RinUI/components/ListAndCollections/TableViewDelegate.qml +88 -88
  38. RinUI/components/Media/Avatar.qml +83 -0
  39. RinUI/components/MenusAndToolbars/Menu.qml +150 -150
  40. RinUI/components/MenusAndToolbars/MenuBar.qml +42 -42
  41. RinUI/components/MenusAndToolbars/MenuItem.qml +131 -131
  42. RinUI/components/MenusAndToolbars/MenuItemGroup.qml +43 -43
  43. RinUI/components/MenusAndToolbars/MenuSeparator.qml +13 -13
  44. RinUI/components/MenusAndToolbars/TextInputMenu.qml +37 -37
  45. RinUI/components/MenusAndToolbars/ToolSeparator.qml +16 -16
  46. RinUI/components/Navigation/ErrorPage.qml +48 -48
  47. RinUI/components/Navigation/NavigationBar.qml +179 -179
  48. RinUI/components/Navigation/NavigationItem.qml +193 -193
  49. RinUI/components/Navigation/NavigationSubItem.qml +103 -103
  50. RinUI/components/Navigation/NavigationView.qml +228 -227
  51. RinUI/components/Navigation/Segmented.qml +17 -0
  52. RinUI/components/Navigation/SegmentedItem.qml +108 -0
  53. RinUI/components/Navigation/SelectorBar.qml +12 -57
  54. RinUI/components/Navigation/SelectorBarItem.qml +89 -0
  55. RinUI/components/ScrollBar.qml +204 -204
  56. RinUI/components/ScrollView.qml +12 -12
  57. RinUI/components/Shadow.qml +47 -47
  58. RinUI/components/StatusAndInfo/InfoBadge.qml +77 -77
  59. RinUI/components/StatusAndInfo/InfoBar.qml +256 -251
  60. RinUI/components/StatusAndInfo/ProgressBar.qml +126 -126
  61. RinUI/components/StatusAndInfo/ProgressRing.qml +149 -0
  62. RinUI/components/StatusAndInfo/Toast.qml +236 -236
  63. RinUI/components/StatusAndInfo/ToolTip.qml +93 -93
  64. RinUI/components/Text/SpinBox.qml +150 -133
  65. RinUI/components/Text/Text.qml +44 -44
  66. RinUI/components/Text/TextArea.qml +117 -117
  67. RinUI/components/Text/TextField.qml +113 -113
  68. RinUI/components/Text/TextInput.qml +47 -47
  69. RinUI/components/qmldir +80 -77
  70. RinUI/core/__init__.py +4 -4
  71. RinUI/core/config.py +129 -129
  72. RinUI/core/launcher.py +129 -129
  73. RinUI/core/theme.py +339 -339
  74. RinUI/core/translator.py +25 -25
  75. RinUI/hooks/__init__.py +3 -3
  76. RinUI/hooks/hook-RinUI.py +3 -3
  77. RinUI/qmldir +108 -97
  78. RinUI/themes/Appearance.qml +36 -0
  79. RinUI/themes/Colors.qml +36 -0
  80. RinUI/themes/dark.qml +145 -136
  81. RinUI/themes/light.qml +145 -136
  82. RinUI/themes/qmldir +9 -6
  83. RinUI/themes/theme.qml +151 -149
  84. RinUI/themes/utils.qml +37 -37
  85. RinUI/utils/Animation.qml +12 -12
  86. RinUI/utils/FloatLayer.qml +132 -123
  87. RinUI/utils/FontIconLoader.qml +13 -13
  88. RinUI/utils/Position.qml +19 -19
  89. RinUI/utils/Severity.qml +13 -13
  90. RinUI/utils/Typography.qml +17 -17
  91. RinUI/utils/qmldir +4 -4
  92. RinUI/windows/CtrlBtn.qml +118 -118
  93. RinUI/windows/FluentPage.qml +92 -92
  94. RinUI/windows/FluentWindow.qml +31 -30
  95. RinUI/windows/FluentWindowBase.qml +158 -158
  96. RinUI/windows/TitleBar.qml +135 -135
  97. RinUI/windows/qmldir +7 -7
  98. RinUI/windows/window/ApplicationWindow.qml +8 -8
  99. RinUI/windows/window/Window.qml +118 -118
  100. {rinui-0.0.11.data → rinui-0.1.1.data}/data/LICENSE +21 -21
  101. {rinui-0.0.11.data → rinui-0.1.1.data}/data/README.md +100 -97
  102. {rinui-0.0.11.dist-info → rinui-0.1.1.dist-info}/METADATA +116 -112
  103. rinui-0.1.1.dist-info/RECORD +112 -0
  104. {rinui-0.0.11.dist-info → rinui-0.1.1.dist-info}/WHEEL +1 -1
  105. {rinui-0.0.11.dist-info → rinui-0.1.1.dist-info/licenses}/LICENSE +21 -21
  106. RinUI/__pycache__/__init__.cpython-38.pyc +0 -0
  107. RinUI/config/rin_ui.json +0 -8
  108. RinUI/core/__pycache__/__init__.cpython-38.pyc +0 -0
  109. RinUI/core/__pycache__/config.cpython-38.pyc +0 -0
  110. RinUI/core/__pycache__/launcher.cpython-38.pyc +0 -0
  111. RinUI/core/__pycache__/theme.cpython-38.pyc +0 -0
  112. RinUI/core/__pycache__/translator.cpython-38.pyc +0 -0
  113. rinui-0.0.11.dist-info/RECORD +0 -112
  114. {rinui-0.0.11.dist-info → rinui-0.1.1.dist-info}/entry_points.txt +0 -0
  115. {rinui-0.0.11.dist-info → rinui-0.1.1.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
  }
@@ -0,0 +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
+ }
83
+ }