dde-dock/frame/util/dockpopupwindow.h
石博文 2f4dfabe8b auto focus popup window
Change-Id: I7a91ebff857806943fd2a77d3ddf88252187f42a
2016-09-01 10:55:19 +08:00

51 lines
989 B
C++

#ifndef DOCKPOPUPWINDOW_H
#define DOCKPOPUPWINDOW_H
#include "dbus/dbusxmousearea.h"
#include <darrowrectangle.h>
class DockPopupWindow : public Dtk::Widget::DArrowRectangle
{
Q_OBJECT
public:
explicit DockPopupWindow(QWidget *parent = 0);
~DockPopupWindow();
bool model() const;
void setContent(QWidget *content);
public slots:
void show(const QPoint &pos, const bool model = false);
void hide();
signals:
void accept() const;
protected:
void enterEvent(QEvent *e);
void mousePressEvent(QMouseEvent *e);
bool eventFilter(QObject *o, QEvent *e);
private slots:
void globalMouseRelease(int button, int x, int y, const QString &id);
void registerMouseEvent();
void unRegisterMouseEvent();
private:
using Dtk::Widget::DArrowRectangle::show;
private:
bool m_model;
QPoint m_lastPoint;
QString m_mouseAreaKey;
QTimer *m_acceptDelayTimer;
DBusXMouseArea *m_mouseInter;
};
#endif // DOCKPOPUPWINDOW_H