diff --git a/src/plugins/filemanager/CMakeLists.txt b/src/plugins/filemanager/CMakeLists.txt index 6b44bb55c0..4e8b3a280b 100644 --- a/src/plugins/filemanager/CMakeLists.txt +++ b/src/plugins/filemanager/CMakeLists.txt @@ -6,7 +6,7 @@ add_subdirectory(core/dfmplugin-core) # add_subdirectory(core/dfmplugin-recent) add_subdirectory(core/dfmplugin-sidebar) add_subdirectory(core/dfmplugin-titlebar) -# add_subdirectory(core/dfmplugin-workspace) +add_subdirectory(core/dfmplugin-workspace) add_subdirectory(core/dfmplugin-detailspace) # add_subdirectory(core/dfmplugin-computer) # add_subdirectory(core/dfmplugin-trash) diff --git a/src/plugins/filemanager/core/dfmplugin-core/FileWindow.qml b/src/plugins/filemanager/core/dfmplugin-core/FileWindow.qml index 214460424a..7496811be8 100644 --- a/src/plugins/filemanager/core/dfmplugin-core/FileWindow.qml +++ b/src/plugins/filemanager/core/dfmplugin-core/FileWindow.qml @@ -50,7 +50,6 @@ ApplicationWindow { // For local module test ActionMenu { } - SplitView { anchors.fill: parent @@ -61,7 +60,6 @@ ApplicationWindow { width: 200 } } - ColumnLayout { SplitView.fillHeight: true SplitView.fillWidth: true @@ -70,7 +68,6 @@ ApplicationWindow { id: titlebar } - RowLayout { Layout.fillHeight: true Layout.fillWidth: true @@ -79,7 +76,6 @@ ApplicationWindow { id: workspace } - LayoutItemProxy { id: detailspace diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/CMakeLists.txt b/src/plugins/filemanager/core/dfmplugin-workspace/CMakeLists.txt index a773a50eb9..08e56a43f8 100644 --- a/src/plugins/filemanager/core/dfmplugin-workspace/CMakeLists.txt +++ b/src/plugins/filemanager/core/dfmplugin-workspace/CMakeLists.txt @@ -5,24 +5,11 @@ project(dfmplugin-workspace) set(CMAKE_INCLUDE_CURRENT_DIR ON) # TODO(zhangs): remove private -FILE(GLOB WORKSPACE_FILES +FILE(GLOB_RECURSE WORKSPACE_FILES CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/*.h" "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" - "${CMAKE_CURRENT_SOURCE_DIR}/utils/*.h" - "${CMAKE_CURRENT_SOURCE_DIR}/utils/*.cpp" - "${CMAKE_CURRENT_SOURCE_DIR}/events/*.h" - "${CMAKE_CURRENT_SOURCE_DIR}/events/*.cpp" - "${CMAKE_CURRENT_SOURCE_DIR}/menus/*.h" - "${CMAKE_CURRENT_SOURCE_DIR}/menus/*.cpp" - "${CMAKE_CURRENT_SOURCE_DIR}/views/*.h" - "${CMAKE_CURRENT_SOURCE_DIR}/views/*.cpp" - "${CMAKE_CURRENT_SOURCE_DIR}/models/*.h" - "${CMAKE_CURRENT_SOURCE_DIR}/models/*.cpp" - "${CMAKE_CURRENT_SOURCE_DIR}/views/private/*.h" - "${CMAKE_CURRENT_SOURCE_DIR}/views/private/*.cpp" - "${CMAKE_CURRENT_SOURCE_DIR}/models/private/*.h" - "${CMAKE_CURRENT_SOURCE_DIR}/models/private/*.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/*.json" + "${CMAKE_CURRENT_SOURCE_DIR}/*.qml" ) find_package(Dtk${DTK_VERSION_MAJOR} COMPONENTS Widget REQUIRED) @@ -51,3 +38,6 @@ install(TARGETS DESTINATION ${DFM_PLUGIN_FILEMANAGER_CORE_DIR} ) + +#Install qml file +INSTALL_PLUGIN_QUICK_MODULE(${DFM_PLUGIN_FILEMANAGER_CORE_DIR}) diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/Workspace.qml b/src/plugins/filemanager/core/dfmplugin-workspace/Workspace.qml new file mode 100644 index 0000000000..957078e607 --- /dev/null +++ b/src/plugins/filemanager/core/dfmplugin-workspace/Workspace.qml @@ -0,0 +1,41 @@ +// SPDX-FileCopyrightText: 2024 UnionTech Software Technology Co., Ltd. +// +// SPDX-License-Identifier: GPL-3.0-or-later + +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts +import org.dfm.base + +ContainmentItem { + property int widgetType: QuickUtils.WorkSpace + + Layout.fillHeight: true + Layout.fillWidth: true + + Component.onCompleted: + // do init Workspace + { + } + + SplitView { + id: workspaceMainSpliteContainer + + anchors.fill: parent + + Rectangle { + id: tempViewRect + + SplitView.fillWidth: true + SplitView.minimumWidth: 200 + color: "lightblue" + + Text { + anchors.centerIn: parent + color: "black" + font.pointSize: 36 + text: "Workspace" + } + } + } +} diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/events/workspaceeventreceiver.cpp b/src/plugins/filemanager/core/dfmplugin-workspace/events/workspaceeventreceiver.cpp index 10dcfc2568..50ff196ca3 100644 --- a/src/plugins/filemanager/core/dfmplugin-workspace/events/workspaceeventreceiver.cpp +++ b/src/plugins/filemanager/core/dfmplugin-workspace/events/workspaceeventreceiver.cpp @@ -30,8 +30,8 @@ WorkspaceEventReceiver::WorkspaceEventReceiver(QObject *parent) WorkspaceEventReceiver::~WorkspaceEventReceiver() { - dpfSignalDispatcher->unsubscribe("dfmplugin_trashcore", "signal_TrashCore_TrashStateChanged", - WorkspaceHelper::instance(), &WorkspaceHelper::trashStateChanged); + // dpfSignalDispatcher->unsubscribe("dfmplugin_trashcore", "signal_TrashCore_TrashStateChanged", + // WorkspaceHelper::instance(), &WorkspaceHelper::trashStateChanged); } WorkspaceEventReceiver *WorkspaceEventReceiver::instance() diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/menus/basesortmenuscene.cpp b/src/plugins/filemanager/core/dfmplugin-workspace/menus/basesortmenuscene.cpp index 4ade39a42b..4b5eb788ad 100644 --- a/src/plugins/filemanager/core/dfmplugin-workspace/menus/basesortmenuscene.cpp +++ b/src/plugins/filemanager/core/dfmplugin-workspace/menus/basesortmenuscene.cpp @@ -42,7 +42,7 @@ void BaseSortMenuScenePrivate::sortMenuActions(QMenu *menu, const QStringList &s auto actions = menu->actions(); // sort - qSort(actions.begin(), actions.end(), [findIndex](QAction *act1, QAction *act2) { + std::sort(actions.begin(), actions.end(), [findIndex](QAction *act1, QAction *act2) { const auto &property1 = act1->property(ActionID::kActionID).toString(); auto index1 = findIndex(property1); if (index1 == -1) diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/menus/workspacemenuscene_p.h b/src/plugins/filemanager/core/dfmplugin-workspace/menus/workspacemenuscene_p.h index 69a6e33861..108a1fc011 100644 --- a/src/plugins/filemanager/core/dfmplugin-workspace/menus/workspacemenuscene_p.h +++ b/src/plugins/filemanager/core/dfmplugin-workspace/menus/workspacemenuscene_p.h @@ -13,8 +13,6 @@ #include #include -#include - namespace dfmplugin_workspace { class FileView; diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.cpp b/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.cpp index 01fbf9b9ed..5bbe7affdf 100644 --- a/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.cpp +++ b/src/plugins/filemanager/core/dfmplugin-workspace/utils/filesortworker.cpp @@ -15,6 +15,7 @@ #include #include +#include using namespace dfmplugin_workspace; using namespace dfmbase::Global; @@ -776,10 +777,10 @@ void FileSortWorker::checkNameFilters(const FileItemDataPointer itemData) if (!itemData || itemData->data(Global::ItemRoles::kItemFileIsDirRole).toBool() || nameFilters.isEmpty()) return; - QRegExp re("", Qt::CaseInsensitive, QRegExp::Wildcard); for (int i = 0; i < nameFilters.size(); ++i) { - re.setPattern(nameFilters.at(i)); - if (re.exactMatch(itemData->data(kItemNameRole).toString())) { + QRegularExpression re(QRegularExpression::anchoredPattern(QRegularExpression::wildcardToRegularExpression(nameFilters.at(i)))); + QRegularExpressionMatchIterator it = re.globalMatch(itemData->data(kItemNameRole).toString()); + if (it.hasNext()) { itemData->setAvailableState(true); return; } diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/utils/fileviewhelper.cpp b/src/plugins/filemanager/core/dfmplugin-workspace/utils/fileviewhelper.cpp index dd9e9e3acb..21123c5462 100644 --- a/src/plugins/filemanager/core/dfmplugin-workspace/utils/fileviewhelper.cpp +++ b/src/plugins/filemanager/core/dfmplugin-workspace/utils/fileviewhelper.cpp @@ -157,13 +157,13 @@ void FileViewHelper::initStyleOption(QStyleOptionViewItem *option, const QModelI setcolor1(option->palette, appPalette, QPalette::Shadow); if ((option->state & QStyle::State_HasFocus) && option->showDecorationSelected && selectedIndexsCount() > 1) { - setcolor2(option->palette, appPalette, QPalette::Current, QPalette::Background); + setcolor2(option->palette, appPalette, QPalette::Current, QPalette::Window); } else { - setcolor2(option->palette, appPalette, QPalette::Normal, QPalette::Background); + setcolor2(option->palette, appPalette, QPalette::Normal, QPalette::Window); } bool transp = isTransparent(index); - option->backgroundBrush = appPalette.brush(transp ? QPalette::Inactive : QPalette::Current, QPalette::Background); + option->backgroundBrush = appPalette.brush(transp ? QPalette::Inactive : QPalette::Current, QPalette::Window); option->textElideMode = Qt::ElideLeft; } @@ -238,10 +238,11 @@ bool FileViewHelper::isEmptyArea(const QPoint &pos) if (!(index.flags() & Qt::ItemIsSelectable)) return true; - QStyleOptionViewItem option = parent()->viewOptions(); - option.rect = rect; + QStyleOptionViewItem *option = nullptr; + parent()->initViewItemOption(option); + option->rect = rect; - const QList &geometryList = itemDelegate()->paintGeomertys(option, index); + const QList &geometryList = itemDelegate()->paintGeomertys(*option, index); auto ret = std::any_of(geometryList.begin(), geometryList.end(), [pos](const QRect &geometry) { return geometry.contains(pos); }); diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/utils/itemdelegatehelper.cpp b/src/plugins/filemanager/core/dfmplugin-workspace/utils/itemdelegatehelper.cpp index 2da8785e36..5ccc7c719f 100644 --- a/src/plugins/filemanager/core/dfmplugin-workspace/utils/itemdelegatehelper.cpp +++ b/src/plugins/filemanager/core/dfmplugin-workspace/utils/itemdelegatehelper.cpp @@ -9,7 +9,6 @@ #include #include -#include #include #include diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/utils/viewdrawhelper.cpp b/src/plugins/filemanager/core/dfmplugin-workspace/utils/viewdrawhelper.cpp index cd987aba93..810a51e9b9 100644 --- a/src/plugins/filemanager/core/dfmplugin-workspace/utils/viewdrawhelper.cpp +++ b/src/plugins/filemanager/core/dfmplugin-workspace/utils/viewdrawhelper.cpp @@ -33,9 +33,11 @@ QPixmap ViewDrawHelper::renderDragPixmap(dfmbase::Global::ViewMode mode, QModelI indexes.removeAll(topIndex); const qreal scale = view->devicePixelRatioF(); - QStyleOptionViewItem option = view->viewOptions(); - option.state |= QStyle::State_Selected; - option.rect = option.rect.translated(kDragIconOutline, kDragIconOutline); + // QStyleOptionViewItem option = view->viewOptions(); + QStyleOptionViewItem *option = nullptr; + view->initViewItemOption(option); + option->state |= QStyle::State_Selected; + option->rect = option->rect.translated(kDragIconOutline, kDragIconOutline); if (mode == ViewMode::kIconMode) { QRectF rect = view->visualRect(topIndex); @@ -52,9 +54,9 @@ QPixmap ViewDrawHelper::renderDragPixmap(dfmbase::Global::ViewMode mode, QModelI QPainter painter(&pixmap); - drawDragIcons(&painter, option, pixRect, indexes, topIndex); + drawDragIcons(&painter, *option, pixRect, indexes, topIndex); if (dragCount != 1) - drawDragCount(&painter, topIndex, option, dragCount); + drawDragCount(&painter, topIndex, *option, dragCount); else drawDragText(&painter, topIndex, rect.width() - 2 * kIconModeTextPadding - 2 * kIconModeColumuPadding - kIconModeBackRadius); @@ -72,11 +74,11 @@ QPixmap ViewDrawHelper::renderDragPixmap(dfmbase::Global::ViewMode mode, QModelI QPainter painter(&pixmap); if (indexes.isEmpty()) { - drawDragIcons(&painter, option, pixRect, indexes, topIndex); + drawDragIcons(&painter, *option, pixRect, indexes, topIndex); drawDragText(&painter, topIndex, kListDragTextWidth); } else { - drawDragIcons(&painter, option, pixRect, indexes, topIndex); - drawDragCount(&painter, topIndex, option, dragCount); + drawDragIcons(&painter, *option, pixRect, indexes, topIndex); + drawDragCount(&painter, topIndex, *option, dragCount); } return pixmap; diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/views/fileview.cpp b/src/plugins/filemanager/core/dfmplugin-workspace/views/fileview.cpp index dad1d71c46..8f98ff4159 100644 --- a/src/plugins/filemanager/core/dfmplugin-workspace/views/fileview.cpp +++ b/src/plugins/filemanager/core/dfmplugin-workspace/views/fileview.cpp @@ -96,8 +96,8 @@ FileView::~FileView() disconnect(model(), &FileViewModel::stateChanged, this, &FileView::onModelStateChanged); disconnect(selectionModel(), &QItemSelectionModel::selectionChanged, this, &FileView::onSelectionChanged); - dpfSignalDispatcher->unsubscribe("dfmplugin_workspace", "signal_View_HeaderViewSectionChanged", this, &FileView::onHeaderViewSectionChanged); - dpfSignalDispatcher->unsubscribe("dfmplugin_filepreview", "signal_ThumbnailDisplay_Changed", this, &FileView::onWidgetUpdate); + // dpfSignalDispatcher->unsubscribe("dfmplugin_workspace", "signal_View_HeaderViewSectionChanged", this, &FileView::onHeaderViewSectionChanged); + // dpfSignalDispatcher->unsubscribe("dfmplugin_filepreview", "signal_ThumbnailDisplay_Changed", this, &FileView::onWidgetUpdate); } QWidget *FileView::widget() const @@ -361,16 +361,18 @@ void FileView::onSectionHandleDoubleClicked(int logicalIndex) if (rowCount < 1) return; - QStyleOptionViewItem option = viewOptions(); + QStyleOptionViewItem *option = nullptr; + initViewItemOption(option); + // QStyleOptionViewItem option = viewOptions(); - option.rect.setWidth(QWIDGETSIZE_MAX); - option.rect.setHeight(itemSizeHint().height()); + option->rect.setWidth(QWIDGETSIZE_MAX); + option->rect.setHeight(itemSizeHint().height()); int columnMaxWidth = 0; for (int i = 0; i < rowCount; ++i) { const QModelIndex &index = model()->index(i, 0, rootIndex()); - const QList &list = itemDelegate()->paintGeomertys(option, index, true); + const QList &list = itemDelegate()->paintGeomertys(*option, index, true); // 第0列为文件名列,此列比较特殊,因为前面还有文件图标占用了一部分空间 int width = 0; @@ -490,7 +492,7 @@ void FileView::wheelEvent(QWheelEvent *event) verticalScrollBar()->setSliderPosition(verticalScrollBar()->sliderPosition() - event->angleDelta().y()); #endif } - } else if (event->modifiers() == Qt::AltModifier || event->orientation() == Qt::Horizontal) { + } else if (event->modifiers() == Qt::AltModifier || event->angleDelta().x() != 0) { horizontalScrollBar()->setSliderPosition(horizontalScrollBar()->sliderPosition() - event->angleDelta().x()); } else { #ifdef QT_SCROLL_WHEEL_ANI @@ -767,9 +769,10 @@ void FileView::updateViewportContentsMargins(const QSize &itemSize) bool FileView::indexInRect(const QRect &actualRect, const QModelIndex &index) { auto paintRect = visualRect(index); - auto opt = viewOptions(); - opt.rect = paintRect; - auto rectList = itemDelegate()->itemGeomertys(opt, index); + QStyleOptionViewItem *opt = nullptr; + initViewItemOption(opt); + opt->rect = paintRect; + auto rectList = itemDelegate()->itemGeomertys(*opt, index); for (const auto &rect : rectList) { if (!(actualRect.left() > rect.right() || actualRect.top() > rect.bottom() @@ -907,8 +910,11 @@ int FileView::itemCountForRow() const QSize FileView::itemSizeHint() const { + QStyleOptionViewItem *opt = nullptr; + initViewItemOption(opt); + if (itemDelegate()) - return itemDelegate()->sizeHint(viewOptions(), rootIndex()); + return itemDelegate()->sizeHint(*opt, rootIndex()); return QSize(); } @@ -1074,9 +1080,10 @@ QModelIndex FileView::iconIndexAt(const QPoint &pos, const QSize &itemSize) cons auto currentIndex = model()->index(index, 0, rootIndex()); auto paintRect = visualRect(currentIndex); - auto opt = viewOptions(); - opt.rect = paintRect; - auto rectList = itemDelegate()->itemGeomertys(opt, currentIndex); + QStyleOptionViewItem *opt = nullptr; + initViewItemOption(opt); + opt->rect = paintRect; + auto rectList = itemDelegate()->itemGeomertys(*opt, currentIndex); for (const auto &rect : rectList) { if (rect.contains(pos)) return currentIndex; @@ -1492,7 +1499,7 @@ void FileView::startDrag(Qt::DropActions supportedActions) UniversalUtils::urlsTransformToLocal(treeSelectedUrl, &transformedUrls); QByteArray ba; for (const auto &url : transformedUrls) { - ba.append(url.toString() + "\n"); + ba.append(QString(url.toString() + "\n").toLatin1()); } data->setData(DFMGLOBAL_NAMESPACE::Mime::kDFMTreeUrlsKey, ba); } diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/views/iconitemeditor.cpp b/src/plugins/filemanager/core/dfmplugin-workspace/views/iconitemeditor.cpp index dbd020668f..5755c6dd80 100644 --- a/src/plugins/filemanager/core/dfmplugin-workspace/views/iconitemeditor.cpp +++ b/src/plugins/filemanager/core/dfmplugin-workspace/views/iconitemeditor.cpp @@ -374,7 +374,7 @@ void IconItemEditor::updateStyleSheet() QString base = "IconItemEditor[showBackground=true] QTextEdit {background: %1; color: %2;}"; base.append("IconItemEditor QTextEdit {color: %3}"); - base = base.arg(palette().color(QPalette::Background).name(QColor::HexArgb)) + base = base.arg(palette().color(QPalette::Window).name(QColor::HexArgb)) .arg(palette().color(QPalette::BrightText).name(QColor::HexArgb)) .arg(palette().color(QPalette::Text).name(QColor::HexArgb)); diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/views/private/delegatecommon.cpp b/src/plugins/filemanager/core/dfmplugin-workspace/views/private/delegatecommon.cpp index 28c4ce126a..d61aa2197e 100644 --- a/src/plugins/filemanager/core/dfmplugin-workspace/views/private/delegatecommon.cpp +++ b/src/plugins/filemanager/core/dfmplugin-workspace/views/private/delegatecommon.cpp @@ -8,7 +8,6 @@ #include #include #include -#include #include diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/views/private/renamebar_p.cpp b/src/plugins/filemanager/core/dfmplugin-workspace/views/private/renamebar_p.cpp index 71d1743127..c731c307ed 100644 --- a/src/plugins/filemanager/core/dfmplugin-workspace/views/private/renamebar_p.cpp +++ b/src/plugins/filemanager/core/dfmplugin-workspace/views/private/renamebar_p.cpp @@ -100,8 +100,8 @@ void RenameBarPrivate::setUIParameters() lineEdit->setPlaceholderText(QObject::tr("Required")); lineEdit->setText(QString { "1" }); - QRegExp regStr { QString { "[0-9]+" } }; - validator = new QRegExpValidator { regStr, lineEdit }; + QRegularExpression regStr { QString { "[0-9]+" } }; + validator = new QRegularExpressionValidator { regStr, lineEdit }; lineEdit->setValidator(validator); label->setBuddy(lineEdit); @@ -126,7 +126,7 @@ void RenameBarPrivate::layoutItems() noexcept hBoxLayout = frameForLayoutReplaceArea.first; frame = frameForLayoutReplaceArea.second; - hBoxLayout->setMargin(0); + hBoxLayout->setContentsMargins(0, 0, 0, 0); hBoxLayout->addWidget(std::get<0>(replaceOperatorItems)); hBoxLayout->setSpacing(5); hBoxLayout->addWidget(std::get<1>(replaceOperatorItems)); @@ -140,7 +140,7 @@ void RenameBarPrivate::layoutItems() noexcept hBoxLayout = frameForLayoutAddArea.first; frame = frameForLayoutAddArea.second; hBoxLayout->addSpacing(20); - hBoxLayout->setMargin(0); + hBoxLayout->setContentsMargins(0, 0, 0, 0); hBoxLayout->addWidget(std::get<0>(addOperatorItems)); hBoxLayout->setSpacing(5); hBoxLayout->addWidget(std::get<1>(addOperatorItems)); @@ -155,7 +155,7 @@ void RenameBarPrivate::layoutItems() noexcept hBoxLayout = frameForLayoutCustomArea.first; frame = frameForLayoutCustomArea.second; hBoxLayout->setSpacing(0); - hBoxLayout->setMargin(0); + hBoxLayout->setContentsMargins(0, 0, 0, 0); hBoxLayout->addWidget(std::get<0>(customOPeratorItems)); hBoxLayout->setSpacing(5); hBoxLayout->addWidget(std::get<1>(customOPeratorItems)); @@ -171,7 +171,7 @@ void RenameBarPrivate::layoutItems() noexcept hBoxLayout = std::get<2>(buttonsArea); hBoxLayout->setSpacing(0); - hBoxLayout->setMargin(0); + hBoxLayout->setContentsMargins(0, 0, 0, 0); frame = std::get<3>(buttonsArea); hBoxLayout->addSpacing(50); hBoxLayout->addWidget(std::get<0>(buttonsArea)); @@ -202,7 +202,7 @@ QString RenameBarPrivate::filteringText(const QString &text) return text; QString readyText = text; - return readyText.remove(QRegExp("[\\\\/:\\*\\?\"<>|%&]")); + return readyText.remove(QRegularExpression("[\\\\/:\\*\\?\"<>|%&]")); } void RenameBarPrivate::updateLineEditText(QLineEdit *lineEdit, const QString &defaultValue) diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/views/private/renamebar_p.h b/src/plugins/filemanager/core/dfmplugin-workspace/views/private/renamebar_p.h index 6df20d72fa..c06ce6f011 100644 --- a/src/plugins/filemanager/core/dfmplugin-workspace/views/private/renamebar_p.h +++ b/src/plugins/filemanager/core/dfmplugin-workspace/views/private/renamebar_p.h @@ -12,6 +12,8 @@ #include #include +#include + QT_BEGIN_NAMESPACE class QLabel; class QHBoxLayout; @@ -78,7 +80,7 @@ class RenameBarPrivate : public QObject DTuple customOPeratorItems {}; QPair frameForLayoutCustomArea {}; - QRegExpValidator *validator { nullptr }; + QRegularExpressionValidator *validator { nullptr }; DTuple buttonsArea {}; diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/views/tab.cpp b/src/plugins/filemanager/core/dfmplugin-workspace/views/tab.cpp index a4aae7e1f2..b110c5b7e8 100644 --- a/src/plugins/filemanager/core/dfmplugin-workspace/views/tab.cpp +++ b/src/plugins/filemanager/core/dfmplugin-workspace/views/tab.cpp @@ -15,7 +15,8 @@ #include #include -#include +#include +#include #include #include @@ -153,7 +154,7 @@ void Tab::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidg font.setPixelSize(12); if (isChecked()) { - font.setWeight(QFont::Normal + 10); + font.setWeight(QFont::DemiBold); } else { font.setWeight(QFont::Normal); } @@ -163,7 +164,7 @@ void Tab::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidg QString tabName = d->tabAlias.isEmpty() ? d->tabText : d->tabAlias; QString str = fm.elidedText(tabName, Qt::ElideRight, d->width - 10); - DPalette pal = DApplicationHelper::instance()->palette(widget); + DPalette pal = DPaletteHelper::instance()->palette(widget); QColor color; // draw backgound @@ -202,7 +203,7 @@ void Tab::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidg qDrawShadeLine(painter, QPoint(x, 0), QPoint(x, y), pal); QPalette::ColorGroup cp = isChecked() || d->hovered ? QPalette::Active : QPalette::Inactive; - pen.setColor(pal.color(cp, QPalette::Foreground)); + pen.setColor(pal.color(cp, QPalette::WindowText)); painter->setPen(pen); } diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/views/tabbar.cpp b/src/plugins/filemanager/core/dfmplugin-workspace/views/tabbar.cpp index 0367044398..bfcfd12002 100644 --- a/src/plugins/filemanager/core/dfmplugin-workspace/views/tabbar.cpp +++ b/src/plugins/filemanager/core/dfmplugin-workspace/views/tabbar.cpp @@ -272,7 +272,7 @@ void TabBar::onMoveNext(Tab *tab) if (tabIndex >= count() - 1) return; - tabList.swap(tabIndex, tabIndex + 1); + tabList.swapItemsAt(tabIndex, tabIndex + 1); ++tabIndex; quint64 thisWinID = WorkspaceHelper::instance()->windowId(qobject_cast(parent())); @@ -288,7 +288,7 @@ void TabBar::onMovePrevius(Tab *tab) if (tabIndex <= 0) return; - tabList.swap(tabIndex, tabIndex - 1); + tabList.swapItemsAt(tabIndex, tabIndex - 1); --tabIndex; quint64 thisWinID = WorkspaceHelper::instance()->windowId(qobject_cast(parent())); diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/views/workspacewidget.cpp b/src/plugins/filemanager/core/dfmplugin-workspace/views/workspacewidget.cpp index b7cd212a7f..2064c21bd2 100644 --- a/src/plugins/filemanager/core/dfmplugin-workspace/views/workspacewidget.cpp +++ b/src/plugins/filemanager/core/dfmplugin-workspace/views/workspacewidget.cpp @@ -370,7 +370,7 @@ void WorkspaceWidget::initTabBar() tabBottomLine->hide(); tabBarLayout = new QHBoxLayout; - tabBarLayout->setMargin(0); + tabBarLayout->setContentsMargins(0, 0, 0, 0); tabBarLayout->setSpacing(0); tabBarLayout->addWidget(tabBar); tabBarLayout->addWidget(newTabButton); diff --git a/src/plugins/filemanager/core/dfmplugin-workspace/workspace.json b/src/plugins/filemanager/core/dfmplugin-workspace/workspace.json index 80a99b4ae8..f9f1314fc2 100644 --- a/src/plugins/filemanager/core/dfmplugin-workspace/workspace.json +++ b/src/plugins/filemanager/core/dfmplugin-workspace/workspace.json @@ -11,5 +11,12 @@ "UrlLink" : "https://www.uniontech.com", "Depends" : [ {"Name" : "dfmplugin-core", "Version": "1.0.0"} + ], + "Quick": [ + { + "Url" : "Workspace.qml", + "Id" : "workspace", + "Parent" : "dfmplugin-core.filewindow" + } ] }