mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +00:00
Hide preview immediately on mouse pressed
Change-Id: I4750fb161c368aca57a725d4a6a91074f7e1c017
This commit is contained in:
parent
047f069cef
commit
16e1147f17
Notes:
Deepin Code Review
2016-06-14 07:19:47 +00:00
Verified+1: Anonymous Coward #1000004 Code-Review+2: <mr.asianwang@gmail.com> Submitted-by: <mr.asianwang@gmail.com> Submitted-at: Wed, 23 Sep 2015 20:09:57 +0800 Reviewed-on: https://cr.deepin.io/7318 Project: dde/dde-dock Branch: refs/heads/master
@ -68,7 +68,7 @@ void PluginItemWrapper::leaveEvent(QEvent *)
|
||||
|
||||
void PluginItemWrapper::mousePressEvent(QMouseEvent * event)
|
||||
{
|
||||
hidePreview();
|
||||
hidePreview(true);
|
||||
|
||||
if (event->button() == Qt::RightButton) {
|
||||
this->showMenu();
|
||||
|
@ -110,12 +110,14 @@ void Panel::initPluginManager()
|
||||
m_pluginLayout->addItem(targetItem);
|
||||
connect(targetItem, &AbstractDockItem::needPreviewShow, this, &Panel::onNeedPreviewShow);
|
||||
connect(targetItem, &AbstractDockItem::needPreviewHide, this, &Panel::onNeedPreviewHide);
|
||||
connect(targetItem, &AbstractDockItem::needPreviewImmediatelyHide, this, &Panel::onNeedPreviewImmediatelyHide);
|
||||
connect(targetItem, &AbstractDockItem::needPreviewUpdate, m_globalPreview, &PreviewFrame::resizeWithContent);
|
||||
});
|
||||
connect(pluginManager, &DockPluginManager::itemInsert, [=](AbstractDockItem *baseItem, AbstractDockItem *targetItem){
|
||||
m_pluginLayout->insertItem(targetItem, m_pluginLayout->indexOf(baseItem));
|
||||
connect(targetItem, &AbstractDockItem::needPreviewShow, this, &Panel::onNeedPreviewShow);
|
||||
connect(targetItem, &AbstractDockItem::needPreviewHide, this, &Panel::onNeedPreviewHide);
|
||||
connect(targetItem, &AbstractDockItem::needPreviewImmediatelyHide, this, &Panel::onNeedPreviewImmediatelyHide);
|
||||
connect(targetItem, &AbstractDockItem::needPreviewUpdate, m_globalPreview, &PreviewFrame::resizeWithContent);
|
||||
});
|
||||
connect(pluginManager, &DockPluginManager::itemRemoved, [=](AbstractDockItem* item) {
|
||||
@ -247,6 +249,7 @@ void Panel::onAppItemAdd(AbstractDockItem *item)
|
||||
m_appLayout->addItem(item);
|
||||
connect(item, &AbstractDockItem::needPreviewShow, this, &Panel::onNeedPreviewShow);
|
||||
connect(item, &AbstractDockItem::needPreviewHide, this, &Panel::onNeedPreviewHide);
|
||||
connect(item, &AbstractDockItem::needPreviewImmediatelyHide, this, &Panel::onNeedPreviewImmediatelyHide);
|
||||
connect(item, &AbstractDockItem::needPreviewUpdate, m_globalPreview, &PreviewFrame::resizeWithContent);
|
||||
}
|
||||
|
||||
@ -312,6 +315,11 @@ void Panel::onNeedPreviewShow(QPoint pos)
|
||||
}
|
||||
}
|
||||
|
||||
void Panel::onNeedPreviewImmediatelyHide()
|
||||
{
|
||||
m_globalPreview->hidePreview(0);
|
||||
}
|
||||
|
||||
void Panel::reanchorsLayout(Dock::DockMode mode)
|
||||
{
|
||||
if (mode == Dock::FashionMode)
|
||||
|
@ -65,6 +65,7 @@ private:
|
||||
void onHidePanelFinished();
|
||||
void onNeedPreviewHide();
|
||||
void onNeedPreviewShow(QPoint pos);
|
||||
void onNeedPreviewImmediatelyHide();
|
||||
|
||||
void reanchorsLayout(Dock::DockMode mode);
|
||||
void updateRightReflection();
|
||||
|
@ -151,18 +151,21 @@ void AbstractDockItem::showPreview()
|
||||
}
|
||||
}
|
||||
|
||||
void AbstractDockItem::hidePreview()
|
||||
void AbstractDockItem::hidePreview(bool immediately)
|
||||
{
|
||||
m_titlePreview->hidePreview();
|
||||
|
||||
emit needPreviewHide();
|
||||
if (immediately)
|
||||
emit needPreviewImmediatelyHide();
|
||||
else
|
||||
emit needPreviewHide();
|
||||
}
|
||||
|
||||
void AbstractDockItem::showMenu()
|
||||
{
|
||||
if (getMenuContent().isEmpty()) return;
|
||||
|
||||
hidePreview();
|
||||
hidePreview(true);
|
||||
|
||||
if (m_dbusMenuManager == NULL) {
|
||||
m_dbusMenuManager = new DBusMenuManager(this);
|
||||
|
@ -47,7 +47,7 @@ public:
|
||||
void resize(int width,int height);
|
||||
void showMenu();
|
||||
void showPreview();
|
||||
void hidePreview();
|
||||
void hidePreview(bool immediately = false);
|
||||
void setParent(QWidget * parent);
|
||||
|
||||
int globalX();
|
||||
@ -68,6 +68,7 @@ signals:
|
||||
void frameUpdate();
|
||||
void moveAnimationFinished();
|
||||
void needPreviewHide();
|
||||
void needPreviewImmediatelyHide();
|
||||
void needPreviewShow(QPoint pos);
|
||||
void needPreviewUpdate();
|
||||
|
||||
|
@ -288,7 +288,8 @@ void AppItem::onMousePress(QMouseEvent *event)
|
||||
{
|
||||
//qWarning() << "mouse press...";
|
||||
emit mousePress(event);
|
||||
hidePreview();
|
||||
|
||||
hidePreview(true);
|
||||
}
|
||||
|
||||
void AppItem::onMouseRelease(QMouseEvent *event)
|
||||
|
@ -42,7 +42,10 @@ void PreviewFrame::hidePreview(int interval)
|
||||
{
|
||||
m_showTimer->stop();
|
||||
|
||||
m_hideTimer->start(interval);
|
||||
if (interval <= 0)
|
||||
onHideTimerTriggered();
|
||||
else
|
||||
m_hideTimer->start(interval);
|
||||
}
|
||||
|
||||
void PreviewFrame::setContent(QWidget *content)
|
||||
|
Loading…
x
Reference in New Issue
Block a user