# Form implementation generated from reading ui file 'C:\GitHub\PyKotor\Libraries\PyKotor\src\utility.gui\qt\filesystem\browser_widget\file_system_explorer_widget.ui'
#
# Created by: PyQt6 UI code generator 6.7.1
#
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
# run again.  Do not edit this file unless you know what you are doing.
from __future__ import annotations

from typing import TYPE_CHECKING

from qtpy import QtCore, QtGui, QtWidgets

from utility.gui.qt.common.filesystem.address_bar import RobustAddressBar
from utility.gui.qt.common.filesystem.preview_widget import PreviewWidget
from utility.gui.qt.common.ribbons_widget import RibbonsWidget
from utility.gui.qt.common.tasks.task_status_widget import TaskStatusWidget
from utility.gui.qt.widgets.widgets.stacked_view import DynamicStackedView

if TYPE_CHECKING:
    from utility.gui.qt.filesystem.qfileexplorer.explorer import FileSystemExplorerWidget


class Ui_QFileExplorer:
    def setupUi(self, QFileExplorer: FileSystemExplorerWidget):
        QFileExplorer.setObjectName("QFileExplorer")
        QFileExplorer.resize(1000, 600)
        self.centralwidget = QtWidgets.QWidget(parent=QFileExplorer)
        self.centralwidget.setObjectName("centralwidget")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.centralwidget)
        self.verticalLayout.setObjectName("verticalLayout")
        self.topWidget = QtWidgets.QWidget(parent=self.centralwidget)
        self.topWidget.setObjectName("topWidget")
        self.topLayout = QtWidgets.QVBoxLayout(self.topWidget)
        self.topLayout.setContentsMargins(2, 2, 2, 2)
        self.topLayout.setSpacing(2)
        self.topLayout.setObjectName("topLayout")
        self.ribbonWidget = RibbonsWidget()
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.ribbonWidget.sizePolicy().hasHeightForWidth())
        self.ribbonWidget.setSizePolicy(sizePolicy)
        self.ribbonWidget.setObjectName("ribbonWidget")
        self.topLayout.addWidget(self.ribbonWidget)
        self.searchAndAddressWidget = QtWidgets.QWidget(parent=self.topWidget)
        self.searchAndAddressWidget.setObjectName("searchAndAddressWidget")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.searchAndAddressWidget)
        self.horizontalLayout.setContentsMargins(2, 2, 2, 2)
        self.horizontalLayout.setSpacing(2)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.searchBar = QtWidgets.QLineEdit(parent=self.searchAndAddressWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.searchBar.sizePolicy().hasHeightForWidth())
        self.searchBar.setSizePolicy(sizePolicy)
        self.searchBar.setMaximumWidth(200)
        self.searchBar.setObjectName("searchBar")
        self.horizontalLayout.addWidget(self.searchBar)
        self.addressBar = RobustAddressBar(parent=self.searchAndAddressWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
        sizePolicy.setHorizontalStretch(1)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.addressBar.sizePolicy().hasHeightForWidth())
        self.addressBar.setSizePolicy(sizePolicy)
        self.addressBar.setObjectName("addressBar")
        self.horizontalLayout.addWidget(self.addressBar)
        self.topLayout.addWidget(self.searchAndAddressWidget)
        self.verticalLayout.addWidget(self.topWidget)
        self.mainSplitter = QtWidgets.QSplitter(parent=self.centralwidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(1)
        sizePolicy.setHeightForWidth(self.mainSplitter.sizePolicy().hasHeightForWidth())
        self.mainSplitter.setSizePolicy(sizePolicy)
        self.mainSplitter.setOrientation(QtCore.Qt.Orientation.Horizontal)
        self.mainSplitter.setObjectName("mainSplitter")
        self.sidebarWidget = QtWidgets.QWidget(parent=self.mainSplitter)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.sidebarWidget.sizePolicy().hasHeightForWidth())
        self.sidebarWidget.setSizePolicy(sizePolicy)
        self.sidebarWidget.setObjectName("sidebarWidget")
        self.sidebarLayout = QtWidgets.QVBoxLayout(self.sidebarWidget)
        self.sidebarLayout.setContentsMargins(0, 0, 0, 0)
        self.sidebarLayout.setObjectName("sidebarLayout")
        self.drivesWidget = QtWidgets.QWidget(parent=self.sidebarWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.drivesWidget.sizePolicy().hasHeightForWidth())
        self.drivesWidget.setSizePolicy(sizePolicy)
        self.drivesWidget.setMaximumHeight(40)
        self.drivesWidget.setObjectName("drivesWidget")
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.drivesWidget)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.sidebarLayout.addWidget(self.drivesWidget)
        self.sidebarToolBox = QtWidgets.QToolBox(parent=self.sidebarWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(1)
        sizePolicy.setHeightForWidth(self.sidebarToolBox.sizePolicy().hasHeightForWidth())
        self.sidebarToolBox.setSizePolicy(sizePolicy)
        self.sidebarToolBox.setObjectName("sidebarToolBox")
        self.treeViewPage = QtWidgets.QWidget()
        self.treeViewPage.setObjectName("treeViewPage")
        self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.treeViewPage)
        self.verticalLayout_5.setObjectName("verticalLayout_5")
        self.fileSystemTreeView = QtWidgets.QTreeView(parent=self.treeViewPage)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.fileSystemTreeView.sizePolicy().hasHeightForWidth())
        self.fileSystemTreeView.setSizePolicy(sizePolicy)
        self.fileSystemTreeView.setHeaderHidden(True)
        self.fileSystemTreeView.setDragEnabled(True)
        self.fileSystemTreeView.setDragDropMode(QtWidgets.QAbstractItemView.DragDropMode.DragDrop)
        self.fileSystemTreeView.setDefaultDropAction(QtCore.Qt.DropAction.MoveAction)
        self.fileSystemTreeView.setObjectName("fileSystemTreeView")
        self.verticalLayout_5.addWidget(self.fileSystemTreeView)
        self.sidebarToolBox.addItem(self.treeViewPage, "")
        self.bookmarksPage = QtWidgets.QWidget()
        self.bookmarksPage.setObjectName("bookmarksPage")
        self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.bookmarksPage)
        self.verticalLayout_6.setObjectName("verticalLayout_6")
        self.bookmarksListView = QtWidgets.QListView(parent=self.bookmarksPage)
        self.bookmarksListView.setDragEnabled(True)
        self.bookmarksListView.setDragDropMode(QtWidgets.QAbstractItemView.DragDropMode.DragDrop)
        self.bookmarksListView.setDefaultDropAction(QtCore.Qt.DropAction.MoveAction)
        self.bookmarksListView.setObjectName("bookmarksListView")
        self.verticalLayout_6.addWidget(self.bookmarksListView)
        self.sidebarToolBox.addItem(self.bookmarksPage, "")
        self.sidebarLayout.addWidget(self.sidebarToolBox)
        self.dynamicView = DynamicStackedView(parent=self.mainSplitter)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Preferred)
        sizePolicy.setHorizontalStretch(1)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.dynamicView.sizePolicy().hasHeightForWidth())
        self.dynamicView.setSizePolicy(sizePolicy)
        self.dynamicView.setObjectName("dynamicView")
        self.verticalLayout.addWidget(self.mainSplitter)
        QFileExplorer.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(parent=QFileExplorer)
        self.statusbar.setObjectName("statusbar")
        self.statusWidget = QtWidgets.QWidget(parent=self.statusbar)
        self.statusWidget.setObjectName("statusWidget")
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.statusWidget)
        self.horizontalLayout_3.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.taskStatusToggle = QtWidgets.QPushButton(parent=self.statusWidget)
        self.taskStatusToggle.setCheckable(True)
        self.taskStatusToggle.setChecked(True)
        self.taskStatusToggle.setObjectName("taskStatusToggle")
        self.horizontalLayout_3.addWidget(self.taskStatusToggle)
        self.itemCountLabel = QtWidgets.QLabel(parent=self.statusWidget)
        self.itemCountLabel.setObjectName("itemCountLabel")
        self.horizontalLayout_3.addWidget(self.itemCountLabel)
        self.selectedCountLabel = QtWidgets.QLabel(parent=self.statusWidget)
        self.selectedCountLabel.setObjectName("selectedCountLabel")
        self.horizontalLayout_3.addWidget(self.selectedCountLabel)
        self.freeSpaceLabel = QtWidgets.QLabel(parent=self.statusWidget)
        self.freeSpaceLabel.setObjectName("freeSpaceLabel")
        self.horizontalLayout_3.addWidget(self.freeSpaceLabel)
        self.progressBar = QtWidgets.QProgressBar(parent=self.statusWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.progressBar.sizePolicy().hasHeightForWidth())
        self.progressBar.setSizePolicy(sizePolicy)
        self.progressBar.setMaximumSize(QtCore.QSize(150, 16))
        self.progressBar.setCursor(QtGui.QCursor(QtCore.Qt.CursorShape.PointingHandCursor))
        self.progressBar.setProperty("value", 0)
        self.progressBar.setTextVisible(True)
        self.progressBar.setObjectName("progressBar")
        self.horizontalLayout_3.addWidget(self.progressBar)
        spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
        self.horizontalLayout_3.addItem(spacerItem)
        self.zoom_slider = QtWidgets.QSlider(parent=self.statusWidget)
        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Preferred, QtWidgets.QSizePolicy.Policy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(self.zoom_slider.sizePolicy().hasHeightForWidth())
        self.zoom_slider.setSizePolicy(sizePolicy)
        self.zoom_slider.setMaximumSize(QtCore.QSize(100, 16777215))
        self.zoom_slider.setOrientation(QtCore.Qt.Orientation.Horizontal)
        self.zoom_slider.setObjectName("zoom_slider")
        self.horizontalLayout_3.addWidget(self.zoom_slider)
        QFileExplorer.setStatusBar(self.statusbar)
        self.menubar = QtWidgets.QMenuBar(parent=QFileExplorer)
        self.menubar.setObjectName("menubar")
        QFileExplorer.setMenuBar(self.menubar)
        self.previewWidget = PreviewWidget(parent=QFileExplorer)
        self.previewWidget.setObjectName("previewWidget")
        self.taskStatusWidget = TaskStatusWidget(parent=QFileExplorer)
        self.taskStatusWidget.setObjectName("taskStatusWidget")

        self.retranslateUi(QFileExplorer)
        self.sidebarToolBox.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(QFileExplorer)

    def retranslateUi(self, QFileExplorer: FileSystemExplorerWidget | None = None):
        _translate = QtCore.QCoreApplication.translate
        self.searchBar.setPlaceholderText(_translate("QFileExplorer", "Search..."))
        self.fileSystemTreeView.setToolTip(_translate("QFileExplorer", "Browse file system hierarchy"))
        self.fileSystemTreeView.setAccessibleName(_translate("QFileExplorer", "File System Tree"))
        self.sidebarToolBox.setItemText(self.sidebarToolBox.indexOf(self.treeViewPage), _translate("QFileExplorer", "File System"))
        self.bookmarksListView.setToolTip(_translate("QFileExplorer", "View and manage bookmarks"))
        self.bookmarksListView.setAccessibleName(_translate("QFileExplorer", "Bookmarks"))
        self.sidebarToolBox.setItemText(self.sidebarToolBox.indexOf(self.bookmarksPage), _translate("QFileExplorer", "Bookmarks"))
        self.dynamicView.setToolTip(_translate("QFileExplorer", "View files and folders"))
        self.dynamicView.setAccessibleName(_translate("QFileExplorer", "File View"))
        self.taskStatusToggle.setText(_translate("QFileExplorer", "Task Status"))
        self.itemCountLabel.setText(_translate("QFileExplorer", "0 items"))
        self.selectedCountLabel.setText(_translate("QFileExplorer", "0 selected"))
        self.freeSpaceLabel.setText(_translate("QFileExplorer", "Free space: Unknown"))
        self.progressBar.setToolTip(_translate("QFileExplorer", "Click to view log"))
        self.progressBar.setAccessibleName(_translate("QFileExplorer", "Progress"))
        self.progressBar.setFormat(_translate("QFileExplorer", "%v/%m"))
        self.zoom_slider.setToolTip(_translate("QFileExplorer", "Adjust zoom level"))
        self.zoom_slider.setAccessibleName(_translate("QFileExplorer", "Zoom"))
