dde-dock/interfaces/constants.h
donghualin 5e4c288cea fix: 修复智能隐藏下切换模式显示错乱的问题
原因:在切换模式的时候,需要重新计算任务栏的大小,但是由于时尚模式和高效模式下的尺寸不一样,所以在计算图标的时候会以切换之前的尺寸为参考来进行计算,导致计算的结果错误
修复:在切换模式的时候,提前设置任务栏的尺寸(上下为高度,左右为宽度),这样在下次计算图标的时候获取到的尺寸始终是以正确的尺寸进行计算,任务栏显示正常

Log: 修复智能隐藏下切换模式显示错乱
Influence: 任务栏设置为智能隐藏,从高效模式切换到时尚模式,观察任务栏显示是否正常
Bug: https://pms.uniontech.com/bug-view-176321.html
Change-Id: Ia66cb3e96d4f42c42acc921315e9457d582a82c1
2022-12-14 01:33:00 +00:00

115 lines
2.6 KiB
C++

/*
* Copyright (C) 2011 ~ 2018 Deepin Technology Co., Ltd.
*
* Author: sbw <sbw@sbw.so>
*
* Maintainer: sbw <sbw@sbw.so>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef CONSTANTS_H
#define CONSTANTS_H
#include <QtCore>
namespace Dock {
#define DOCK_PLUGIN_MIME "dock/plugin"
#define DOCK_PLUGIN_API_VERSION "2.0.0"
#define PROP_DISPLAY_MODE "DisplayMode"
#define PROP_DOCK_DRAGING "isDraging"
#define PLUGIN_BACKGROUND_MAX_SIZE 40
#define PLUGIN_BACKGROUND_MIN_SIZE 20
#define PLUGIN_ICON_MAX_SIZE 20
#define PLUGIN_ITEM_WIDTH 300
#define QUICK_PATH "/plugins/quick-trays"
#define PLUGIN_PATH "/plugins"
#define TRAY_PATH "/plugins/system-trays"
// 需求变更成插件图标始终保持20x20,但16x16的资源还在。所以暂时保留此宏
#define PLUGIN_ICON_MIN_SIZE 20
// 插件最小尺寸,图标采用深色
#define PLUGIN_MIN_ICON_NAME "-dark"
// dock最小尺寸
#define DOCK_MIN_SIZE 40
// dock最大尺寸
#define DOCK_MAX_SIZE 100
///
/// \brief The DisplayMode enum
/// spec dock display mode
///
enum DisplayMode {
Fashion = 0,
Efficient = 1,
// deprecreated
// Classic = 2,
};
#define PROP_HIDE_MODE "HideMode"
///
/// \brief The HideMode enum
/// spec dock hide behavior
///
enum HideMode {
KeepShowing = 0,
KeepHidden = 1,
SmartHide = 2
};
#define PROP_POSITION "Position"
///
/// \brief The Position enum
/// spec dock position, dock always placed at primary screen,
/// so all position is the primary screen edge.
///
enum Position {
Top = 0,
Right = 1,
Bottom = 2,
Left = 3,
};
#define PROP_HIDE_STATE "HideState"
///
/// \brief The HideState enum
/// spec current dock should hide or shown.
/// this argument works only HideMode is SmartHide
///
enum HideState {
Unknown = 0,
Show = 1,
Hide = 2,
};
enum class AniAction {
Show = 0,
Hide
};
#define IS_TOUCH_STATE "isTouchState"
}
Q_DECLARE_METATYPE(Dock::DisplayMode)
Q_DECLARE_METATYPE(Dock::Position)
#endif // CONSTANTS_H