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
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