From e38463c34699ca09bf4206c99891395439f41a97 Mon Sep 17 00:00:00 2001 From: keke <243768648@qq.com> Date: Wed, 8 Jun 2022 23:21:41 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=97=A0=E5=BA=94=E7=94=A8=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E6=98=BE=E7=A4=BA=E4=B8=BA=E7=A9=BA=EF=BC=9B=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E5=88=97=E8=A1=A8=E6=AF=8F=E4=B8=AA=E5=8D=95=E5=85=83?= =?UTF-8?q?=E7=9A=84=E5=9B=9B=E5=91=A8=E9=97=B4=E9=9A=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- appmanagercommon.h | 4 ++-- appmanagerwidget.cpp | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/appmanagercommon.h b/appmanagercommon.h index c591d51..54a5fd8 100644 --- a/appmanagercommon.h +++ b/appmanagercommon.h @@ -1,6 +1,6 @@ #pragma once -#include +#include #define ONLY_SHOW_IN_VALUE_DEEPIN "Deepin" #define X_DEEPIN_VENDOR_STR "deepin" @@ -8,7 +8,7 @@ #define APP_THEME_ICON_DEFAULT "application-x-executable" // 列表数据角色定义 -#define AM_LIST_VIEW_ITEM_DATA_ROLE_PKG_NAME Qt::ItemDataRole::UserRole + 1 +#define AM_LIST_VIEW_ITEM_DATA_ROLE_PKG_NAME Dtk::ItemDataRole::UserRole + 1 namespace AM { // 运行状态 diff --git a/appmanagerwidget.cpp b/appmanagerwidget.cpp index 4099468..dc3c896 100644 --- a/appmanagerwidget.cpp +++ b/appmanagerwidget.cpp @@ -28,6 +28,10 @@ using namespace AM; +Q_DECLARE_METATYPE(QMargins) +const QMargins ListViewItemMargin(5, 3, 5, 3); +const QVariant ListViewItemMarginVar = QVariant::fromValue(ListViewItemMargin); + AppManagerWidget::AppManagerWidget(AppManagerModel *model, QWidget *parent) : QWidget(parent) , m_model(model) @@ -125,6 +129,8 @@ AppManagerWidget::AppManagerWidget(AppManagerModel *model, QWidget *parent) m_appListView = new DListView(this); m_appListView->setSpacing(0); m_appListView->setItemSpacing(1); + m_appListView->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + m_appListView->setFrameShape(QFrame::Shape::NoFrame); m_appListView->setTextElideMode(Qt::TextElideMode::ElideMiddle); m_appListView->setEditTriggers(DListView::EditTrigger::NoEditTriggers); m_appListView->setAutoFillBackground(true); @@ -399,6 +405,7 @@ void AppManagerWidget::showAppInfo(const AppInfo &info) if (m_showingAppInfo.installedPkgInfo.version == srvPkgInfo.version) { m_showingAppInfo.installedPkgInfo.pkgSize = srvPkgInfo.pkgSize; m_showingAppInfo.installedPkgInfo.downloadUrl = srvPkgInfo.downloadUrl; + break; } } @@ -408,7 +415,12 @@ void AppManagerWidget::showAppInfo(const AppInfo &info) } else { m_appAbstractLabel->setPixmap(QIcon::fromTheme(APP_THEME_ICON_DEFAULT).pixmap(40, 40)); } - m_appNameLable->setText(m_showingAppInfo.desktopInfo.appName); + + QString appName = m_showingAppInfo.desktopInfo.appName; + if (appName.isEmpty()) { + appName = m_showingAppInfo.pkgName; + } + m_appNameLable->setText(appName); m_infoBtn->setChecked(true); @@ -713,6 +725,7 @@ void AppManagerWidget::setItemModelFromAppInfoList(const QList &appInfo appName = info.pkgName; } QStandardItem *item = new QStandardItem(appName); + item->setData(ListViewItemMarginVar, Dtk::ItemDataRole::MarginsRole); if (!info.desktopInfo.themeIconName.isEmpty()) { item->setIcon(QIcon::fromTheme(info.desktopInfo.themeIconName)); } else { -- Gitee