Compare commits
No commits in common. "705a65725c2f7aab6cdf51abfe0a52db1d77611d" and "2e6d85352ace52cbb54da6c65def5fbb29068288" have entirely different histories.
705a65725c
...
2e6d85352a
|
@ -1,23 +1,17 @@
|
||||||
import QtQuick
|
import QtQuick
|
||||||
import QtQuick.Controls
|
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import RibbonUI
|
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
property string title
|
property string title
|
||||||
default property alias content: container.data
|
default property alias content: container.data
|
||||||
clip: true
|
clip: true
|
||||||
ScrollView{
|
RowLayout{
|
||||||
id: view
|
id: container
|
||||||
anchors.fill: parent
|
spacing: 0
|
||||||
ScrollBar.horizontal: RibbonScrollBar{
|
anchors{
|
||||||
anchors.bottom: view.bottom
|
top:parent.top
|
||||||
width: view.width
|
bottom:parent.bottom
|
||||||
}
|
left: parent.left
|
||||||
RowLayout{
|
|
||||||
id: container
|
|
||||||
spacing: 0
|
|
||||||
height: parent.height
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ import RibbonUI
|
||||||
Item {
|
Item {
|
||||||
id: control
|
id: control
|
||||||
height: 30
|
height: 30
|
||||||
property int minimumWidth: title_text.implicitWidth + Math.max(left_container.width, right_container.width) * 2 + (Qt.platform.os === "osx" ? 65 : 0) + 20
|
property int minimumWidth: title_text.implicitWidth + left_container.width + right_container.width + (Qt.platform.os === "osx" ? 65 : 0) + 40
|
||||||
property string title: Window.window.title
|
property string title: Window.window.title
|
||||||
property bool show_style_switch: true
|
property bool show_style_switch: true
|
||||||
property bool show_darkmode_btn: true
|
property bool show_darkmode_btn: true
|
||||||
|
|
|
@ -4,13 +4,11 @@ import org.wangwenx190.FramelessHelper
|
||||||
|
|
||||||
Window {
|
Window {
|
||||||
id:window
|
id:window
|
||||||
minimumWidth: title_bar.minimumWidth
|
|
||||||
default property alias content: container.data
|
default property alias content: container.data
|
||||||
property alias window_items: window_items
|
property alias window_items: window_items
|
||||||
property alias title_bar: titleBar
|
property alias title_bar: titleBar
|
||||||
property alias popup: pop
|
property alias popup: pop
|
||||||
property bool comfirmed_quit: false
|
property bool comfirmed_quit: false
|
||||||
property var sub_windows: ({})
|
|
||||||
visible: false
|
visible: false
|
||||||
color: {
|
color: {
|
||||||
if (FramelessHelper.blurBehindWindowEnabled) {
|
if (FramelessHelper.blurBehindWindowEnabled) {
|
||||||
|
@ -77,8 +75,8 @@ Window {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
color: 'transparent'
|
color: 'transparent'
|
||||||
border.color: RibbonTheme.dark_mode ? "#7A7A7A" : "#2C59B7"
|
border.color: RibbonTheme.dark_mode ? "#7A7A7A" : "#2C59B7"
|
||||||
border.width: RibbonTheme.modern_style ? Qt.platform.os === 'windows' ? 2 : 1 : 0
|
border.width: RibbonTheme.modern_style ? 1 : 0
|
||||||
radius: Qt.platform.os === 'windows' ? 8 : 10
|
radius: 10
|
||||||
visible: RibbonTheme.modern_style
|
visible: RibbonTheme.modern_style
|
||||||
}
|
}
|
||||||
RibbonPopup{
|
RibbonPopup{
|
||||||
|
@ -113,35 +111,38 @@ Window {
|
||||||
close_dialog.open()
|
close_dialog.open()
|
||||||
}
|
}
|
||||||
|
|
||||||
function show_window(window_url, args){
|
Loader{
|
||||||
if (sub_windows.hasOwnProperty(window_url))
|
id: window_loader
|
||||||
{
|
property var args
|
||||||
if (args && Object.keys(args).length)
|
onLoaded: {
|
||||||
{
|
item.onClosing.connect(function(){
|
||||||
for (let arg in args){
|
window_loader.source = ""
|
||||||
sub_windows[window_url][arg] = args[arg]
|
})
|
||||||
|
if (!window_loader.args)
|
||||||
|
return
|
||||||
|
else if(Object.keys(window_loader.args).length){
|
||||||
|
for (let arg in window_loader.args){
|
||||||
|
item[arg] = window_loader.args[arg]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!sub_windows[window_url].visible)
|
else{
|
||||||
{
|
console.error("RibbonWindow: Arguments error, please check.")
|
||||||
sub_windows[window_url].show()
|
|
||||||
}
|
}
|
||||||
sub_windows[window_url].raise()
|
item.show()
|
||||||
sub_windows[window_url].requestActivate()
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
var component = Qt.createComponent(window_url, Component.PreferSynchronous, undefined);
|
}
|
||||||
if (component.status === Component.Ready) {
|
|
||||||
var window = component.createObject(undefined, args);
|
function show_window(window_url, args){
|
||||||
sub_windows[window_url] = window
|
if (window_url === window_loader.source && window_loader.status === Loader.Ready)
|
||||||
window.onClosing.connect(function() {
|
window_loader.item.raise()
|
||||||
window.destroy()
|
else
|
||||||
delete sub_windows[window_url]
|
window_loader.source = window_url
|
||||||
});
|
if (args !== window_loader.args && Object.keys(window_loader.args).length && window_loader.status === Loader.Ready)
|
||||||
window.raise()
|
{
|
||||||
window.requestActivate()
|
window_loader.args = args
|
||||||
} else if (component.status === Component.Error) {
|
for (let arg in window_loader.args){
|
||||||
console.error("RibbonWindow: Error loading Window:", component.errorString())
|
window_loader.item[arg] = window_loader.args[arg]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
#include "ribbonui.h"
|
#include "ribbonui.h"
|
||||||
#include <QMutex>
|
#include <QMutex>
|
||||||
#include <QOperatingSystemVersion>
|
|
||||||
#define STR(x) #x
|
#define STR(x) #x
|
||||||
#define JOIN(a,b,c) STR(a.b.c)
|
#define JOIN(a,b,c) STR(a.b.c)
|
||||||
#define VER_JOIN(x) JOIN x
|
#define VER_JOIN(x) JOIN x
|
||||||
|
@ -10,7 +9,6 @@ RibbonUI::RibbonUI(QQuickItem *parent)
|
||||||
{
|
{
|
||||||
_version = VER_JOIN((RIBBONUI_VERSION));
|
_version = VER_JOIN((RIBBONUI_VERSION));
|
||||||
_qt_version = QString(qVersion()).replace('.',"").toInt();
|
_qt_version = QString(qVersion()).replace('.',"").toInt();
|
||||||
_is_win11 = QOperatingSystemVersion::current() >= QOperatingSystemVersion(QOperatingSystemVersion::Windows, 10, 0, 22000);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
RibbonUI* RibbonUI::instance(){
|
RibbonUI* RibbonUI::instance(){
|
||||||
|
@ -28,7 +26,9 @@ void RibbonUI::init()
|
||||||
{
|
{
|
||||||
qputenv("QT_QUICK_CONTROLS_STYLE","Basic");
|
qputenv("QT_QUICK_CONTROLS_STYLE","Basic");
|
||||||
FramelessHelper::Quick::initialize();
|
FramelessHelper::Quick::initialize();
|
||||||
|
#ifdef Q_OS_WIN
|
||||||
FramelessConfig::instance()->set(Global::Option::ForceHideWindowFrameBorder);
|
FramelessConfig::instance()->set(Global::Option::ForceHideWindowFrameBorder);
|
||||||
|
#endif
|
||||||
FramelessConfig::instance()->set(Global::Option::DisableLazyInitializationForMicaMaterial);
|
FramelessConfig::instance()->set(Global::Option::DisableLazyInitializationForMicaMaterial);
|
||||||
FramelessConfig::instance()->set(Global::Option::CenterWindowBeforeShow);
|
FramelessConfig::instance()->set(Global::Option::CenterWindowBeforeShow);
|
||||||
FramelessConfig::instance()->set(Global::Option::EnableBlurBehindWindow);
|
FramelessConfig::instance()->set(Global::Option::EnableBlurBehindWindow);
|
||||||
|
|
|
@ -15,7 +15,6 @@ class RibbonUI : public QQuickItem
|
||||||
QML_NAMED_ELEMENT(RibbonUI)
|
QML_NAMED_ELEMENT(RibbonUI)
|
||||||
Q_PROPERTY_R(QString, version)
|
Q_PROPERTY_R(QString, version)
|
||||||
Q_PROPERTY_R(int, qt_version)
|
Q_PROPERTY_R(int, qt_version)
|
||||||
Q_PROPERTY_R(int, is_win11)
|
|
||||||
public:
|
public:
|
||||||
static RibbonUI* instance();
|
static RibbonUI* instance();
|
||||||
static RibbonUI* create(QQmlEngine *qmlEngine, QJSEngine *jsEngine){return instance();}
|
static RibbonUI* create(QQmlEngine *qmlEngine, QJSEngine *jsEngine){return instance();}
|
||||||
|
|
Loading…
Reference in New Issue