interfaces may deleted

Change-Id: I1fcc7ecc430ad03a766e4ec84e717aab4ae200e2
This commit is contained in:
石博文 2018-05-16 17:22:08 +08:00 committed by sbwtw
parent 8d0bdbf6aa
commit 0bf5934c6a
Notes: gerrit 2018-05-21 08:24:14 +08:00
Verified+1: Anonymous Coward #1000004
Code-Review+2: sbwtw <sbw@sbw.so>
Submitted-by: sbwtw <sbw@sbw.so>
Submitted-at: Mon, 21 May 2018 08:24:14 +0800
Reviewed-on: https://cr.deepin.io/34789
Project: dde/dde-dock
Branch: refs/heads/master
5 changed files with 20 additions and 16 deletions

View File

@ -37,7 +37,7 @@ DockItemController *DockItemController::instance(QObject *parent)
return INSTANCE;
}
const QList<DockItem *> DockItemController::itemList() const
const QList<QPointer<DockItem>> DockItemController::itemList() const
{
return m_itemList;
}
@ -78,9 +78,9 @@ void DockItemController::updatePluginsItemOrderKey()
int index = 0;
for (auto item : m_itemList)
{
if (item->itemType() != DockItem::Plugins)
if (item.isNull() || item->itemType() != DockItem::Plugins)
continue;
static_cast<PluginsItem *>(item)->setItemSortKey(++index);
static_cast<PluginsItem *>(item.data())->setItemSortKey(++index);
}
}
@ -255,8 +255,8 @@ void DockItemController::appItemRemoved(const QString &appId)
if (m_itemList[i]->itemType() != DockItem::App)
continue;
AppItem *app = static_cast<AppItem *>(m_itemList[i]);
if (app->appId() != appId)
AppItem *app = static_cast<AppItem *>(m_itemList[i].data());
if (!app || app->appId() != appId)
continue;
appItemRemoved(app);
@ -310,7 +310,7 @@ void DockItemController::pluginItemInserted(PluginsItem *item)
insertIndex = m_itemList.size();
for (int i(firstPluginPosition + 1); i != m_itemList.size() + 1; ++i)
{
PluginsItem *pItem = static_cast<PluginsItem *>(m_itemList[i - 1]);
PluginsItem *pItem = static_cast<PluginsItem *>(m_itemList[i - 1].data());
Q_ASSERT(pItem);
const int sortKey = pItem->itemSortKey();
@ -346,7 +346,7 @@ void DockItemController::reloadAppItems()
// remove old item
for (auto item : m_itemList)
if (item->itemType() == DockItem::App)
appItemRemoved(static_cast<AppItem *>(item));
appItemRemoved(static_cast<AppItem *>(item.data()));
// append new item
for (auto path : m_appInter->entries())

View File

@ -40,7 +40,7 @@ class DockItemController : public QObject
public:
static DockItemController *instance(QObject *parent);
const QList<DockItem *> itemList() const;
const QList<QPointer<DockItem> > itemList() const;
const QList<PluginsItemInterface *> pluginList() const;
bool appIsOnDock(const QString &appDesktop) const;
bool itemIsInContainer(DockItem * const item) const;
@ -74,7 +74,7 @@ private:
void reloadAppItems();
private:
QList<DockItem *> m_itemList;
QList<QPointer<DockItem>> m_itemList;
QTimer *m_updatePluginsOrderTimer;

View File

@ -123,14 +123,18 @@ void DockPluginsController::startLoader()
void DockPluginsController::displayModeChanged()
{
const DisplayMode displayMode = qApp->property(PROP_DISPLAY_MODE).value<Dock::DisplayMode>();
for (auto inter : m_pluginList.keys())
const auto inters = m_pluginList.keys();
for (auto inter : inters)
inter->displayModeChanged(displayMode);
}
void DockPluginsController::positionChanged()
{
const Position position = qApp->property(PROP_POSITION).value<Dock::Position>();
for (auto inter : m_pluginList.keys())
const auto inters = m_pluginList.keys();
for (auto inter : inters)
inter->positionChanged(position);
}

View File

@ -82,7 +82,7 @@ MainPanel::MainPanel(QWidget *parent)
m_itemAdjustTimer->setSingleShot(true);
m_itemAdjustTimer->setInterval(100);
const QList<DockItem *> itemList = m_itemController->itemList();
const auto &itemList = m_itemController->itemList();
for (auto item : itemList)
{
manageItem(item);
@ -125,7 +125,7 @@ void MainPanel::updateDockDisplayMode(const DisplayMode displayMode)
{
m_displayMode = displayMode;
const QList<DockItem *> itemList = m_itemController->itemList();
const auto &itemList = m_itemController->itemList();
for (auto item : itemList)
{
// we need to hide container item at fashion mode.
@ -304,7 +304,7 @@ void MainPanel::manageItem(DockItem *item)
///
DockItem *MainPanel::itemAt(const QPoint &point)
{
const QList<DockItem *> itemList = m_itemController->itemList();
const auto &itemList = m_itemController->itemList();
for (auto item : itemList)
{
@ -361,7 +361,7 @@ void MainPanel::adjustItemSize()
int totalAppItemCount = 0;
int totalWidth = 0;
int totalHeight = 0;
const QList<DockItem *> itemList = m_itemController->itemList();
const auto &itemList = m_itemController->itemList();
for (auto item : itemList)
{
const auto itemType = item->itemType();

View File

@ -516,7 +516,7 @@ void DockSettings::calculateWindowConfig()
else if (m_displayMode == Dock::Fashion)
{
int visibleItemCount = 0;
const QList<DockItem *> itemList = m_itemController->itemList();
const auto &itemList = m_itemController->itemList();
for (auto item : itemList)
{
switch (item->itemType())