RinUI 0.1.0__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 (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 +25 -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.data}/data/LICENSE +21 -21
  100. {rinui-0.1.0.data → rinui-0.1.1.data}/data/README.md +100 -100
  101. {rinui-0.1.0.dist-info → rinui-0.1.1.dist-info}/METADATA +116 -115
  102. rinui-0.1.1.dist-info/RECORD +112 -0
  103. {rinui-0.1.0.dist-info → rinui-0.1.1.dist-info}/WHEEL +1 -1
  104. {rinui-0.1.0.dist-info → rinui-0.1.1.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.dist-info}/entry_points.txt +0 -0
  114. {rinui-0.1.0.dist-info → rinui-0.1.1.dist-info}/top_level.txt +0 -0
RinUI/themes/utils.qml CHANGED
@@ -1,37 +1,37 @@
1
- pragma Singleton
2
- import QtQuick 2.15
3
- import "../assets/fonts/FluentSystemIcons-Index.js" as Icons
4
- import "../themes"
5
- import "../utils"
6
-
7
- QtObject {
8
- property string fontFamily: Qt.application.font.family // 默认字体
9
- property string iconFontFamily: FontIconLoader.name
10
- property string fontIconSource: Qt.resolvedUrl("../assets/fonts/FluentSystemIcons-Resizable.ttf") // 字体图标路径
11
- property string fontIconIndexSource: Qt.resolvedUrl("../assets/fonts/FluentSystemIcons-Index.js") // 字体图标索引路径
12
- property var fontIconIndex: Icons.FluentIcons // 字体图标索引
13
-
14
- property color primaryColor: "#605ed2" // 默认主题色
15
- property QtObject colors: Theme.currentTheme.colors // 主题颜色
16
- property QtObject appearance: Theme.currentTheme.appearance // 界面外观
17
- property QtObject typography: Theme.currentTheme.typography // 字体
18
-
19
- property int windowDragArea: 5 // 窗口可拖动范围 (px)
20
- property int dialogMaximumWidth: 600 // 对话框最大宽度 (px)
21
- property int dialogMinimumWidth: 320 // 对话框最小宽度 (px)
22
-
23
- property bool backdropEnabled: false // 是否启用背景特效
24
- property int animationSpeed: 250 // 动画速度 (ms)
25
- property int animationSpeedFaster: 120 // 动画速度 (ms)
26
- property int appearanceSpeed: 175 // 界面切换速度 (ms)
27
- property int animationSpeedMiddle: 450 // 动画速度 (ms)
28
- property int progressBarAnimationSpeed: 1550 // 进度条动画速度 (ms)
29
-
30
- function loadFontIconIndex() {
31
- Qt.include(fontIconIndexSource);
32
- }
33
-
34
- Component.onCompleted: {
35
- console.log("Font Family: " + fontFamily)
36
- }
37
- }
1
+ pragma Singleton
2
+ import QtQuick 2.15
3
+ import "../assets/fonts/FluentSystemIcons-Index.js" as Icons
4
+ import "../themes"
5
+ import "../utils"
6
+
7
+ QtObject {
8
+ property string fontFamily: Qt.application.font.family // 默认字体
9
+ property string iconFontFamily: FontIconLoader.name
10
+ property string fontIconSource: Qt.resolvedUrl("../assets/fonts/FluentSystemIcons-Resizable.ttf") // 字体图标路径
11
+ property string fontIconIndexSource: Qt.resolvedUrl("../assets/fonts/FluentSystemIcons-Index.js") // 字体图标索引路径
12
+ property var fontIconIndex: Icons.FluentIcons // 字体图标索引
13
+
14
+ property color primaryColor: "#605ed2" // 默认主题色
15
+ property QtObject colors: Theme.currentTheme.colors // 主题颜色
16
+ property QtObject appearance: Theme.currentTheme.appearance // 界面外观
17
+ property QtObject typography: Theme.currentTheme.typography // 字体
18
+
19
+ property int windowDragArea: 5 // 窗口可拖动范围 (px)
20
+ property int dialogMaximumWidth: 600 // 对话框最大宽度 (px)
21
+ property int dialogMinimumWidth: 320 // 对话框最小宽度 (px)
22
+
23
+ property bool backdropEnabled: false // 是否启用背景特效
24
+ property int animationSpeed: 250 // 动画速度 (ms)
25
+ property int animationSpeedFaster: 120 // 动画速度 (ms)
26
+ property int appearanceSpeed: 175 // 界面切换速度 (ms)
27
+ property int animationSpeedMiddle: 450 // 动画速度 (ms)
28
+ property int progressBarAnimationSpeed: 1550 // 进度条动画速度 (ms)
29
+
30
+ function loadFontIconIndex() {
31
+ Qt.include(fontIconIndexSource);
32
+ }
33
+
34
+ Component.onCompleted: {
35
+ console.log("Font Family: " + fontFamily)
36
+ }
37
+ }
RinUI/utils/Animation.qml CHANGED
@@ -1,12 +1,12 @@
1
- pragma Singleton
2
- import QtQuick 2.15
3
-
4
- QtObject {
5
- id: animation
6
-
7
- enum Type {
8
- Low,
9
- Medium,
10
- High
11
- }
12
- }
1
+ pragma Singleton
2
+ import QtQuick 2.15
3
+
4
+ QtObject {
5
+ id: animation
6
+
7
+ enum Type {
8
+ Low,
9
+ Medium,
10
+ High
11
+ }
12
+ }
@@ -1,123 +1,132 @@
1
- import QtQuick 2.15
2
- import QtQuick.Controls 2.15
3
- import QtQuick.Layouts 2.15
4
- import "../components"
5
-
6
-
7
- Item {
8
- id: floatLayer
9
- anchors.fill: parent
10
- anchors.margins: margins
11
- property int margins: 32
12
- property int spacing: 12
13
-
14
- // Position
15
- ColumnLayout {
16
- id: topLeft
17
- anchors.top: parent.top
18
- anchors.left: parent.left
19
- spacing: floatLayer.spacing
20
- width: floatLayer.width / 2
21
- }
22
-
23
- ColumnLayout {
24
- id: topCenter
25
- anchors.top: parent.top
26
- anchors.horizontalCenter: parent.horizontalCenter
27
- spacing: floatLayer.spacing
28
- width: floatLayer.width / 2
29
- }
30
-
31
- ColumnLayout {
32
- id: topRight
33
- anchors.top: parent.top
34
- anchors.right: parent.right
35
- spacing: floatLayer.spacing
36
- width: floatLayer.width / 2
37
- }
38
-
39
- ColumnLayout {
40
- id: bottomLeft
41
- anchors.bottom: parent.bottom
42
- anchors.left: parent.left
43
- spacing: floatLayer.spacing
44
- width: floatLayer.width / 2
45
- }
46
-
47
- ColumnLayout {
48
- id: bottomCenter
49
- anchors.bottom: parent.bottom
50
- anchors.horizontalCenter: parent.horizontalCenter
51
- spacing: floatLayer.spacing
52
- width: floatLayer.width / 2
53
- }
54
-
55
- ColumnLayout {
56
- id: bottomRight
57
- anchors.bottom: parent.bottom
58
- anchors.right: parent.right
59
- spacing: floatLayer.spacing
60
- width: floatLayer.width / 2
61
- }
62
-
63
- Component {
64
- id: infoBarComponent
65
- InfoBar {
66
- // title: "Title"
67
- // text: "Text"
68
- Layout.fillWidth: true
69
- }
70
- }
71
-
72
-
73
- // Functions / 方法 //
74
- function createInfoBar( options = {} ){
75
- try{
76
- const { title, text, severity, timeout, position, closable } = options;
77
- var infoContainer = infoBarComponent.createObject(determinePosition(position), {
78
- title: title || "",
79
- text: text || "",
80
- severity: severity ?? Severity.Info,
81
- position: position || Position.Top,
82
- timeout: timeout ?? 1500,
83
- closable: closable ?? true
84
- });
85
-
86
- // return infoContainer;
87
- }
88
- catch(err){
89
- console.error("Error: error creating InfoBar" || err)
90
- }
91
- }
92
-
93
- function createCustom( component ){
94
- try{
95
- var infoContainer = component.createObject(determinePosition(component.position));
96
- }
97
- catch(err){
98
- console.error("Error: error creating component: ", component.objectName || err)
99
- }
100
- }
101
-
102
- function determinePosition(position){
103
- switch(position){
104
- case Position.TopLeft:
105
- return topLeft;
106
- case Position.Top:
107
- return topCenter;
108
- case Position.TopRight:
109
- return topRight;
110
- case Position.BottomLeft:
111
- return bottomLeft;
112
- case Position.Bottom:
113
- return bottomCenter;
114
- case Position.BottomRight:
115
- return bottomRight;
116
- case undefined:
117
- return topCenter;
118
- default:
119
- console.log("Invalid position")
120
- return topCenter;
121
- }
122
- }
123
- }
1
+ import QtQuick 2.15
2
+ import QtQuick.Controls 2.15
3
+ import QtQuick.Layouts 2.15
4
+ import "../components"
5
+
6
+
7
+ Item {
8
+ id: floatLayer
9
+ anchors.fill: parent
10
+ anchors.margins: margins
11
+ property int margins: 32
12
+ property int spacing: 12
13
+
14
+ // Position
15
+ ColumnLayout {
16
+ id: topLeft
17
+ anchors.top: parent.top
18
+ anchors.left: parent.left
19
+ spacing: floatLayer.spacing
20
+ width: floatLayer.width / 2
21
+ }
22
+
23
+ ColumnLayout {
24
+ id: topCenter
25
+ anchors.top: parent.top
26
+ anchors.horizontalCenter: parent.horizontalCenter
27
+ spacing: floatLayer.spacing
28
+ width: floatLayer.width / 2
29
+ }
30
+
31
+ ColumnLayout {
32
+ id: topRight
33
+ anchors.top: parent.top
34
+ anchors.right: parent.right
35
+ spacing: floatLayer.spacing
36
+ width: floatLayer.width / 2
37
+ }
38
+
39
+ ColumnLayout {
40
+ id: bottomLeft
41
+ anchors.bottom: parent.bottom
42
+ anchors.left: parent.left
43
+ spacing: floatLayer.spacing
44
+ width: floatLayer.width / 2
45
+ }
46
+
47
+ ColumnLayout {
48
+ id: bottomCenter
49
+ anchors.bottom: parent.bottom
50
+ anchors.horizontalCenter: parent.horizontalCenter
51
+ spacing: floatLayer.spacing
52
+ width: floatLayer.width / 2
53
+ }
54
+
55
+ ColumnLayout {
56
+ id: bottomRight
57
+ anchors.bottom: parent.bottom
58
+ anchors.right: parent.right
59
+ spacing: floatLayer.spacing
60
+ width: floatLayer.width / 2
61
+ }
62
+
63
+ Component {
64
+ id: infoBarComponent
65
+ InfoBar {
66
+ // title: "Title"
67
+ // text: "Text"
68
+ Layout.fillWidth: true
69
+ }
70
+ }
71
+
72
+
73
+ // Functions / 方法 //
74
+ function createInfoBar( options = {} ){
75
+ try{
76
+ const { title, text, severity, timeout, position, closable } = options;
77
+ var infoContainer = infoBarComponent.createObject(determinePosition(position), {
78
+ title: title || "",
79
+ text: text || "",
80
+ severity: severity ?? Severity.Info,
81
+ position: position || Position.Top,
82
+ timeout: timeout ?? 1500,
83
+ closable: closable ?? true
84
+ });
85
+
86
+ // return infoContainer;
87
+ }
88
+ catch(err){
89
+ console.error("Error: error creating InfoBar" || err)
90
+ }
91
+ }
92
+
93
+ function createCustom(component) {
94
+ try {
95
+ // floatLayer 作为临时父对象
96
+ var infoContainer = component.createObject(floatLayer);
97
+ if (!infoContainer) throw "Failed to create component instance.";
98
+
99
+ var pos = infoContainer.position;
100
+
101
+ var realParent = determinePosition(pos);
102
+ if (realParent && realParent !== floatLayer) {
103
+ infoContainer.parent = realParent;
104
+ }
105
+ } catch(err) {
106
+ console.error("Error: error creating component: ", component.objectName || err);
107
+ }
108
+ }
109
+
110
+
111
+ function determinePosition(position){
112
+ switch(position){
113
+ case Position.TopLeft:
114
+ return topLeft;
115
+ case Position.Top:
116
+ return topCenter;
117
+ case Position.TopRight:
118
+ return topRight;
119
+ case Position.BottomLeft:
120
+ return bottomLeft;
121
+ case Position.Bottom:
122
+ return bottomCenter;
123
+ case Position.BottomRight:
124
+ return bottomRight;
125
+ case undefined:
126
+ return topCenter;
127
+ default:
128
+ console.log("Invalid position")
129
+ return topCenter;
130
+ }
131
+ }
132
+ }
@@ -1,14 +1,14 @@
1
- pragma Singleton
2
- import QtQuick 2.15
3
- import "../themes"
4
-
5
-
6
- Item {
7
- property string name: fontLoader.name
8
- FontLoader {
9
- id: fontLoader
10
- source: Utils.fontIconSource
11
- }
12
-
13
- Component.onCompleted: console.log("Font Source:", fontLoader.name, "Status:", fontLoader.status)
1
+ pragma Singleton
2
+ import QtQuick 2.15
3
+ import "../themes"
4
+
5
+
6
+ Item {
7
+ property string name: fontLoader.name
8
+ FontLoader {
9
+ id: fontLoader
10
+ source: Utils.fontIconSource
11
+ }
12
+
13
+ Component.onCompleted: console.log("Font Source:", fontLoader.name, "Status:", fontLoader.status)
14
14
  }
RinUI/utils/Position.qml CHANGED
@@ -1,19 +1,19 @@
1
- pragma Singleton
2
- import QtQuick 2.15
3
-
4
- QtObject {
5
- id: typography
6
-
7
- enum Type {
8
- Top,
9
- Bottom,
10
- Left,
11
- Right,
12
- TopLeft,
13
- TopRight,
14
- BottomLeft,
15
- BottomRight,
16
- Center,
17
- None
18
- }
19
- }
1
+ pragma Singleton
2
+ import QtQuick 2.15
3
+
4
+ QtObject {
5
+ id: typography
6
+
7
+ enum Type {
8
+ Top,
9
+ Bottom,
10
+ Left,
11
+ Right,
12
+ TopLeft,
13
+ TopRight,
14
+ BottomLeft,
15
+ BottomRight,
16
+ Center,
17
+ None
18
+ }
19
+ }
RinUI/utils/Severity.qml CHANGED
@@ -1,13 +1,13 @@
1
- pragma Singleton
2
- import QtQuick 2.15
3
-
4
- QtObject {
5
- id: typography
6
-
7
- enum Type {
8
- Info,
9
- Success,
10
- Warning,
11
- Error
12
- }
13
- }
1
+ pragma Singleton
2
+ import QtQuick 2.15
3
+
4
+ QtObject {
5
+ id: typography
6
+
7
+ enum Type {
8
+ Info,
9
+ Success,
10
+ Warning,
11
+ Error
12
+ }
13
+ }
@@ -1,17 +1,17 @@
1
- pragma Singleton
2
- import QtQuick 2.15
3
-
4
- QtObject {
5
- id: typography
6
-
7
- enum Type {
8
- Display,
9
- TitleLarge,
10
- Title,
11
- Subtitle,
12
- Body,
13
- BodyStrong,
14
- BodyLarge,
15
- Caption
16
- }
17
- }
1
+ pragma Singleton
2
+ import QtQuick 2.15
3
+
4
+ QtObject {
5
+ id: typography
6
+
7
+ enum Type {
8
+ Display,
9
+ TitleLarge,
10
+ Title,
11
+ Subtitle,
12
+ Body,
13
+ BodyStrong,
14
+ BodyLarge,
15
+ Caption
16
+ }
17
+ }
RinUI/utils/qmldir CHANGED
@@ -1,5 +1,5 @@
1
- singleton Typography 1.0 Typography.qml
2
- singleton Severity 1.0 Severity.qml
3
- singleton Position 1.0 Position.qml
4
- FloatLayer 1.0 FloatLayer.qml
1
+ singleton Typography 1.0 Typography.qml
2
+ singleton Severity 1.0 Severity.qml
3
+ singleton Position 1.0 Position.qml
4
+ FloatLayer 1.0 FloatLayer.qml
5
5
  singleton FontIconLoader 1.0 FontIconLoader.qml