RinUI 0.0.9.1__py3-none-any.whl → 0.0.9.2__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.
- RinUI/__init__.py +1 -1
- RinUI/__pycache__/__init__.cpython-38.pyc +0 -0
- RinUI/components/DateAndTime/DatePicker.qml +105 -80
- RinUI/components/DateAndTime/PickerView.qml +11 -4
- RinUI/components/Navigation/NavigationView.qml +3 -0
- RinUI/components/StatusAndInfo/InfoBar.qml +1 -1
- RinUI/core/__pycache__/launcher.cpython-38.pyc +0 -0
- RinUI/core/launcher.py +3 -2
- RinUI/qmldir +1 -0
- RinUI/themes/utils.qml +5 -1
- RinUI/windows/FluentWindowBase.qml +6 -6
- RinUI/windows/window/ApplicationWindow.qml +1 -1
- RinUI/windows/window/Window.qml +7 -0
- {rinui-0.0.9.1.data → rinui-0.0.9.2.data}/data/README.md +1 -1
- {rinui-0.0.9.1.dist-info → rinui-0.0.9.2.dist-info}/METADATA +3 -3
- {rinui-0.0.9.1.dist-info → rinui-0.0.9.2.dist-info}/RECORD +21 -22
- RinUI/components/Utils/Blur.qml +0 -42
- {rinui-0.0.9.1.data → rinui-0.0.9.2.data}/data/LICENSE +0 -0
- {rinui-0.0.9.1.dist-info → rinui-0.0.9.2.dist-info}/LICENSE +0 -0
- {rinui-0.0.9.1.dist-info → rinui-0.0.9.2.dist-info}/WHEEL +0 -0
- {rinui-0.0.9.1.dist-info → rinui-0.0.9.2.dist-info}/entry_points.txt +0 -0
- {rinui-0.0.9.1.dist-info → rinui-0.0.9.2.dist-info}/top_level.txt +0 -0
RinUI/__init__.py
CHANGED
Binary file
|
@@ -5,111 +5,136 @@ import "../../themes"
|
|
5
5
|
import "../../components"
|
6
6
|
|
7
7
|
Button {
|
8
|
-
id:
|
8
|
+
id: datePickerButton
|
9
9
|
|
10
|
-
property
|
11
|
-
property string pmText: qsTr("PM")
|
12
|
-
property string hourText: qsTr("hour")
|
13
|
-
property string minuteText: qsTr("minute")
|
10
|
+
property bool yearVisible: true
|
14
11
|
|
15
|
-
|
16
|
-
property
|
12
|
+
property alias year: pickerView.value3
|
13
|
+
property alias month: pickerView.value1
|
14
|
+
property alias monthIndex: pickerView.index1
|
15
|
+
property alias day: pickerView.value2
|
17
16
|
|
18
|
-
property
|
19
|
-
property
|
20
|
-
|
17
|
+
property int startYear: 1925
|
18
|
+
property int endYear: 2125
|
19
|
+
|
20
|
+
readonly property var monthModel: (new Array(12)).fill(0).map((_, i) => i + 1).map(getMonthName)
|
21
|
+
readonly property int maxDays: new Date(pickerView.value3 || new Date().getFullYear(), pickerView.index1 + 1, 0).getDate()
|
21
22
|
|
22
23
|
implicitWidth: 250
|
23
24
|
padding: 0
|
24
25
|
|
25
|
-
|
26
|
-
// 获取 / 设置时间 (hh:mm)
|
27
|
-
property string time: {
|
26
|
+
property string date: {
|
28
27
|
if (!pickerView.gotData) return ""
|
29
|
-
let
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
}
|
34
|
-
let hh = h < 10 ? "0" + h : "" + h
|
35
|
-
let mm = parseInt(minute)
|
36
|
-
let mmStr = mm < 10 ? "0" + mm : "" + mm
|
37
|
-
return hh + ":" + mmStr
|
28
|
+
let y = typeof year === "number"? parseInt(year) : new Date().getFullYear()
|
29
|
+
let m = parseInt(monthModel.indexOf(month) + 1)
|
30
|
+
let d = parseInt(day)
|
31
|
+
return y + "-" + m + "-" + d
|
38
32
|
}
|
39
33
|
|
40
|
-
function
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
34
|
+
function setDate(yyyymmdd) {
|
35
|
+
// format
|
36
|
+
if (!yyyymmdd || typeof yyyymmdd !== "string"
|
37
|
+
|| !yyyymmdd.match(/^\d{4}[-\/]\d{1,2}[-\/]\d{1,2}$/))
|
38
|
+
return false
|
39
|
+
let parts = yyyymmdd.split(/[-\/]/) // 使用正则分割符号 '-' 或 '/'
|
40
|
+
let y = parseInt(parts[0])
|
45
41
|
let m = parseInt(parts[1])
|
42
|
+
let d = parseInt(parts[2])
|
46
43
|
|
47
|
-
if (
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
pickerView.value3 = undefined
|
52
|
-
} else {
|
53
|
-
pickerView.value1 = ((h % 12 === 0) ? 12 : h % 12).toString()
|
54
|
-
pickerView.value2 = m.toString()
|
55
|
-
pickerView.value3 = h >= 12 ? pmText : amText
|
56
|
-
}
|
44
|
+
if (m >= 1 && m <= 12 && d >= 1 && d <= 31) {
|
45
|
+
pickerView.value3 = y.toString()
|
46
|
+
pickerView.value1 = getMonthName(m)
|
47
|
+
pickerView.value2 = d.toString()
|
57
48
|
pickerView.gotData = true
|
49
|
+
return true
|
50
|
+
}
|
51
|
+
return -1
|
52
|
+
}
|
53
|
+
|
54
|
+
// 根据 locale 决定顺序
|
55
|
+
property var dateOrder: {
|
56
|
+
let fmt = Qt.locale().dateFormat(Locale.ShortFormat)
|
57
|
+
let order = []
|
58
|
+
if (fmt.indexOf("y") < fmt.indexOf("M") && fmt.indexOf("M") < fmt.indexOf("d"))
|
59
|
+
order = ["year", "month", "day"]
|
60
|
+
else if (fmt.indexOf("M") < fmt.indexOf("d") && fmt.indexOf("d") < fmt.indexOf("y"))
|
61
|
+
order = ["month", "day", "year"]
|
62
|
+
else if (fmt.indexOf("d") < fmt.indexOf("M") && fmt.indexOf("M") < fmt.indexOf("y"))
|
63
|
+
order = ["day", "month", "year"]
|
64
|
+
|
65
|
+
if (!yearVisible) {
|
66
|
+
order = order.filter(item => item !== "year")
|
58
67
|
}
|
68
|
+
return order
|
59
69
|
}
|
60
70
|
|
61
|
-
//
|
71
|
+
// locale获取月份名称
|
72
|
+
function getMonthName(num) {
|
73
|
+
return datePicker.locale.monthName(num - 1)
|
74
|
+
}
|
75
|
+
|
76
|
+
onClicked: pickerView.open()
|
77
|
+
|
62
78
|
contentItem: RowLayout {
|
63
79
|
anchors.fill: parent
|
64
80
|
spacing: 0
|
65
81
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
:
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
verticalAlignment: Text.AlignVCenter
|
100
|
-
|
101
|
-
text: pickerView.gotData ? pickerView.value3 : amText
|
102
|
-
visible: !use24Hour
|
82
|
+
Repeater {
|
83
|
+
model: dateOrder
|
84
|
+
|
85
|
+
delegate: Item {
|
86
|
+
Layout.fillWidth: true
|
87
|
+
Layout.maximumWidth: datePickerButton.implicitWidth / model.length
|
88
|
+
implicitHeight: 32
|
89
|
+
|
90
|
+
Text {
|
91
|
+
anchors.centerIn: parent
|
92
|
+
color: pickerView.gotData ? Theme.currentTheme.colors.textColor
|
93
|
+
: Theme.currentTheme.colors.textSecondaryColor
|
94
|
+
|
95
|
+
text: {
|
96
|
+
const type = modelData
|
97
|
+
if (!pickerView.gotData) {
|
98
|
+
if (type === "year") return qsTr("year")
|
99
|
+
if (type === "month") return qsTr("month")
|
100
|
+
if (type === "day") return qsTr("day")
|
101
|
+
}
|
102
|
+
if (type === "year") return year
|
103
|
+
if (type === "month") return month
|
104
|
+
if (type === "day") return day
|
105
|
+
return ""
|
106
|
+
}
|
107
|
+
}
|
108
|
+
ToolSeparator {
|
109
|
+
anchors.right: parent.right
|
110
|
+
anchors.verticalCenter: parent.verticalCenter
|
111
|
+
implicitHeight: parent.implicitHeight
|
112
|
+
visible: index !== dateOrder.length - 1
|
113
|
+
}
|
114
|
+
}
|
103
115
|
}
|
104
116
|
}
|
105
117
|
|
106
|
-
onClicked: pickerView.open()
|
107
|
-
|
108
118
|
PickerView {
|
109
119
|
id: pickerView
|
110
120
|
width: parent.width
|
111
121
|
|
112
|
-
|
113
|
-
|
122
|
+
model3: yearVisible
|
123
|
+
? (
|
124
|
+
startYear <= endYear
|
125
|
+
? Array.apply(null, {length: endYear - startYear + 1}).map((_, i) => startYear + i)
|
126
|
+
: []
|
127
|
+
)
|
128
|
+
: undefined
|
129
|
+
model1: monthModel
|
130
|
+
model2: Array.from({ length: maxDays }, (_, i) => i + 1) // 天
|
131
|
+
|
132
|
+
// 初始值
|
133
|
+
value3: yearVisible ? (new Date().getFullYear()) : undefined
|
134
|
+
value1: getMonthName(new Date().getMonth() + 1)
|
135
|
+
value2: new Date().getDate()
|
136
|
+
gotData: false
|
137
|
+
|
138
|
+
onValueChanged: gotData = true
|
114
139
|
}
|
115
|
-
}
|
140
|
+
}
|
@@ -17,15 +17,21 @@ Popup {
|
|
17
17
|
property var value2: undefined
|
18
18
|
property var value3: undefined
|
19
19
|
|
20
|
+
property alias index1: hours.currentIndex
|
21
|
+
property alias index2: minutes.currentIndex
|
22
|
+
property alias index3: added.currentIndex
|
23
|
+
|
20
24
|
property var model1: 12
|
21
25
|
property var model2: 60
|
22
26
|
property var model3: [qsTr("AM"), qsTr("PM")]
|
23
27
|
|
24
|
-
|
28
|
+
property bool gotData: typeof value1!== "undefined" && typeof value2!== "undefined"
|
29
|
+
|
30
|
+
signal valueChanged(var value1, var value2, var value3)
|
25
31
|
|
26
32
|
function formatText(count, modelData) {
|
27
|
-
let data =
|
28
|
-
return data.toString().length < 2 && count
|
33
|
+
let data = modelData;
|
34
|
+
return data.toString().length < 2 && count === 60 ? "0" + data
|
29
35
|
: data === 0 && count === 12 ? 12 : data
|
30
36
|
}
|
31
37
|
|
@@ -136,6 +142,7 @@ Popup {
|
|
136
142
|
value1 = hours.currentItem.text
|
137
143
|
value2 = minutes.currentItem.text
|
138
144
|
typeof model3 !== "undefined" ? value3 = added.currentItem.text : undefined
|
145
|
+
valueChanged(value1, value2, value3)
|
139
146
|
root.close()
|
140
147
|
}
|
141
148
|
}
|
@@ -184,7 +191,7 @@ Popup {
|
|
184
191
|
)
|
185
192
|
added.positionViewAtIndex(
|
186
193
|
typeof value3 === "undefined" ? 0
|
187
|
-
: typeof model3 === "number" ? value3 : model3.indexOf(value3), Tumbler.Center
|
194
|
+
: typeof model3 === "number" ? value3 : model3.indexOf(parseInt(value3)), Tumbler.Center
|
188
195
|
)
|
189
196
|
}
|
190
197
|
}
|
@@ -18,6 +18,8 @@ RowLayout {
|
|
18
18
|
property int pushEnterFromY: height
|
19
19
|
property var window: parent // 窗口对象
|
20
20
|
|
21
|
+
signal pageChanged() // 页面切换信号
|
22
|
+
|
21
23
|
id: navigationView
|
22
24
|
anchors.fill: parent
|
23
25
|
|
@@ -195,6 +197,7 @@ RowLayout {
|
|
195
197
|
navigationBar.lastPages.push(navigationBar.currentPage) // 记录当前页面
|
196
198
|
navigationBar.lastPages = navigationBar.lastPages // refresh
|
197
199
|
navigationBar.currentPage = page.toString()
|
200
|
+
pageChanged()
|
198
201
|
|
199
202
|
if (page instanceof Component) {
|
200
203
|
// let obj = page.createObject(stackView)
|
@@ -118,7 +118,7 @@ Frame {
|
|
118
118
|
}
|
119
119
|
Text {
|
120
120
|
id: bodyText
|
121
|
-
property bool wrap: (
|
121
|
+
property bool wrap: (infoBar.width - titleText.width - custom.width - 24) < implicitWidth
|
122
122
|
width: wrap ?
|
123
123
|
parent.width : implicitWidth
|
124
124
|
typography: Typography.Body
|
Binary file
|
RinUI/core/launcher.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import os
|
2
2
|
import sys
|
3
3
|
|
4
|
-
from PySide6.QtCore import QCoreApplication
|
4
|
+
from PySide6.QtCore import QCoreApplication, QObject
|
5
5
|
from PySide6.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout
|
6
6
|
from PySide6.QtQml import QQmlApplicationEngine
|
7
7
|
from .theme import ThemeManager
|
@@ -29,7 +29,7 @@ class TestWindow(QWidget):
|
|
29
29
|
self.resize(400, 300)
|
30
30
|
|
31
31
|
|
32
|
-
class RinUIWindow:
|
32
|
+
class RinUIWindow(QObject):
|
33
33
|
# _instance = None
|
34
34
|
#
|
35
35
|
# def __new__(cls, *args, **kwargs): # 单例模式管理
|
@@ -42,6 +42,7 @@ class RinUIWindow:
|
|
42
42
|
创建基于 RinUI 的 QML 应用程序。
|
43
43
|
:param qml_path: str, QML 文件路径
|
44
44
|
"""
|
45
|
+
super().__init__()
|
45
46
|
if hasattr(self, "_initialized") and self._initialized:
|
46
47
|
return
|
47
48
|
self._initialized = True
|
RinUI/qmldir
CHANGED
RinUI/themes/utils.qml
CHANGED
@@ -5,7 +5,7 @@ import "../themes"
|
|
5
5
|
import "../utils"
|
6
6
|
|
7
7
|
QtObject {
|
8
|
-
property string fontFamily: Qt.application.font.family
|
8
|
+
property string fontFamily: Qt.application.font.family // 默认字体
|
9
9
|
property string iconFontFamily: FontIconLoader.name
|
10
10
|
property string fontIconSource: Qt.resolvedUrl("../assets/fonts/FluentSystemIcons-Resizable.ttf") // 字体图标路径
|
11
11
|
property string fontIconIndexSource: Qt.resolvedUrl("../assets/fonts/FluentSystemIcons-Index.js") // 字体图标索引路径
|
@@ -26,4 +26,8 @@ QtObject {
|
|
26
26
|
function loadFontIconIndex() {
|
27
27
|
Qt.include(fontIconIndexSource);
|
28
28
|
}
|
29
|
+
|
30
|
+
Component.onCompleted: {
|
31
|
+
console.log("Font Family: " + fontFamily)
|
32
|
+
}
|
29
33
|
}
|
@@ -42,12 +42,6 @@ ApplicationWindow {
|
|
42
42
|
}
|
43
43
|
}
|
44
44
|
|
45
|
-
FloatLayer {
|
46
|
-
id: floatLayer
|
47
|
-
anchors.topMargin: titleBarHeight
|
48
|
-
z: 998
|
49
|
-
}
|
50
|
-
|
51
45
|
// 布局
|
52
46
|
ColumnLayout {
|
53
47
|
anchors.fill: parent
|
@@ -117,6 +111,12 @@ ApplicationWindow {
|
|
117
111
|
}
|
118
112
|
}
|
119
113
|
|
114
|
+
FloatLayer {
|
115
|
+
id: floatLayer
|
116
|
+
anchors.topMargin: titleBarHeight
|
117
|
+
z: 998
|
118
|
+
}
|
119
|
+
|
120
120
|
|
121
121
|
//改变鼠标形状
|
122
122
|
MouseArea {
|
RinUI/windows/window/Window.qml
CHANGED
@@ -11,6 +11,7 @@ Window {
|
|
11
11
|
|
12
12
|
color: frameless ? "transparent" : Theme.currentTheme.colors.backgroundColor
|
13
13
|
property bool frameless: false
|
14
|
+
property alias floatLayer: baseWindow.floatLayer
|
14
15
|
default property alias content: baseWindow.data
|
15
16
|
property int titleBarHeight: Theme.currentTheme.appearance.dialogTitleBarHeight
|
16
17
|
|
@@ -37,6 +38,12 @@ Window {
|
|
37
38
|
}
|
38
39
|
}
|
39
40
|
|
41
|
+
FloatLayer {
|
42
|
+
id: floatLayer
|
43
|
+
anchors.topMargin: titleBarHeight
|
44
|
+
z: 998
|
45
|
+
}
|
46
|
+
|
40
47
|
// 标题栏
|
41
48
|
TitleBar {
|
42
49
|
id: titleBar
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: RinUI
|
3
|
-
Version: 0.0.9.
|
3
|
+
Version: 0.0.9.2
|
4
4
|
Summary: A Fluent Design-like UI library for Qt Quick (QML) based on PySide6
|
5
5
|
Author-email: RinLit <lintu233_qwq@icloud.com>
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
@@ -9,7 +9,7 @@ Classifier: Operating System :: OS Independent
|
|
9
9
|
Requires-Python: >=3.8
|
10
10
|
Description-Content-Type: text/markdown
|
11
11
|
License-File: LICENSE
|
12
|
-
Requires-Dist: PySide6
|
12
|
+
Requires-Dist: PySide6>=6.6.3.1
|
13
13
|
Requires-Dist: darkdetect~=0.8.0
|
14
14
|
Requires-Dist: pywin32>=306; sys_platform == "win32"
|
15
15
|
|
@@ -53,7 +53,7 @@ With simple configuration, you can quickly develop elegant UI interfaces in the
|
|
53
53
|
|
54
54
|
## 🪄 Usage
|
55
55
|
|
56
|
-
You can install RinUI via pip:
|
56
|
+
You can install RinUI via pip:
|
57
57
|
```bash
|
58
58
|
pip install RinUI
|
59
59
|
```
|
@@ -1,6 +1,6 @@
|
|
1
|
-
RinUI/__init__.py,sha256=
|
2
|
-
RinUI/qmldir,sha256=
|
3
|
-
RinUI/__pycache__/__init__.cpython-38.pyc,sha256=
|
1
|
+
RinUI/__init__.py,sha256=H3nKEPLLxgd44BOpJfIYjKdK-yy4HBlG-IOF202lOm4,71
|
2
|
+
RinUI/qmldir,sha256=ND5qHmGeJxF43wUc5RwdRKkLyzf5WS1SPA8MegfIzG8,3235
|
3
|
+
RinUI/__pycache__/__init__.cpython-38.pyc,sha256=Y8itDY9LWcl5Do0gmfFjabzkEiXPpV_eI6frkSHiAgk,222
|
4
4
|
RinUI/assets/fonts/FluentSystemIcons-Index.js,sha256=XCgcjUnuZjdsjXUu37llGDpQW8sSJbxwmh-hG6UTB2A,258677
|
5
5
|
RinUI/assets/fonts/FluentSystemIcons-Resizable.ttf,sha256=-IfF3NT1eODD0vOLVLC0Z2U5bsR6woSQAziX3qD1TqU,1447252
|
6
6
|
RinUI/assets/img/default_app_icon.png,sha256=hegCgNlRFhVCTBhrY3ESzPeMWlkZOe5IgXsHWeTArPQ,93928
|
@@ -23,8 +23,8 @@ RinUI/components/BasicInput/Slider.qml,sha256=XJ0gXqHrBffF0PNDpx7TWxFTyZ7NAOxLU8
|
|
23
23
|
RinUI/components/BasicInput/Switch.qml,sha256=6CMQKKAs7tdIT_bdTplUk50bS7ywunYtqfT2v2sOhrI,3359
|
24
24
|
RinUI/components/BasicInput/ToggleButton.qml,sha256=y3bm0agSYT1v4Jzs_-JgAFNf5b_oBzliUyL6QChM6rA,210
|
25
25
|
RinUI/components/BasicInput/ToolButton.qml,sha256=jz2-ddMGdFQIoPHCwOIVbYsp6mRwZgAGrowNHs8P3QU,953
|
26
|
-
RinUI/components/DateAndTime/DatePicker.qml,sha256=
|
27
|
-
RinUI/components/DateAndTime/PickerView.qml,sha256=
|
26
|
+
RinUI/components/DateAndTime/DatePicker.qml,sha256=vP3SPpJ21ObxYUqEc7hzbJUsFTaiM_D3aSZgIQGM8ys,4776
|
27
|
+
RinUI/components/DateAndTime/PickerView.qml,sha256=Av2ybHDQ-Hc00cxi3g97y0wyXZ_aCgq27LQkq9c9dBA,7280
|
28
28
|
RinUI/components/DateAndTime/TimePicker.qml,sha256=KKOVLvKPm5moYIZaRxesRzi9v2pAK5xypCIfDda7N_Q,3844
|
29
29
|
RinUI/components/DialogsAndFlyouts/Dialog.qml,sha256=KIIswm78ly6BK37wfb5mg26CjpGr-ehp0YdTpo902io,2759
|
30
30
|
RinUI/components/DialogsAndFlyouts/DialogButtonBox.qml,sha256=60vE_o-3IgF8Ol0OkobJTeWYE4xaxiD1jFoKN1ZARXg,1174
|
@@ -50,10 +50,10 @@ RinUI/components/Navigation/ErrorPage.qml,sha256=uQ3UBby1vP6-SBjw1_7aU6hRNXmcqNd
|
|
50
50
|
RinUI/components/Navigation/NavigationBar.qml,sha256=RR8PjDNl0lqfwcvnx0EvooAnVx4db6Q8o1L03ghzdlE,5075
|
51
51
|
RinUI/components/Navigation/NavigationItem.qml,sha256=YzveFBTT4I-NVF40NSVD3GCOgP0qdK3aWMA_3IGxuP0,5947
|
52
52
|
RinUI/components/Navigation/NavigationSubItem.qml,sha256=Xap5EX41SWPOIzvd9FmTR4-zJIwHTe2OvestK_j_jso,3041
|
53
|
-
RinUI/components/Navigation/NavigationView.qml,sha256=
|
53
|
+
RinUI/components/Navigation/NavigationView.qml,sha256=8RQh88UbCBvxL9FQDnnMznCy0PR2kAE6-ppudzZQj_k,7496
|
54
54
|
RinUI/components/Navigation/SelectorBar.qml,sha256=ivxG2N0vHKRQ0anRRF9HFlvHlODH34ZOh_hVWuieG2E,1835
|
55
55
|
RinUI/components/StatusAndInfo/InfoBadge.qml,sha256=AmyrUwPLP62x83mFlZu6aio7DFOtVK6mKhPVMVBjpQw,2457
|
56
|
-
RinUI/components/StatusAndInfo/InfoBar.qml,sha256=
|
56
|
+
RinUI/components/StatusAndInfo/InfoBar.qml,sha256=e_nEX7HG9HzarTpLg-bB98zQZ82G6FpzWNbyLD3o5o8,7558
|
57
57
|
RinUI/components/StatusAndInfo/ProgressBar.qml,sha256=RAivKVM8C3JcQFjR6VZPz0H7XqWpSPq5G9qfnh2ABmQ,3515
|
58
58
|
RinUI/components/StatusAndInfo/Toast.qml,sha256=9T8i9JswzGEXZM8CeZbwWsILEbzymy2ZaPwJEUBXXTw,7051
|
59
59
|
RinUI/components/StatusAndInfo/ToolTip.qml,sha256=js0t8IJ6bnYt8JHHMQwS49MQOhaBjLNYP_libFbZROk,2757
|
@@ -61,15 +61,14 @@ RinUI/components/Text/SpinBox.qml,sha256=YC1CjlHauP081qtseFQuSDNCUsCnCgtjh8nfgPq
|
|
61
61
|
RinUI/components/Text/Text.qml,sha256=-VaPy0W4d8mE6C1crSA0ADReKdA_NlghxaS5iV_8RYg,1758
|
62
62
|
RinUI/components/Text/TextField.qml,sha256=yZeXX4TNbUEixB43uZ6X4vcpLnMplmIO1bqsFAJei1c,3160
|
63
63
|
RinUI/components/Text/TextInput.qml,sha256=dShTgTHPgZcwy4qI-fCxXtBBcR4ebkl94hipq5Nadn4,1210
|
64
|
-
RinUI/components/Utils/Blur.qml,sha256=HXChzMeBTrNUl-ZZkKN1d2s3L0Yq6b14WsvUjUpPnbY,1146
|
65
64
|
RinUI/config/rin_ui.json,sha256=rDCS0TVFt1VowGlcW_jqOM81DWwkV7S8Z5rae2p4TSk,149
|
66
65
|
RinUI/core/__init__.py,sha256=lm9MTtS7ZrvwpRDXatPehvJSnLPKnet4MY3R5T69kxM,147
|
67
66
|
RinUI/core/config.py,sha256=n8PLI_t7vpM5kbywmcNgw7tixGgIgf4p8C2eaQk2KDs,3116
|
68
|
-
RinUI/core/launcher.py,sha256=
|
67
|
+
RinUI/core/launcher.py,sha256=ayTA4hT9A7ZvWpYv6sGxPRfbLLBQyUax54V_YKdhGxY,5206
|
69
68
|
RinUI/core/theme.py,sha256=q8vqq5LP1zlGCLMmOfNQv47qcMtoDYqm0J7HwIC74g4,11203
|
70
69
|
RinUI/core/__pycache__/__init__.cpython-38.pyc,sha256=vaddDk6APcPCgXCXDFxYhxCjErIB9R1Lo_DKZ5WEPL4,362
|
71
70
|
RinUI/core/__pycache__/config.cpython-38.pyc,sha256=CfTGNkyEFqGAKwrMboLd29BUk8Ddu6wbSF13dyoXbnE,3752
|
72
|
-
RinUI/core/__pycache__/launcher.cpython-38.pyc,sha256=
|
71
|
+
RinUI/core/__pycache__/launcher.cpython-38.pyc,sha256=WZDsMOmgv03x4uI93ccsDHVRhRIwZC_1cEp0xQvB134,5171
|
73
72
|
RinUI/core/__pycache__/theme.cpython-38.pyc,sha256=CqxoFJO4dwpFfdqWnD5FlCqMEj_xWMvayoFaQCpvf7I,10041
|
74
73
|
RinUI/hooks/__init__.py,sha256=zer67JRQ-h9uvQmutYU2Us5oBjSJnBVzgR1Sl_5aPF0,77
|
75
74
|
RinUI/hooks/hook-RinUI.py,sha256=9DW9x8zgpEsZpaAAUW-0LE_B69od1wBcUviVRnrAfMI,119
|
@@ -77,7 +76,7 @@ RinUI/themes/dark.qml,sha256=2SV9KS2Wj-kILefm2qHg4rcNbo99gice88MiEJcNM3I,5396
|
|
77
76
|
RinUI/themes/light.qml,sha256=4zcR9Xye6iSq6pSywEaOryhTRgAlHeJoEnp9YsaG5gQ,5343
|
78
77
|
RinUI/themes/qmldir,sha256=cpBqpZ_vfZyOwWzAT9MEEVruyJkSWi3RVV6Qj0RVrGI,125
|
79
78
|
RinUI/themes/theme.qml,sha256=AAviilBJ6aXBjjmc1dpSxvzAnlmYWGUTBXbMW2ee6cs,3693
|
80
|
-
RinUI/themes/utils.qml,sha256
|
79
|
+
RinUI/themes/utils.qml,sha256=iXrUTUcMQZpS1kaq3oUwXivswv18FGImVVL2hXtr_B0,1481
|
81
80
|
RinUI/utils/Animation.qml,sha256=Z--MRYr-bZqKX_QyZ4c0Z74g72i0k7aPzTBEUhTfiGo,146
|
82
81
|
RinUI/utils/FloatLayer.qml,sha256=W-TaM8gCt6YWU46V_pDonyxNMlR-iEcg27FMl-FYV58,3323
|
83
82
|
RinUI/utils/FontIconLoader.qml,sha256=DEUH-GlcI5q0PbCsvsvq1t-uPzEZo0-A-Gqt5t1eoFg,307
|
@@ -88,16 +87,16 @@ RinUI/utils/qmldir,sha256=0tTlmbIgNtRRNgqAJ2IAloJIAtwO6lXITV3ciaWLpCs,193
|
|
88
87
|
RinUI/windows/CtrlBtn.qml,sha256=R4c_ZQxv2SFNnuOsCnq0_dH3THEQkZVl41ZFkVG8IR0,3390
|
89
88
|
RinUI/windows/FluentPage.qml,sha256=UBhBZcQbO5hJNmXlOLlDVWSVYBlu73wa1CAKlxgjows,2840
|
90
89
|
RinUI/windows/FluentWindow.qml,sha256=3GkWomOiS1sGPcQ7SQZxl65v-nIIbgig_M2tjy-WQq0,890
|
91
|
-
RinUI/windows/FluentWindowBase.qml,sha256=
|
90
|
+
RinUI/windows/FluentWindowBase.qml,sha256=vsVnvkO_RshTEPQ_bKFEjIzJFJnAR11vDi0m9akF_PI,4822
|
92
91
|
RinUI/windows/TitleBar.qml,sha256=nDMgvN9JDdywZX81dCwH3f90VQofhQNxVdQWEKSGZrg,3665
|
93
92
|
RinUI/windows/qmldir,sha256=8zVLwFf2mHV3QKp13YnR6OkayRpZl7bHpxSdRdBthK4,212
|
94
|
-
RinUI/windows/window/ApplicationWindow.qml,sha256=
|
95
|
-
RinUI/windows/window/Window.qml,sha256=
|
96
|
-
rinui-0.0.9.
|
97
|
-
rinui-0.0.9.
|
98
|
-
rinui-0.0.9.
|
99
|
-
rinui-0.0.9.
|
100
|
-
rinui-0.0.9.
|
101
|
-
rinui-0.0.9.
|
102
|
-
rinui-0.0.9.
|
103
|
-
rinui-0.0.9.
|
93
|
+
RinUI/windows/window/ApplicationWindow.qml,sha256=sVgqmUEk0bh0QfmF5trs7-W3FaEdYUIYDx7Tv5Pdeww,196
|
94
|
+
RinUI/windows/window/Window.qml,sha256=CSaIgozsb7GeqOsRhTlm_n0XqwFqt9oMlOwaIp1ykCc,3635
|
95
|
+
rinui-0.0.9.2.data/data/LICENSE,sha256=5tTvyBFn2yeDG5EfIkn4FRJKHXNKRomDVGxssfzXtqg,1084
|
96
|
+
rinui-0.0.9.2.data/data/README.md,sha256=gx8GTGDQ3Kw1HJVjgYd0k77CLdLxAdEQL9vZZJde08o,2980
|
97
|
+
rinui-0.0.9.2.dist-info/LICENSE,sha256=5tTvyBFn2yeDG5EfIkn4FRJKHXNKRomDVGxssfzXtqg,1084
|
98
|
+
rinui-0.0.9.2.dist-info/METADATA,sha256=NW6tiGG34sw_J5Gd0BG30bX7M99eVH47Tp-ZJJQenO0,3520
|
99
|
+
rinui-0.0.9.2.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
|
100
|
+
rinui-0.0.9.2.dist-info/entry_points.txt,sha256=taxuZYCggoQa2LPubwcurQYRjBRC4cNYOjWaqOYZVxw,54
|
101
|
+
rinui-0.0.9.2.dist-info/top_level.txt,sha256=vKKjXBXEw5OFRIzTxZWUC5ZOj0CK5e3atbymBB4eJ6w,6
|
102
|
+
rinui-0.0.9.2.dist-info/RECORD,,
|
RinUI/components/Utils/Blur.qml
DELETED
@@ -1,42 +0,0 @@
|
|
1
|
-
import QtQuick
|
2
|
-
import Qt5Compat.GraphicalEffects
|
3
|
-
import FluentUI
|
4
|
-
|
5
|
-
Item {
|
6
|
-
id: control
|
7
|
-
property color tintColor: Qt.rgba(1, 1, 1, 1)
|
8
|
-
property real tintOpacity: 0.65
|
9
|
-
property real luminosity: 0.01
|
10
|
-
property real noiseOpacity: 0.02
|
11
|
-
property var target
|
12
|
-
property int blurRadius: 32
|
13
|
-
property rect targetRect: Qt.rect(control.x, control.y, control.width,control.height)
|
14
|
-
|
15
|
-
ShaderEffectSource {
|
16
|
-
id: effect_source
|
17
|
-
anchors.fill: parent
|
18
|
-
visible: false
|
19
|
-
sourceRect: control.targetRect
|
20
|
-
sourceItem: control.target
|
21
|
-
}
|
22
|
-
FastBlur {
|
23
|
-
id: fast_blur
|
24
|
-
anchors.fill: parent
|
25
|
-
source: effect_source
|
26
|
-
radius: control.blurRadius
|
27
|
-
}
|
28
|
-
Rectangle {
|
29
|
-
anchors.fill: parent
|
30
|
-
color: Qt.rgba(1, 1, 1, luminosity)
|
31
|
-
}
|
32
|
-
Rectangle {
|
33
|
-
anchors.fill: parent
|
34
|
-
color: Qt.rgba(tintColor.r, tintColor.g, tintColor.b, tintOpacity)
|
35
|
-
}
|
36
|
-
Image {
|
37
|
-
anchors.fill: parent
|
38
|
-
source: "qrc:/qt/qml/FluentUI/Image/noise.png"
|
39
|
-
fillMode: Image.Tile
|
40
|
-
opacity: control.noiseOpacity
|
41
|
-
}
|
42
|
-
}
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|