Compare commits

..

No commits in common. "823721ab8c63ccaa0efa6790edea17d6e0b9fb90" and "46f7299362b0645fa700191a8bf2791b0c0bdf13" have entirely different histories.

9 changed files with 43 additions and 40 deletions

View File

@ -65,6 +65,7 @@ if(QT_VERSION VERSION_GREATER_EQUAL "6.2")
endforeach() endforeach()
endif() endif()
#qml
if (FLUENTUI_BUILD_STATIC_LIB) if (FLUENTUI_BUILD_STATIC_LIB)
set(LIB_TYPE "STATIC") set(LIB_TYPE "STATIC")
else() else()

View File

@ -77,18 +77,7 @@ bool FramelessEventFilter::nativeEventFilter(const QByteArray &eventType, void *
{ {
return false; return false;
} }
const WPARAM wParam = msg->wParam; if(uMsg == WM_NCCALCSIZE){
const LPARAM lParam = msg->lParam;
if(uMsg == WM_WINDOWPOSCHANGING){
WINDOWPOS* wp = reinterpret_cast<WINDOWPOS*>(lParam);
if (wp != nullptr && (wp->flags & SWP_NOSIZE) == 0)
{
wp->flags |= SWP_NOCOPYBITS;
*result = DefWindowProc(hwnd, uMsg, wParam, lParam);
return true;
}
return false;
}else if(uMsg == WM_NCCALCSIZE){
*result = WVR_REDRAW; *result = WVR_REDRAW;
return true; return true;
}else if(uMsg == WM_NCPAINT){ }else if(uMsg == WM_NCPAINT){
@ -164,7 +153,7 @@ void FluFramelessHelper::_updateCursor(int edges){
} }
bool FluFramelessHelper::eventFilter(QObject *obj, QEvent *ev){ bool FluFramelessHelper::eventFilter(QObject *obj, QEvent *ev){
if (!window.isNull() && window->flags()) { if (!window.isNull() && window->flags() & Qt::FramelessWindowHint) {
static int edges = 0; static int edges = 0;
const int margin = 8; const int margin = 8;
@ -234,10 +223,7 @@ void FluFramelessHelper::componentComplete(){
} }
if(!window.isNull()){ if(!window.isNull()){
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
#if (QT_VERSION == QT_VERSION_CHECK(6, 5, 3)) window->setFlags(window->flags() | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);
window->setFlag(Qt::FramelessWindowHint,true);
#endif
window->setFlag(Qt::WindowMinimizeButtonHint,true);
_nativeEvent =new FramelessEventFilter(this); _nativeEvent =new FramelessEventFilter(this);
qApp->installNativeEventFilter(_nativeEvent); qApp->installNativeEventFilter(_nativeEvent);
HWND hwnd = reinterpret_cast<HWND>(window->winId()); HWND hwnd = reinterpret_cast<HWND>(window->winId());
@ -248,7 +234,6 @@ void FluFramelessHelper::componentComplete(){
SetWindowLongPtr(hwnd, GWL_STYLE, style | WS_THICKFRAME | WS_CAPTION); SetWindowLongPtr(hwnd, GWL_STYLE, style | WS_THICKFRAME | WS_CAPTION);
} }
showShadow(hwnd); showShadow(hwnd);
SetWindowPos(hwnd,nullptr,0,0,0,0,SWP_NOZORDER | SWP_NOOWNERZORDER | SWP_NOMOVE | SWP_NOSIZE | SWP_FRAMECHANGED);
#else #else
window->setFlags((window->flags() & (~Qt::WindowMinMaxButtonsHint) & (~Qt::Dialog)) | Qt::FramelessWindowHint | Qt::Window); window->setFlags((window->flags() & (~Qt::WindowMinMaxButtonsHint) & (~Qt::Dialog)) | Qt::FramelessWindowHint | Qt::Window);
#endif #endif

View File

@ -116,6 +116,7 @@ void FluentUI::registerTypes(const char *uri){
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluSpinBox.qml"),uri,major,minor,"FluSpinBox"); qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluSpinBox.qml"),uri,major,minor,"FluSpinBox");
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluStatusView.qml"),uri,major,minor,"FluStatusView"); qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluStatusView.qml"),uri,major,minor,"FluStatusView");
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluTabView.qml"),uri,major,minor,"FluTabView"); qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluTabView.qml"),uri,major,minor,"FluTabView");
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluTableModelColumn.qml"),uri,major,minor,"FluTableModelColumn");
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluTableView.qml"),uri,major,minor,"FluTableView"); qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluTableView.qml"),uri,major,minor,"FluTableView");
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluText.qml"),uri,major,minor,"FluText"); qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluText.qml"),uri,major,minor,"FluText");
qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluTextBox.qml"),uri,major,minor,"FluTextBox"); qmlRegisterType(QUrl("qrc:/qt/qml/FluentUI/Controls/FluTextBox.qml"),uri,major,minor,"FluTextBox");

