Started refactoring to improve code quality, overall designa nd to gain knowledge of the impolemented functionality

This commit is contained in:
Uwe Kindler
2017-01-17 07:57:24 +01:00
parent abc8468989
commit 68b93f6fa9
14 changed files with 276 additions and 188 deletions

View File

@@ -35,6 +35,7 @@ class ADS_EXPORT_API ContainerWidget : public QFrame
friend class FloatingWidget;
friend class SectionTitleWidget;
friend class SectionContentWidget;
friend class SectionWidgetTabsScrollArea;
public:
explicit ContainerWidget(QWidget *parent = NULL);
@@ -143,6 +144,9 @@ private:
bool takeContent(const SectionContent::RefPtr& sc, InternalContentData& data);
void moveFloatingWidget(const QPoint& TargetPos);
FloatingWidget* startFloating(SectionWidget* sectionwidget, int ContentUid, const QPoint& TargetPos);
private slots:
void onActiveTabChanged();
void onActionToggleSectionContentVisibility(bool visible);

View File

@@ -12,6 +12,7 @@ class ContainerWidget;
class SectionTitleWidget;
class SectionContentWidget;
class InternalContentData;
class SectionWidget;
// FloatingWidget holds and displays SectionContent as a floating window.
// It can be resized, moved and dropped back into a SectionWidget.
@@ -23,7 +24,8 @@ class FloatingWidget : public QWidget
public:
FloatingWidget(ContainerWidget* container, SectionContent::RefPtr sc, SectionTitleWidget* titleWidget, SectionContentWidget* contentWidget, QWidget* parent = NULL);
virtual ~FloatingWidget();
FloatingWidget(SectionWidget* sectionWidget);
virtual ~FloatingWidget();
SectionContent::RefPtr content() const { return _content; }

View File

@@ -21,17 +21,17 @@ class SectionTitleWidget : public QFrame
friend class ContainerWidget;
friend class SectionWidget;
SectionContent::RefPtr _content;
SectionContent::RefPtr m_Content;
// Drag & Drop (Floating)
QPointer<FloatingWidget> _fw;
QPoint _dragStartPos;
QPointer<FloatingWidget> m_FloatingWidget;
QPoint m_DragStartPosition;
// Drag & Drop (Title/Tabs)
bool _tabMoving;
bool m_TabMoving;
// Property values
bool _activeTab;
bool m_IsActiveTab;
public:
SectionTitleWidget(SectionContent::RefPtr content, QWidget* parent);
@@ -45,6 +45,11 @@ protected:
virtual void mouseReleaseEvent(QMouseEvent* ev);
virtual void mouseMoveEvent(QMouseEvent* ev);
private:
void moveFloatingWidget(QMouseEvent* ev, ContainerWidget* cw);
void startFloating(QMouseEvent* ev, ContainerWidget* cw, SectionWidget* sectionwidget);
void moveTab(QMouseEvent* ev);
signals:
void activeTabChanged();
void clicked();

View File

@@ -14,6 +14,7 @@ class QMenu;
#include "ads/API.h"
#include "ads/Internal.h"
#include "ads/SectionContent.h"
#include "ads/FloatingWidget.h"
ADS_NAMESPACE_BEGIN
class ContainerWidget;
@@ -50,6 +51,8 @@ public:
int currentIndex() const;
void moveContent(int from, int to);
virtual bool eventFilter(QObject *watched, QEvent *event);
protected:
virtual void showEvent(QShowEvent*);
@@ -96,7 +99,11 @@ public:
virtual ~SectionWidgetTabsScrollArea();
protected:
QPoint _dragStartPos;
QPointer<FloatingWidget> _fw;
virtual void wheelEvent(QWheelEvent*);
virtual void mousePressEvent(QMouseEvent* ev);
virtual void mouseMoveEvent(QMouseEvent* ev);
};
ADS_NAMESPACE_END