mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +00:00
AbstractDockItem as the base class of all items
This commit is contained in:
parent
f047e958c4
commit
40127b7d49
@ -17,16 +17,14 @@ SOURCES += \
|
|||||||
src/mainwidget.cpp \
|
src/mainwidget.cpp \
|
||||||
src/Widgets/appbackground.cpp \
|
src/Widgets/appbackground.cpp \
|
||||||
src/Widgets/appicon.cpp \
|
src/Widgets/appicon.cpp \
|
||||||
src/Widgets/appitem.cpp \
|
|
||||||
src/Widgets/dockconstants.cpp \
|
src/Widgets/dockconstants.cpp \
|
||||||
src/Widgets/dockitem.cpp \
|
|
||||||
src/Widgets/dockitemdelegate.cpp \
|
|
||||||
src/Widgets/docklayout.cpp \
|
src/Widgets/docklayout.cpp \
|
||||||
src/Widgets/dockmodel.cpp \
|
src/Widgets/dockmodel.cpp \
|
||||||
src/Widgets/dockview.cpp \
|
src/Widgets/dockview.cpp \
|
||||||
src/Widgets/screenmask.cpp \
|
src/Widgets/screenmask.cpp \
|
||||||
src/Widgets/windowpreview.cpp \
|
src/Widgets/windowpreview.cpp \
|
||||||
src/Panel/panel.cpp
|
src/Panel/panel.cpp \
|
||||||
|
src/Widgets/appitem.cpp
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
src/abstractdockitem.h \
|
src/abstractdockitem.h \
|
||||||
@ -34,16 +32,14 @@ HEADERS += \
|
|||||||
src/mainwidget.h \
|
src/mainwidget.h \
|
||||||
src/Widgets/appbackground.h \
|
src/Widgets/appbackground.h \
|
||||||
src/Widgets/appicon.h \
|
src/Widgets/appicon.h \
|
||||||
src/Widgets/appitem.h \
|
|
||||||
src/Widgets/dockconstants.h \
|
src/Widgets/dockconstants.h \
|
||||||
src/Widgets/dockitem.h \
|
|
||||||
src/Widgets/dockitemdelegate.h \
|
|
||||||
src/Widgets/docklayout.h \
|
src/Widgets/docklayout.h \
|
||||||
src/Widgets/dockmodel.h \
|
src/Widgets/dockmodel.h \
|
||||||
src/Widgets/dockview.h \
|
src/Widgets/dockview.h \
|
||||||
src/Widgets/screenmask.h \
|
src/Widgets/screenmask.h \
|
||||||
src/Widgets/windowpreview.h \
|
src/Widgets/windowpreview.h \
|
||||||
src/Panel/panel.h
|
src/Panel/panel.h \
|
||||||
|
src/Widgets/appitem.h
|
||||||
|
|
||||||
RESOURCES += \
|
RESOURCES += \
|
||||||
images.qrc
|
images.qrc
|
||||||
|
@ -1,37 +1,33 @@
|
|||||||
#include "appitem.h"
|
#include "appitem.h"
|
||||||
|
|
||||||
AppItem::AppItem(QWidget *parent) :
|
AppItem::AppItem(QWidget *parent) :
|
||||||
DockItem(parent)
|
AbstractDockItem(parent)
|
||||||
{
|
{
|
||||||
setParent(parent);
|
|
||||||
|
|
||||||
setAcceptDrops(true);
|
setAcceptDrops(true);
|
||||||
resize(itemWidth,itemHeight);
|
resize(itemWidth, itemHeight);
|
||||||
initBackground();
|
initBackground();
|
||||||
}
|
}
|
||||||
|
|
||||||
AppItem::AppItem(QString title, QWidget *parent):
|
AppItem::AppItem(QString title, QWidget *parent):
|
||||||
DockItem(parent)
|
AbstractDockItem(parent)
|
||||||
{
|
{
|
||||||
this->setParent(parent);
|
m_itemTitle = title;
|
||||||
this->itemTitle = title;
|
|
||||||
|
|
||||||
setAcceptDrops(true);
|
setAcceptDrops(true);
|
||||||
resize(itemWidth,itemHeight);
|
resize(itemWidth, itemHeight);
|
||||||
initBackground();
|
initBackground();
|
||||||
}
|
}
|
||||||
|
|
||||||
AppItem::AppItem(QString title, QString iconPath, QWidget *parent) :
|
AppItem::AppItem(QString title, QString iconPath, QWidget *parent) :
|
||||||
DockItem(parent)
|
AbstractDockItem(parent)
|
||||||
{
|
{
|
||||||
this->setParent(parent);
|
m_itemTitle = title;
|
||||||
this->itemTitle = title;
|
m_itemIconPath = iconPath;
|
||||||
this->itemIconPath = iconPath;
|
|
||||||
|
|
||||||
setAcceptDrops(true);
|
setAcceptDrops(true);
|
||||||
resize(itemWidth,itemHeight);
|
resize(itemWidth, itemHeight);
|
||||||
initBackground();
|
initBackground();
|
||||||
setIcon(itemIconPath);
|
setIcon(m_itemIconPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPoint AppItem::getNextPos()
|
QPoint AppItem::getNextPos()
|
||||||
@ -52,15 +48,17 @@ void AppItem::setNextPos(int x, int y)
|
|||||||
|
|
||||||
void AppItem::resizeResources()
|
void AppItem::resizeResources()
|
||||||
{
|
{
|
||||||
if (appIcon != NULL)
|
if (m_appIcon != NULL)
|
||||||
{
|
{
|
||||||
appIcon->resize(DockConstants::getInstants()->getIconSize(),DockConstants::getInstants()->getIconSize());
|
m_appIcon->resize(DockConstants::getInstants()->getIconSize(),
|
||||||
appIcon->move(this->width() / 2 - appIcon->width() / 2, this->height() / 2 - appIcon->height() / 2);
|
DockConstants::getInstants()->getIconSize());
|
||||||
|
m_appIcon->move(width() / 2 - m_appIcon->width() / 2,
|
||||||
|
height() / 2 - m_appIcon->height() / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (appBackground != NULL)
|
if (appBackground != NULL)
|
||||||
{
|
{
|
||||||
appBackground->resize(this->width(),this->height());
|
appBackground->resize(width(), height());
|
||||||
appBackground->move(0,0);
|
appBackground->move(0,0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -68,7 +66,7 @@ void AppItem::resizeResources()
|
|||||||
void AppItem::initBackground()
|
void AppItem::initBackground()
|
||||||
{
|
{
|
||||||
appBackground = new AppBackground(this);
|
appBackground = new AppBackground(this);
|
||||||
appBackground->resize(this->width(),this->height());
|
appBackground->resize(width(), height());
|
||||||
appBackground->move(0,0);
|
appBackground->move(0,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,11 +97,11 @@ void AppItem::mouseMoveEvent(QMouseEvent *event)
|
|||||||
{
|
{
|
||||||
QDrag* drag = new QDrag(this);
|
QDrag* drag = new QDrag(this);
|
||||||
QMimeData* data = new QMimeData();
|
QMimeData* data = new QMimeData();
|
||||||
QImage dataImg(this->itemIconPath);
|
QImage dataImg(m_itemIconPath);
|
||||||
data->setImageData(QVariant(dataImg));
|
data->setImageData(QVariant(dataImg));
|
||||||
drag->setMimeData(data);
|
drag->setMimeData(data);
|
||||||
|
|
||||||
QPixmap pixmap(this->itemIconPath);
|
QPixmap pixmap(m_itemIconPath);
|
||||||
drag->setPixmap(pixmap);
|
drag->setPixmap(pixmap);
|
||||||
|
|
||||||
drag->setHotSpot(QPoint(15,15));
|
drag->setHotSpot(QPoint(15,15));
|
||||||
|
@ -12,12 +12,12 @@
|
|||||||
#include <QPixmap>
|
#include <QPixmap>
|
||||||
#include <QImage>
|
#include <QImage>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include "dockitem.h"
|
#include "abstractdockitem.h"
|
||||||
#include "dockconstants.h"
|
#include "dockconstants.h"
|
||||||
#include "appicon.h"
|
#include "appicon.h"
|
||||||
#include "appbackground.h"
|
#include "appbackground.h"
|
||||||
|
|
||||||
class AppItem : public DockItem
|
class AppItem : public AbstractDockItem
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
Q_PROPERTY(QPoint pos READ pos WRITE move)
|
Q_PROPERTY(QPoint pos READ pos WRITE move)
|
||||||
|
@ -1,53 +0,0 @@
|
|||||||
#include "dockitem.h"
|
|
||||||
|
|
||||||
DockItem::DockItem(QWidget *parent) :
|
|
||||||
QFrame(parent)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
QWidget * DockItem::getContents()
|
|
||||||
{
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
void DockItem::setTitle(const QString &title)
|
|
||||||
{
|
|
||||||
this->itemTitle = title;
|
|
||||||
}
|
|
||||||
|
|
||||||
void DockItem::setIcon(const QString &iconPath, int size)
|
|
||||||
{
|
|
||||||
appIcon = new AppIcon(iconPath,this);
|
|
||||||
appIcon->resize(size,size);
|
|
||||||
appIcon->move((this->height() - appIcon->height()) / 2, (this->height() - appIcon->height()) / 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
void DockItem::setActived(bool value)
|
|
||||||
{
|
|
||||||
this->itemActived = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool DockItem::actived()
|
|
||||||
{
|
|
||||||
return this->itemActived;
|
|
||||||
}
|
|
||||||
|
|
||||||
void DockItem::setMoveable(bool value)
|
|
||||||
{
|
|
||||||
this->itemMoveable = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool DockItem::moveable()
|
|
||||||
{
|
|
||||||
return this->itemMoveable;
|
|
||||||
}
|
|
||||||
|
|
||||||
void DockItem::setIndex(int value)
|
|
||||||
{
|
|
||||||
this->itemIndex = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
int DockItem::index()
|
|
||||||
{
|
|
||||||
return this->itemIndex;
|
|
||||||
}
|
|
@ -1,42 +0,0 @@
|
|||||||
#ifndef DOCKITEM_H
|
|
||||||
#define DOCKITEM_H
|
|
||||||
|
|
||||||
#include <QWidget>
|
|
||||||
#include <QFrame>
|
|
||||||
#include <QMouseEvent>
|
|
||||||
#include <QRectF>
|
|
||||||
#include <QDebug>
|
|
||||||
#include "dockconstants.h"
|
|
||||||
#include "appicon.h"
|
|
||||||
|
|
||||||
class DockItem : public QFrame
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
public:
|
|
||||||
explicit DockItem(QWidget *parent = 0);
|
|
||||||
virtual ~DockItem(){}
|
|
||||||
|
|
||||||
virtual QWidget * getContents();
|
|
||||||
|
|
||||||
virtual void setTitle(const QString &title);
|
|
||||||
virtual void setIcon(const QString &iconPath, int size = 42);
|
|
||||||
virtual void setMoveable(bool value);
|
|
||||||
virtual bool moveable();
|
|
||||||
virtual void setActived(bool value);
|
|
||||||
virtual bool actived();
|
|
||||||
virtual void setIndex(int value);
|
|
||||||
virtual int index();
|
|
||||||
|
|
||||||
protected:
|
|
||||||
AppIcon * appIcon = NULL;
|
|
||||||
|
|
||||||
bool itemMoveable = true;
|
|
||||||
bool itemActived = false;
|
|
||||||
|
|
||||||
QString itemTitle = "";
|
|
||||||
QString itemIconPath = "";
|
|
||||||
int itemIndex = 0;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // DOCKITEM_H
|
|
@ -3,35 +3,43 @@
|
|||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <QFrame>
|
#include <QFrame>
|
||||||
#include <QMouseEvent>
|
#include <QLabel>
|
||||||
#include <QRectF>
|
#include "Widgets/appicon.h"
|
||||||
|
|
||||||
class AbstractDockItem : public QFrame
|
class AbstractDockItem : public QFrame
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit AbstractDockItem(QWidget *parent = 0);
|
explicit AbstractDockItem(QWidget *parent = 0) :
|
||||||
virtual ~AbstractDockItem(){}
|
QFrame(parent) {}
|
||||||
|
virtual ~AbstractDockItem() {}
|
||||||
|
|
||||||
virtual QWidget * getContents() = 0;
|
virtual QWidget * getContents() { return NULL; }
|
||||||
|
|
||||||
virtual void setTitle(const QString &title) = 0;
|
virtual void setTitle(const QString &title) { m_itemTitle = title; }
|
||||||
virtual void setIcon(const QString &iconPath, int size = 42) = 0;
|
virtual void setIcon(const QString &iconPath, int size = 42) {
|
||||||
virtual void setMoveable(bool value) = 0;
|
m_appIcon = new AppIcon(iconPath, this);
|
||||||
virtual bool moveable() = 0;
|
m_appIcon->resize(size, size);
|
||||||
virtual void setActived(bool value) = 0;
|
m_appIcon->move((width() - m_appIcon->width()) / 2,
|
||||||
virtual bool actived() = 0;
|
(height() - m_appIcon->height()) / 2);
|
||||||
virtual void setIndex(int value) = 0;
|
}
|
||||||
virtual int index() = 0;
|
|
||||||
|
virtual void setMoveable(bool value) { m_itemMoveable = value; }
|
||||||
|
virtual bool moveable() { return m_itemMoveable; }
|
||||||
|
virtual void setActived(bool value) { m_itemActived = value; }
|
||||||
|
virtual bool actived() { return m_itemActived; }
|
||||||
|
virtual void setIndex(int value) { m_itemIndex = value; }
|
||||||
|
virtual int index() { return m_itemIndex; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QPixmap * m_appIcon = NULL;
|
QLabel * m_appIcon = NULL;
|
||||||
|
|
||||||
bool m_itemMoveable = true;
|
bool m_itemMoveable = true;
|
||||||
bool m_itemActived = false;
|
bool m_itemActived = false;
|
||||||
|
|
||||||
QString m_itemTitle = "";
|
QString m_itemTitle = "";
|
||||||
QString m_itemIconPath = "";
|
QString m_itemIconPath = "";
|
||||||
|
|
||||||
int m_itemIndex = 0;
|
int m_itemIndex = 0;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user