add settings enum

Change-Id: I9d3461dc84d6692c87388183c773d3aba5d9341f
This commit is contained in:
石博文 2016-06-21 10:12:43 +08:00 committed by Hualet Wang
parent 04e950d013
commit cc6437046a
11 changed files with 88 additions and 44 deletions

View File

@ -59,16 +59,16 @@ public:
inline uint activeWindow() const
{ return qvariant_cast< uint >(property("ActiveWindow")); }
Q_PROPERTY(int DisplayMode READ displayMode WRITE setDisplayMode NOTIFY DisplayModeChanged)
inline int displayMode() const
{ return qvariant_cast< int >(property("DisplayMode")); }
inline void setDisplayMode(int value)
{ setProperty("DisplayMode", QVariant::fromValue(value)); }
Q_PROPERTY(QList<QDBusObjectPath> Entries READ entries NOTIFY EntriesChanged)
inline QList<QDBusObjectPath> entries() const
{ return qvariant_cast< QList<QDBusObjectPath> >(property("Entries")); }
Q_PROPERTY(int DisplayMode READ displayMode WRITE setDisplayMode NOTIFY DisplayModeChanged)
inline int displayMode() const
{ return int(qvariant_cast< int >(property("DisplayMode"))); }
inline void setDisplayMode(int value)
{ setProperty("DisplayMode", QVariant::fromValue(int(value))); }
Q_PROPERTY(int HideMode READ hideMode WRITE setHideMode NOTIFY HideModeChanged)
inline int hideMode() const
{ return qvariant_cast< int >(property("HideMode")); }
@ -77,13 +77,13 @@ public:
Q_PROPERTY(int HideState READ hideState NOTIFY HideStateChanged)
inline int hideState() const
{ return qvariant_cast< int >(property("HideState")); }
{ return int(qvariant_cast< int >(property("HideState"))); }
Q_PROPERTY(int Position READ position WRITE setPosition NOTIFY PositionChanged)
inline int position() const
{ return qvariant_cast< int >(property("Position")); }
{ return int(qvariant_cast< int >(property("Position"))); }
inline void setPosition(int value)
{ setProperty("Position", QVariant::fromValue(value)); }
{ setProperty("Position", QVariant::fromValue(int(value))); }
public Q_SLOTS: // METHODS
inline QDBusPendingReply<> ActivateWindow(uint in0)

View File

@ -69,10 +69,6 @@ public:
inline QString id() const
{ return qvariant_cast< QString >(property("Id")); }
Q_PROPERTY(QString Title READ title NOTIFY TitleChanged)
inline QString title() const
{ return qvariant_cast< QString >(property("Title")); }
Q_PROPERTY(QString Icon READ icon NOTIFY IconChanged)
inline QString icon() const
{ return qvariant_cast< QString >(property("Icon")); }
@ -88,6 +84,11 @@ public Q_SLOTS: // METHODS
return asyncCallWithArgumentList(QStringLiteral("Activate"), argumentList);
}
inline QDBusPendingReply<> HandleMenuItem(const QString &item)
{
return asyncCall(QStringLiteral("HandleMenuItem"), item);
}
inline QDBusPendingReply<> RequestDock()
{
return asyncCall(QStringLiteral("RequestDock"));

View File

@ -63,8 +63,8 @@ void AppItem::paintEvent(QPaintEvent *e)
painter.drawPixmap(rect().center() - m_icon.rect().center(), m_icon);
// draw text
painter.setPen(Qt::red);
painter.drawText(rect(), m_itemEntry->title());
// painter.setPen(Qt::red);
// painter.drawText(rect(), m_itemEntry->title());
}
void AppItem::mouseReleaseEvent(QMouseEvent *e)
@ -109,8 +109,9 @@ void AppItem::resizeEvent(QResizeEvent *e)
void AppItem::invokedMenuItem(const QString &itemId, const bool checked)
{
Q_UNUSED(itemId)
Q_UNUSED(checked)
Q_UNUSED(checked);
m_itemEntry->HandleMenuItem(itemId);
}
const QString AppItem::contextMenu() const

View File

