2023-02-16 13:51:55 +08:00
|
|
|
// SPDX-FileCopyrightText: 2018 - 2023 UnionTech Software Technology Co., Ltd.
|
2022-09-06 11:36:55 +08:00
|
|
|
//
|
|
|
|
// SPDX-License-Identifier: LGPL-3.0-or-later
|
|
|
|
|
2018-12-27 16:54:49 +08:00
|
|
|
#ifndef NORMALCONTAINER_H
|
|
|
|
#define NORMALCONTAINER_H
|
|
|
|
|
|
|
|
#include "abstractcontainer.h"
|
|
|
|
|
|
|
|
class NormalContainer : public AbstractContainer
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
explicit NormalContainer(TrayPlugin *trayPlugin, QWidget *parent = nullptr);
|
|
|
|
|
|
|
|
// AbstractContainer interface
|
|
|
|
public:
|
2020-06-13 19:19:30 +08:00
|
|
|
bool acceptWrapper(FashionTrayWidgetWrapper *wrapper) override;
|
|
|
|
void addWrapper(FashionTrayWidgetWrapper *wrapper) override;
|
|
|
|
void refreshVisible() override;
|
|
|
|
void setExpand(const bool expand) override;
|
2019-10-30 09:42:09 +08:00
|
|
|
int itemCount() override;
|
2019-09-12 15:28:19 +08:00
|
|
|
QSize sizeHint() const override;
|
2020-01-02 14:59:42 +08:00
|
|
|
void updateSize();
|
2018-12-27 16:54:49 +08:00
|
|
|
|
|
|
|
protected:
|
2020-06-13 19:19:30 +08:00
|
|
|
int whereToInsert(FashionTrayWidgetWrapper *wrapper) override;
|
2019-09-12 15:28:19 +08:00
|
|
|
void resizeEvent(QResizeEvent *event) override;
|
2018-12-27 16:54:49 +08:00
|
|
|
|
|
|
|
private:
|
|
|
|
int whereToInsertByDefault(FashionTrayWidgetWrapper *wrapper) const;
|
|
|
|
int whereToInsertAppTrayByDefault(FashionTrayWidgetWrapper *wrapper) const;
|
|
|
|
int whereToInsertSystemTrayByDefault(FashionTrayWidgetWrapper *wrapper) const;
|
2019-09-17 13:14:23 +08:00
|
|
|
void compositeChanged();
|
2019-10-16 13:41:30 +08:00
|
|
|
void adjustMaxSize(const QSize size);
|
2019-09-12 15:28:19 +08:00
|
|
|
|
|
|
|
private:
|
|
|
|
mutable QVariantAnimation *m_sizeAnimation;
|
2018-12-27 16:54:49 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // NORMALCONTAINER_H
|