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