fix: 优化应用程序预览界面显示方式

优化应用程序预览界面显示方式

Log: 优化应用程序预览界面显示方式
Task: https://pms.uniontech.com/zentao/task-view-79863.html
Influence: 优化应用程序预览界面显示方式
Change-Id: Ia4975b3b8e09fc4fc08ae54a0451e259b6463ef3
This commit is contained in:
chenjun 2022-01-25 10:22:59 +08:00
parent 4067bfe337
commit 9c8ac3d800
6 changed files with 10 additions and 12 deletions

View File

@ -654,9 +654,8 @@ void AppItem::showPreview()
m_appPreviewTips = new PreviewContainer; m_appPreviewTips = new PreviewContainer;
m_appPreviewTips->setWindowInfos(m_windowInfos, m_itemEntryInter->GetAllowedCloseWindows().value());
m_appPreviewTips->updateSnapshots();
m_appPreviewTips->updateLayoutDirection(DockPosition); m_appPreviewTips->updateLayoutDirection(DockPosition);
m_appPreviewTips->setWindowInfos(m_windowInfos, m_itemEntryInter->GetAllowedCloseWindows().value());
connect(m_appPreviewTips, &PreviewContainer::requestActivateWindow, this, &AppItem::requestActivateWindow, Qt::QueuedConnection); connect(m_appPreviewTips, &PreviewContainer::requestActivateWindow, this, &AppItem::requestActivateWindow, Qt::QueuedConnection);
connect(m_appPreviewTips, &PreviewContainer::requestPreviewWindow, this, &AppItem::requestPreviewWindow, Qt::QueuedConnection); connect(m_appPreviewTips, &PreviewContainer::requestPreviewWindow, this, &AppItem::requestPreviewWindow, Qt::QueuedConnection);

View File

@ -372,6 +372,12 @@ bool AppSnapshot::eventFilter(QObject *watched, QEvent *e)
return false; return false;
} }
void AppSnapshot::resizeEvent(QResizeEvent *event)
{
QWidget::resizeEvent(event);
fetchSnapshot();
}
SHMInfo *AppSnapshot::getImageDSHM() SHMInfo *AppSnapshot::getImageDSHM()
{ {
const auto display = Utils::IS_WAYLAND_DISPLAY ? XOpenDisplay(nullptr) : QX11Info::display(); const auto display = Utils::IS_WAYLAND_DISPLAY ? XOpenDisplay(nullptr) : QX11Info::display();

View File

@ -98,6 +98,7 @@ private:
void paintEvent(QPaintEvent *e) override; void paintEvent(QPaintEvent *e) override;
void mousePressEvent(QMouseEvent *e) override; void mousePressEvent(QMouseEvent *e) override;
bool eventFilter(QObject *watched, QEvent *e) override; bool eventFilter(QObject *watched, QEvent *e) override;
void resizeEvent(QResizeEvent *event) override;
SHMInfo *getImageDSHM(); SHMInfo *getImageDSHM();
XImage *getImageXlib(); XImage *getImageXlib();
QRect rectRemovedShadow(const QImage &qimage, unsigned char *prop_to_return_gtk); QRect rectRemovedShadow(const QImage &qimage, unsigned char *prop_to_return_gtk);

View File

@ -95,12 +95,6 @@ void PreviewContainer::setWindowInfos(const WindowInfoMap &infos, const WindowLi
adjustSize(m_wmHelper->hasComposite()); adjustSize(m_wmHelper->hasComposite());
} }
void PreviewContainer::updateSnapshots()
{
for (AppSnapshot *snap : m_snapshots)
snap->fetchSnapshot();
}
void PreviewContainer::setTitleDisplayMode(int mode) void PreviewContainer::setTitleDisplayMode(int mode)
{ {
m_titleMode = static_cast<TitleDisplayMode>(mode); m_titleMode = static_cast<TitleDisplayMode>(mode);

View File

@ -58,7 +58,6 @@ signals:
public: public:
void setWindowInfos(const WindowInfoMap &infos, const WindowList &allowClose); void setWindowInfos(const WindowInfoMap &infos, const WindowList &allowClose);
void updateSnapshots();
void setTitleDisplayMode(int mode); void setTitleDisplayMode(int mode);
public slots: public slots:

View File

@ -57,7 +57,6 @@ TEST_F(Test_PreviewContainer, coverage_test)
container->previewEntered(id); container->previewEntered(id);
container->m_waitForShowPreviewTimer->start(); container->m_waitForShowPreviewTimer->start();
container->updateSnapshots();
container->updateLayoutDirection(Dock::Position::Bottom); container->updateLayoutDirection(Dock::Position::Bottom);
ASSERT_EQ(container->m_windowListLayout->direction(), container->m_wmHelper->hasComposite() ? QBoxLayout::LeftToRight : QBoxLayout::TopToBottom); ASSERT_EQ(container->m_windowListLayout->direction(), container->m_wmHelper->hasComposite() ? QBoxLayout::LeftToRight : QBoxLayout::TopToBottom);
container->updateLayoutDirection(Dock::Position::Top); container->updateLayoutDirection(Dock::Position::Top);