diff --git a/CMakeLists.txt b/CMakeLists.txt index eabe7bd..2c01c45 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,6 +39,7 @@ add_executable(cutefish-filemanager helper/pathhistory.cpp helper/fm.cpp helper/shortcut.cpp + helper/thumbnailerjob.cpp desktopiconprovider.cpp diff --git a/qml/FolderListItem.qml b/qml/FolderListItem.qml index 237276f..ebd176a 100644 --- a/qml/FolderListItem.qml +++ b/qml/FolderListItem.qml @@ -41,10 +41,10 @@ Item { property bool selected: model.selected property bool blank: model.blank - property color hoveredColor: FishUI.Theme.darkMode ? Qt.lighter(FishUI.Theme.backgroundColor, 1.1) - : Qt.darker(FishUI.Theme.backgroundColor, 1.05) + property color hoveredColor: FishUI.Theme.darkMode ? Qt.lighter(FishUI.Theme.backgroundColor, 2.3) + : Qt.darker(FishUI.Theme.backgroundColor, 1.05) property color selectedColor: FishUI.Theme.darkMode ? Qt.lighter(FishUI.Theme.backgroundColor, 1.2) - : Qt.darker(FishUI.Theme.backgroundColor, 1.15) + : Qt.darker(FishUI.Theme.backgroundColor, 1.15) // onSelectedChanged: { // if (selected && !blank) { // _listItem.grabToImage(function(result) { diff --git a/qml/FolderPage.qml b/qml/FolderPage.qml index 0f8866e..f8ac290 100644 --- a/qml/FolderPage.qml +++ b/qml/FolderPage.qml @@ -20,6 +20,7 @@ import QtQuick 2.12 import QtQuick.Controls 2.12 import QtQuick.Layouts 1.12 +import QtGraphicalEffects 1.0 import Qt.labs.platform 1.0 import Cutefish.FileManager 1.0 as FM @@ -89,10 +90,26 @@ Item { Rectangle { id: _background anchors.fill: parent - anchors.rightMargin: FishUI.Units.smallSpacing * 1.5 - anchors.bottomMargin: FishUI.Units.smallSpacing * 1.5 radius: FishUI.Theme.smallRadius color: FishUI.Theme.secondBackgroundColor + + Rectangle { + id: _topRightRect + anchors.right: parent.right + anchors.top: parent.top + height: FishUI.Theme.smallRadius + width: FishUI.Theme.smallRadius + color: FishUI.Theme.secondBackgroundColor + } + + Rectangle { + id: _bottomLeftRect + anchors.left: parent.left + anchors.bottom: parent.bottom + height: FishUI.Theme.smallRadius + width: FishUI.Theme.smallRadius + color: FishUI.Theme.secondBackgroundColor + } } Label { @@ -140,7 +157,7 @@ Item { ColumnLayout { anchors.fill: parent - anchors.bottomMargin: FishUI.Theme.smallRadius + anchors.bottomMargin: 2 spacing: 0 Loader { @@ -161,9 +178,64 @@ Item { } } - Loader { - Layout.fillWidth: true - sourceComponent: _statusBar + Item { + visible: settings.viewMethod === 0 + height: statusBarHeight + } + } + + Item { + id: _statusBar + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + height: statusBarHeight + z: 999 + + Rectangle { + anchors.fill: parent + color: FishUI.Theme.backgroundColor + opacity: 0.7 + } + + MouseArea { + anchors.fill: parent + } + + RowLayout { + anchors.fill: parent + anchors.leftMargin: FishUI.Units.smallSpacing + anchors.rightMargin: FishUI.Units.smallSpacing + // anchors.bottomMargin: 1 + spacing: FishUI.Units.largeSpacing + + Label { + Layout.alignment: Qt.AlignLeft + font.pointSize: 10 + text: dirModel.count === 1 ? qsTr("%1 item").arg(dirModel.count) + : qsTr("%1 items").arg(dirModel.count) + } + + Label { + Layout.alignment: Qt.AlignLeft + font.pointSize: 10 + text: qsTr("%1 selected").arg(dirModel.selectionCount) + visible: dirModel.selectionCount >= 1 + } + + Item { + Layout.fillWidth: true + } + + Button { + Layout.fillHeight: true + Layout.alignment: Qt.AlignRight + text: qsTr("Empty Trash") + font.pointSize: 10 + onClicked: dirModel.emptyTrash() + visible: dirModel.url === "trash:///" + focusPolicy: Qt.NoFocus + } } } @@ -175,51 +247,6 @@ Item { dirModel.requestRename.connect(rename) } - Component { - id: _statusBar - - Item { - height: statusBarHeight - z: 999 - - RowLayout { - anchors.fill: parent - anchors.leftMargin: FishUI.Units.smallSpacing - anchors.rightMargin: FishUI.Units.largeSpacing - anchors.bottomMargin: 1 - spacing: FishUI.Units.largeSpacing - - Label { - Layout.alignment: Qt.AlignLeft - font.pointSize: 10 - text: dirModel.count === 1 ? qsTr("%1 item").arg(dirModel.count) - : qsTr("%1 items").arg(dirModel.count) - } - - Label { - Layout.alignment: Qt.AlignLeft - font.pointSize: 10 - text: qsTr("%1 selected").arg(dirModel.selectionCount) - visible: dirModel.selectionCount >= 1 - } - - Item { - Layout.fillWidth: true - } - - Button { - Layout.fillHeight: true - Layout.alignment: Qt.AlignRight - text: qsTr("Empty Trash") - font.pointSize: 10 - onClicked: dirModel.emptyTrash() - visible: dirModel.url === "trash:/" - focusPolicy: Qt.NoFocus - } - } - } - } - Component { id: _gridViewComponent @@ -253,7 +280,8 @@ Item { topMargin: FishUI.Units.smallSpacing leftMargin: FishUI.Units.largeSpacing - rightMargin: FishUI.Units.largeSpacing + FishUI.Theme.smallRadius + rightMargin: FishUI.Units.largeSpacing + bottomMargin: FishUI.Units.largeSpacing spacing: FishUI.Units.largeSpacing onCountChanged: { diff --git a/qml/SideBar.qml b/qml/SideBar.qml index 1f6672b..d46a136 100644 --- a/qml/SideBar.qml +++ b/qml/SideBar.qml @@ -111,7 +111,6 @@ ListView { id: _label text: model.name color: checked ? FishUI.Theme.highlightedTextColor : FishUI.Theme.textColor - elide: Text.ElideRight Layout.fillWidth: true Layout.alignment: Qt.AlignVCenter }