diff --git a/plugins/disk-mount/diskcontrolitem.cpp b/plugins/disk-mount/diskcontrolitem.cpp index 38243334b..95d04c0e9 100644 --- a/plugins/disk-mount/diskcontrolitem.cpp +++ b/plugins/disk-mount/diskcontrolitem.cpp @@ -8,6 +8,8 @@ DWIDGET_USE_NAMESPACE DiskControlItem::DiskControlItem(const DiskInfo &info, QWidget *parent) : QWidget(parent), + m_unknowIcon(":/icons/resources/unknow.svg"), + m_diskIcon(new QLabel), m_diskName(new QLabel), m_diskCapacity(new QLabel), @@ -39,7 +41,7 @@ DiskControlItem::DiskControlItem(const DiskInfo &info, QWidget *parent) infoLayout->addWidget(m_diskName); infoLayout->addWidget(m_diskCapacity); infoLayout->setSpacing(0); - infoLayout->setMargin(0); + infoLayout->setContentsMargins(3, 7, 0, 7); QHBoxLayout *unmountLayout = new QHBoxLayout; unmountLayout->addLayout(infoLayout); @@ -51,7 +53,7 @@ DiskControlItem::DiskControlItem(const DiskInfo &info, QWidget *parent) progressLayout->addLayout(unmountLayout); progressLayout->addWidget(m_capacityValueBar); progressLayout->setSpacing(0); - progressLayout->setMargin(0); + progressLayout->setContentsMargins(10, 0, 0, 0); QHBoxLayout *centeralLayout = new QHBoxLayout; centeralLayout->addWidget(m_diskIcon); @@ -70,11 +72,17 @@ void DiskControlItem::updateInfo(const DiskInfo &info) { m_info = info; - m_diskIcon->setPixmap(QIcon::fromTheme(info.m_icon).pixmap(32, 32)); - m_diskName->setText(info.m_name); - m_diskCapacity->setText(QString("%1/%2").arg(formatDiskSize(info.m_usedSize)).arg(formatDiskSize(info.m_totalSize))); + m_diskIcon->setPixmap(QIcon::fromTheme(info.m_icon, m_unknowIcon).pixmap(32, 32)); + if (!info.m_name.isEmpty()) + m_diskName->setText(info.m_name); + else + m_diskName->setText(tr("Unknown device")); + if (info.m_totalSize) + m_diskCapacity->setText(QString("%1/%2").arg(formatDiskSize(info.m_usedSize)).arg(formatDiskSize(info.m_totalSize))); + else + m_diskCapacity->clear(); m_capacityValueBar->setMinimum(0); - m_capacityValueBar->setMaximum(info.m_totalSize); + m_capacityValueBar->setMaximum(std::max(1ull, info.m_totalSize)); m_capacityValueBar->setValue(info.m_usedSize); } diff --git a/plugins/disk-mount/diskcontrolitem.h b/plugins/disk-mount/diskcontrolitem.h index c2bd17d68..ed91e46b8 100644 --- a/plugins/disk-mount/diskcontrolitem.h +++ b/plugins/disk-mount/diskcontrolitem.h @@ -8,6 +8,7 @@ #include #include #include +#include class DiskControlItem : public QWidget { @@ -25,6 +26,7 @@ private slots: private: DiskInfo m_info; + QIcon m_unknowIcon; QLabel *m_diskIcon; QLabel *m_diskName; diff --git a/plugins/disk-mount/resources.qrc b/plugins/disk-mount/resources.qrc index 33c6c2d3c..c7905b653 100644 --- a/plugins/disk-mount/resources.qrc +++ b/plugins/disk-mount/resources.qrc @@ -5,5 +5,6 @@ resources/unmount-press.png resources/unmount-normal.png resources/unmount-hover.png + resources/unknow.svg diff --git a/plugins/disk-mount/resources/unknow.svg b/plugins/disk-mount/resources/unknow.svg new file mode 100644 index 000000000..952b644bf --- /dev/null +++ b/plugins/disk-mount/resources/unknow.svg @@ -0,0 +1,28 @@ + + + + 磁盘挂载-48px + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file