You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
latte-dock/app/visibilitymanager.cpp

187 lines
3.1 KiB
C++

#include "visibilitymanager.h"
#include "visibilitymanager_p.h"
namespace Latte {
//! BEGIN: VisiblityManagerPrivate implementation
VisibilityManagerPrivate::VisibilityManagerPrivate(PlasmaQuick::ContainmentView *view, VisibilityManager *q)
: QObject(view), q(q)
{
}
VisibilityManagerPrivate::~VisibilityManagerPrivate()
{
}
void VisibilityManagerPrivate::setMode(Dock::Visibility mode)
{
}
void VisibilityManagerPrivate::setIsHidden(bool isHidden)
{
}
void VisibilityManagerPrivate::setTimerShow(int msec)
{
}
void VisibilityManagerPrivate::setTimerHide(int msec)
{
}
void VisibilityManagerPrivate::raiseDock(bool raise)
{
if (raise) {
timerHide.stop();
if (!timerShow.isActive())
timerShow.start();
} else {
timerShow.stop();
if (!timerHide.isActive())
timerHide.start();
}
}
void VisibilityManagerPrivate::setDockRect(const QRect &rect)
{
}
void VisibilityManagerPrivate::windowAdded(WId id)
{
}
void VisibilityManagerPrivate::dodgeActive(WId id)
{
}
void VisibilityManagerPrivate::dodgeWindows(WId id)
{
}
void VisibilityManagerPrivate::checkAllWindows()
{
}
bool VisibilityManagerPrivate::intersects(const WindowInfoWrap &info)
{
}
void VisibilityManagerPrivate::saveConfig()
{
}
void VisibilityManagerPrivate::restoreConfig()
{
}
bool VisibilityManagerPrivate::event(QEvent *ev)
{
if (ev->type() == QEvent::Enter && !containsMouse) {
containsMouse = true;
emit q->containsMouseChanged();
if (mode == Dock::AutoHide)
raiseDock(true);
} else if (ev->type() == QEvent::Leave && containsMouse) {
containsMouse = false;
emit q->containsMouseChanged();
if (mode == Dock::AutoHide)
raiseDock(false);
}
return QObject::event(ev);
}
//! END: VisibilityManager implementation
//! BEGIN: VisiblityManager implementation
VisibilityManager::VisibilityManager(PlasmaQuick::ContainmentView *view)
: d(new VisibilityManagerPrivate(view, this))
{
d->restoreConfig();
}
VisibilityManager::~VisibilityManager()
{
}
Dock::Visibility VisibilityManager::mode() const
{
return d->mode;
}
void VisibilityManager::setMode(Dock::Visibility mode)
{
d->setMode(mode);
}
bool VisibilityManager::isHidden() const
{
return d->isHidden;
}
void VisibilityManager::setHidden(bool isHidden)
{
d->setIsHidden(isHidden);
}
bool VisibilityManager::containsMouse() const
{
return d->containsMouse;
}
int VisibilityManager::timerShow() const
{
return d->timerShow.interval();
}
void VisibilityManager::setTimerShow(int msec)
{
d->setTimerShow(msec);
}
int VisibilityManager::timerHide() const
{
return d->timerHide.interval();
}
void VisibilityManager::setTimerHide(int msec)
{
d->setTimerHide(msec);
}
void VisibilityManager::updateDockGeometry(const QRect &geometry)
{
d->setDockRect(geometry);
}
//! END: VisibilityManager implementation
}
#include "abstractwindowinterface.h"
#include "xwindowinterface.h"
#include "plasmaquick/containmentview.h"