LXQtTaskButton::LXQtTaskButton(const WId window, LXQtTaskBar * taskbar, QWidget *parent) : QToolButton(parent), mWindow(window), mUrgencyHint(false), mOrigin(Qt::TopLeftCorner), mDrawPixmap(false), mParentTaskBar(taskbar), mPlugin(mParentTaskBar->plugin()), mDNDTimer(new QTimer(this)) { Q_ASSERT(taskbar); setCheckable(true); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); setMinimumWidth(1); setMinimumHeight(1); setToolButtonStyle(Qt::ToolButtonTextBesideIcon); setAcceptDrops(true); updateText(); updateIcon(); mDNDTimer->setSingleShot(true); mDNDTimer->setInterval(700); connect(mDNDTimer, SIGNAL(timeout()), this, SLOT(activateWithDraggable())); connect(LXQt::Settings::globalSettings(), SIGNAL(iconThemeChanged()), this, SLOT(updateIcon())); connect(mParentTaskBar, &LXQtTaskBar::iconByClassChanged, this, &LXQtTaskButton::updateIcon); }
void LxQtTaskButton::dragEnterEvent(QDragEnterEvent *event) { if (event->mimeData()->hasFormat("lxqt/lxqttaskbutton")) { event->ignore(); return; } mDraggableMimeData = event->mimeData(); QTimer::singleShot(1000, this, SLOT(activateWithDraggable())); }
void RazorTaskButton::dragEnterEvent(QDragEnterEvent *event) { mDraggableMimeData = event->mimeData(); QTimer::singleShot(1000, this, SLOT(activateWithDraggable())); }