@ -8,14 +8,14 @@
DockItem::DockItem(const ItemType type, QWidget *parent)
: QWidget(parent),
m_side(DockSide::Top),
m_side(Position::Top),
m_type(type),
m_menuManagerInter(new DBusMenuManager(this))
{
}
void DockItem::setDockSide(const DockSide side)
void DockItem::setDockSide(const Position side)
{
m_side = side;

View File

@ -5,6 +5,8 @@
#include <QFrame>
using namespace Dock;
class DBusMenuManager;
class DockItem : public QWidget
{
@ -20,7 +22,7 @@ public:
public:
explicit DockItem(const ItemType type, QWidget *parent = nullptr);
void setDockSide(const DockSide side);
void setDockSide(const Position side);
ItemType itemType() const;
@ -36,7 +38,7 @@ protected:
virtual const QString contextMenu() const;
protected:
DockSide m_side;
Position m_side;
ItemType m_type;
DBusMenuManager *m_menuManagerInter;

View File

@ -35,14 +35,14 @@ MainPanel::MainPanel(QWidget *parent)
setLayout(m_itemLayout);
}
void MainPanel::updateDockSide(const DockSide dockSide)
void MainPanel::updateDockSide(const Position dockSide)
{
switch (dockSide)
{
case DockSide::Top:
case DockSide::Bottom: m_itemLayout->setDirection(QBoxLayout::LeftToRight); break;
case DockSide::Left:
case DockSide::Right: m_itemLayout->setDirection(QBoxLayout::TopToBottom); break;
case Position::Top:
case Position::Bottom: m_itemLayout->setDirection(QBoxLayout::LeftToRight); break;
case Position::Left:
case Position::Right: m_itemLayout->setDirection(QBoxLayout::TopToBottom); break;
}
}

View File

@ -14,7 +14,7 @@ class MainPanel : public QFrame
public:
explicit MainPanel(QWidget *parent = 0);
void updateDockSide(const DockSide dockSide);
void updateDockSide(const Position dockSide);
private:
void resizeEvent(QResizeEvent *e);

View File

@ -3,13 +3,16 @@
#include <QDebug>
DockSettings::DockSettings(QObject *parent)
: QObject(parent)
: QObject(parent),
m_dockInter(new DBusDock(this)),
m_itemController(DockItemController::instance(this))
{
m_position = Dock::Position(m_dockInter->position());
}
DockSide DockSettings::side() const
Position DockSettings::position() const
{
return Bottom;
return m_position;
}
const QSize DockSettings::mainWindowSize() const

View File

@ -2,10 +2,14 @@
#define DOCKSETTINGS_H
#include "constants.h"
#include "dbus/dbusdock.h"
#include "controller/dockitemcontroller.h"
#include <QObject>
#include <QSize>
using namespace Dock;
class DockSettings : public QObject
{
Q_OBJECT
@ -13,17 +17,23 @@ class DockSettings : public QObject
public:
explicit DockSettings(QObject *parent = 0);
DockSide side() const;
Position position() const;
const QSize mainWindowSize() const;
public slots:
void updateGeometry();
signals:
void dataChanged() const;
public slots:
void updateGeometry();
private slots:
private:
Position m_position;
QSize m_mainWindowSize;
DBusDock *m_dockInter;
DockItemController *m_itemController;
};
#endif // DOCKSETTINGS_H

View File

@ -87,7 +87,7 @@ void MainWindow::setStrutPartial()
// first, clear old strut partial
clearStrutPartial();
const DockSide side = m_settings->side();
const Position side = m_settings->position();
const int maxScreenHeight = m_displayInter->screenHeight();
XcbMisc::Orientation orientation;
@ -99,25 +99,25 @@ void MainWindow::setStrutPartial()
const QRect r = rect();
switch (side)
{
case DockSide::Top:
case Position::Top:
orientation = XcbMisc::OrientationTop;
strut = r.bottom();
strutStart = r.left();
strutEnd = r.right();
break;
case DockSide::Bottom:
case Position::Bottom:
orientation = XcbMisc::OrientationBottom;
strut = maxScreenHeight - p.y();
strutStart = r.left();
strutEnd = r.right();
break;
case DockSide::Left:
case Position::Left:
orientation = XcbMisc::OrientationLeft;
strut = r.width();
strutStart = r.top();
strutEnd = r.bottom();
break;
case DockSide::Right:
case Position::Right:
orientation = XcbMisc::OrientationRight;
strut = r.width();
strutStart = r.top();

View File

@ -1,11 +1,38 @@
#ifndef CONSTANTS_H
#define CONSTANTS_H
enum DockSide {
Top,
Bottom,
Left,
Right,
namespace Dock {
enum DisplayMode
{
Fashion = 0,
Efficient = 1,
// deprecreated
// Classic = 2,
};
enum HideMode
{
KeepShowing = 0,
KeepHidden = 1,
SmartHide = 3,
};
enum Position
{
Top = 0,
Right = 1,
Bottom = 2,
Left = 3,
};
enum HideState
{
Unknown = 0,
Show = 1,
Hide = 2,
};
}
#endif // CONSTANTS_H