View File

@ -0,0 +1,5 @@
import Qt.labs.qmlmodels 1.0
TableModelColumn{
}

View File

@ -13,11 +13,12 @@ Rectangle {
color: FluTheme.dark ? Qt.rgba(39/255,39/255,39/255,1) : Qt.rgba(251/255,251/255,253/255,1) color: FluTheme.dark ? Qt.rgba(39/255,39/255,39/255,1) : Qt.rgba(251/255,251/255,253/255,1)
onColumnSourceChanged: { onColumnSourceChanged: {
if(columnSource.length!==0){ if(columnSource.length!==0){
var com_column = Qt.createComponent("FluTableModelColumn.qml")
if (com_column.status === Component.Ready) {
var columns= [] var columns= []
var header_rows = {} var header_rows = {}
columnSource.forEach(function(item){ columnSource.forEach(function(item){
var column = Qt.createQmlObject('import Qt.labs.qmlmodels 1.0;TableModelColumn{}',table_model); var column = com_column.createObject(table_model,{display:item.dataIndex});
column.display = item.dataIndex
columns.push(column) columns.push(column)
header_rows[item.dataIndex] = item.title header_rows[item.dataIndex] = item.title
}) })
@ -26,6 +27,7 @@ Rectangle {
d.header_rows = [header_rows] d.header_rows = [header_rows]
} }
} }
}
QtObject{ QtObject{
id:d id:d
property var currentRow property var currentRow

View File

@ -75,6 +75,7 @@ FluSlider 1.0 Controls/FluSlider.qml
FluSpinBox 1.0 Controls/FluSpinBox.qml FluSpinBox 1.0 Controls/FluSpinBox.qml
FluStatusView 1.0 Controls/FluStatusView.qml FluStatusView 1.0 Controls/FluStatusView.qml
FluTabView 1.0 Controls/FluTabView.qml FluTabView 1.0 Controls/FluTabView.qml
FluTableModelColumn 1.0 Controls/FluTableModelColumn.qml
FluTableView 1.0 Controls/FluTableView.qml FluTableView 1.0 Controls/FluTableView.qml
FluText 1.0 Controls/FluText.qml FluText 1.0 Controls/FluText.qml
FluTextBox 1.0 Controls/FluTextBox.qml FluTextBox 1.0 Controls/FluTextBox.qml

View File

@ -71,6 +71,7 @@
<file>FluentUI/Controls/FluSpinBox.qml</file> <file>FluentUI/Controls/FluSpinBox.qml</file>
<file>FluentUI/Controls/FluStaggeredView.qml</file> <file>FluentUI/Controls/FluStaggeredView.qml</file>
<file>FluentUI/Controls/FluStatusView.qml</file> <file>FluentUI/Controls/FluStatusView.qml</file>
<file>FluentUI/Controls/FluTableModelColumn.qml</file>
<file>FluentUI/Controls/FluTableView.qml</file> <file>FluentUI/Controls/FluTableView.qml</file>
<file>FluentUI/Controls/FluTabView.qml</file> <file>FluentUI/Controls/FluTabView.qml</file>
<file>FluentUI/Controls/FluText.qml</file> <file>FluentUI/Controls/FluText.qml</file>

View File

@ -0,0 +1,5 @@
import Qt.labs.qmlmodels
TableModelColumn{
}

View File

@ -14,11 +14,12 @@ Rectangle {
color: FluTheme.dark ? Qt.rgba(39/255,39/255,39/255,1) : Qt.rgba(251/255,251/255,253/255,1) color: FluTheme.dark ? Qt.rgba(39/255,39/255,39/255,1) : Qt.rgba(251/255,251/255,253/255,1)
onColumnSourceChanged: { onColumnSourceChanged: {
if(columnSource.length!==0){ if(columnSource.length!==0){
var com_column = Qt.createComponent("FluTableModelColumn.qml")
if (com_column.status === Component.Ready) {
var columns= [] var columns= []
var header_rows = {} var header_rows = {}
columnSource.forEach(function(item){ columnSource.forEach(function(item){
var column = Qt.createQmlObject('import Qt.labs.qmlmodels;TableModelColumn{}',table_model); var column = com_column.createObject(table_model,{display:item.dataIndex});
column.display = item.dataIndex
columns.push(column) columns.push(column)
header_rows[item.dataIndex] = item.title header_rows[item.dataIndex] = item.title
}) })
@ -27,6 +28,7 @@ Rectangle {
d.header_rows = [header_rows] d.header_rows = [header_rows]
} }
} }
}
QtObject{ QtObject{
id:d id:d
property var currentRow property var currentRow