mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 09:23:03 +00:00
add dock state setting
Change-Id: I0c186b29d7a97c1edd308908f82e42faf5413a64
This commit is contained in:
parent
1351a8c135
commit
218ad40609
@ -2,12 +2,13 @@
|
||||
#include "item/appitem.h"
|
||||
|
||||
#include <QDebug>
|
||||
#include <QX11Info>
|
||||
|
||||
#define ICON_SIZE_LARGE 48
|
||||
#define ICON_SIZE_MEDIUM 36
|
||||
#define ICON_SIZE_SMALL 24
|
||||
|
||||
DockSettings::DockSettings(QObject *parent)
|
||||
DockSettings::DockSettings(QWidget *parent)
|
||||
: QObject(parent),
|
||||
|
||||
m_settingsMenu(this),
|
||||
@ -28,9 +29,11 @@ DockSettings::DockSettings(QObject *parent)
|
||||
m_dockInter(new DBusDock(this)),
|
||||
m_itemController(DockItemController::instance(this))
|
||||
{
|
||||
m_dockInter->SetFrontendWindow(parent->winId());
|
||||
m_primaryRect = m_displayInter->primaryRect();
|
||||
m_position = Dock::Position(m_dockInter->position());
|
||||
m_displayMode = Dock::DisplayMode(m_dockInter->displayMode());
|
||||
m_hideMode = Dock::HideMode(m_dockInter->hideMode());
|
||||
m_iconSize = m_dockInter->iconSize();
|
||||
AppItem::setIconBaseSize(m_iconSize);
|
||||
DockItem::setDockPosition(m_position);
|
||||
@ -88,6 +91,7 @@ DockSettings::DockSettings(QObject *parent)
|
||||
connect(m_dockInter, &DBusDock::PositionChanged, this, &DockSettings::positionChanged);
|
||||
connect(m_dockInter, &DBusDock::IconSizeChanged, this, &DockSettings::iconSizeChanged);
|
||||
connect(m_dockInter, &DBusDock::DisplayModeChanged, this, &DockSettings::displayModeChanged);
|
||||
connect(m_dockInter, &DBusDock::HideModeChanged, this, &DockSettings::hideModeChanged);
|
||||
|
||||
connect(m_itemController, &DockItemController::itemInserted, this, &DockSettings::dockItemCountChanged, Qt::QueuedConnection);
|
||||
connect(m_itemController, &DockItemController::itemRemoved, this, &DockSettings::dockItemCountChanged, Qt::QueuedConnection);
|
||||
@ -208,6 +212,11 @@ void DockSettings::displayModeChanged()
|
||||
emit dataChanged();
|
||||
}
|
||||
|
||||
void DockSettings::hideModeChanged()
|
||||
{
|
||||
m_hideMode = Dock::HideMode(m_dockInter->hideMode());
|
||||
}
|
||||
|
||||
void DockSettings::dockItemCountChanged()
|
||||
{
|
||||
if (m_displayMode == Dock::Efficient)
|
||||
|
@ -22,7 +22,7 @@ class DockSettings : public QObject
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit DockSettings(QObject *parent = 0);
|
||||
explicit DockSettings(QWidget *parent = 0);
|
||||
|
||||
DisplayMode displayMode() const;
|
||||
Position position() const;
|
||||
@ -44,6 +44,7 @@ private slots:
|
||||
void positionChanged();
|
||||
void iconSizeChanged();
|
||||
void displayModeChanged();
|
||||
void hideModeChanged();
|
||||
|
||||
void dockItemCountChanged();
|
||||
|
||||
|
@ -7,18 +7,15 @@
|
||||
MainWindow::MainWindow(QWidget *parent)
|
||||
: QWidget(parent),
|
||||
m_mainPanel(new MainPanel(this)),
|
||||
|
||||
m_settings(new DockSettings(this)),
|
||||
|
||||
m_xcbMisc(XcbMisc::instance()),
|
||||
|
||||
m_positionUpdateTimer(new QTimer(this)),
|
||||
m_sizeChangeAni(new QPropertyAnimation(this, "size")),
|
||||
m_posChangeAni(new QPropertyAnimation(this, "pos"))
|
||||
m_posChangeAni(new QPropertyAnimation(this, "pos")),
|
||||
m_xcbMisc(XcbMisc::instance())
|
||||
{
|
||||
setWindowFlags(Qt::FramelessWindowHint | Qt::WindowDoesNotAcceptFocus);
|
||||
setAttribute(Qt::WA_TranslucentBackground);
|
||||
|
||||
m_settings = new DockSettings(this);
|
||||
m_xcbMisc->set_window_type(winId(), XcbMisc::Dock);
|
||||
|
||||
initComponents();
|
||||
|
@ -35,12 +35,12 @@ private slots:
|
||||
private:
|
||||
MainPanel *m_mainPanel;
|
||||
|
||||
DockSettings *m_settings;
|
||||
XcbMisc *m_xcbMisc;
|
||||
|
||||
QTimer *m_positionUpdateTimer;
|
||||
QPropertyAnimation *m_sizeChangeAni;
|
||||
QPropertyAnimation *m_posChangeAni;
|
||||
|
||||
XcbMisc *m_xcbMisc;
|
||||
DockSettings *m_settings;
|
||||
};
|
||||
|
||||
#endif // MAINWINDOW_H
|
||||
|
Loading…
x
Reference in New Issue
Block a user