Skip to content

Commit

Permalink
fix: change permissions of DStackWidget's function
Browse files Browse the repository at this point in the history
Change-Id: I99660e81968fc470f77d64d24bec2ebf2375c2ba
  • Loading branch information
listenerri committed Jan 25, 2019
1 parent 010c75d commit f62bf04
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 45 deletions.
72 changes: 36 additions & 36 deletions src/widgets/dstackwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -292,42 +292,6 @@ QWidget *DStackWidget::getWidgetByIndex(int index) const
return d->widgetList[index];
}

void DStackWidget::setCurrentIndex(int currentIndex, DAbstractStackWidgetTransition::TransitionType type,
bool enableTransition)
{
Q_D(DStackWidget);

if(enableTransition && currentWidget() && currentIndex >= 0) {
DAbstractStackWidgetTransition::TransitionInfo info;
info.stackWidget = this;
info.oldWidget = currentWidget();
info.newWidget = getWidgetByIndex(depth() - 1);
info.type = type;

d->setCurrentIndex(currentIndex);
d->transition->beginTransition(info);
} else {
if(currentWidget()) {
currentWidget()->hide();
}

d->setCurrentIndex(currentIndex);

if(currentWidget()) {
currentWidget()->move(0, 0);
currentWidget()->show();
}

Q_EMIT switchWidgetFinished();
}
}

void DStackWidget::setCurrentWidget(QWidget *currentWidget, DAbstractStackWidgetTransition::TransitionType type,
bool enableTransition)
{
setCurrentIndex(indexOf(currentWidget), type, enableTransition);
}

void DStackWidget::setTransition(DAbstractStackWidgetTransition *transition)
{
Q_D(DStackWidget);
Expand Down Expand Up @@ -376,4 +340,40 @@ DStackWidget::DStackWidget(DStackWidgetPrivate &dd, QWidget *parent):
d_func()->init();
}

void DStackWidget::setCurrentIndex(int currentIndex, DAbstractStackWidgetTransition::TransitionType type,
bool enableTransition)
{
Q_D(DStackWidget);

if(enableTransition && currentWidget() && currentIndex >= 0) {
DAbstractStackWidgetTransition::TransitionInfo info;
info.stackWidget = this;
info.oldWidget = currentWidget();
info.newWidget = getWidgetByIndex(depth() - 1);
info.type = type;

d->setCurrentIndex(currentIndex);
d->transition->beginTransition(info);
} else {
if(currentWidget()) {
currentWidget()->hide();
}

d->setCurrentIndex(currentIndex);

if(currentWidget()) {
currentWidget()->move(0, 0);
currentWidget()->show();
}

Q_EMIT switchWidgetFinished();
}
}

void DStackWidget::setCurrentWidget(QWidget *currentWidget, DAbstractStackWidgetTransition::TransitionType type,
bool enableTransition)
{
setCurrentIndex(indexOf(currentWidget), type, enableTransition);
}

DWIDGET_END_NAMESPACE
18 changes: 9 additions & 9 deletions src/widgets/dstackwidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ class DStackWidget : public QWidget, public DTK_CORE_NAMESPACE::DObject
Q_PROPERTY(bool busy READ busy NOTIFY busyChanged FINAL)
///The number of widgets currently pushed onto the stack.
Q_PROPERTY(int depth READ depth NOTIFY depthChanged FINAL)
Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged)
Q_PROPERTY(QWidget* currentWidget READ currentWidget WRITE setCurrentWidget NOTIFY currentWidgetChanged)
Q_PROPERTY(int currentIndex READ currentIndex NOTIFY currentIndexChanged)
Q_PROPERTY(QWidget* currentWidget READ currentWidget NOTIFY currentWidgetChanged)
Q_PROPERTY(DAbstractStackWidgetTransition* transition READ transition WRITE setTransition)
Q_PROPERTY(int animationDuration READ animationDuration WRITE setAnimationDuration)
Q_PROPERTY(QEasingCurve::Type animationType READ animationType WRITE setAnimationType)
Expand Down Expand Up @@ -115,13 +115,6 @@ public Q_SLOTS:
int indexOf(QWidget *widget) const;
QWidget* getWidgetByIndex(int index) const;

void setCurrentIndex(int currentIndex,
DAbstractStackWidgetTransition::TransitionType type = DAbstractStackWidgetTransition::Push,
bool enableTransition = true);
void setCurrentWidget(QWidget* currentWidget,
DAbstractStackWidgetTransition::TransitionType type = DAbstractStackWidgetTransition::Push,
bool enableTransition = true);

void setTransition(DAbstractStackWidgetTransition* transition);
void setAnimationDuration(int animationDuration);
void setAnimationType(QEasingCurve::Type animationType);
Expand All @@ -140,6 +133,13 @@ public Q_SLOTS:
protected:
explicit DStackWidget(DStackWidgetPrivate &dd, QWidget *parent = 0);

void setCurrentIndex(int currentIndex,
DAbstractStackWidgetTransition::TransitionType type = DAbstractStackWidgetTransition::Push,
bool enableTransition = true);
void setCurrentWidget(QWidget* currentWidget,
DAbstractStackWidgetTransition::TransitionType type = DAbstractStackWidgetTransition::Push,
bool enableTransition = true);

private:
Q_DISABLE_COPY(DStackWidget)
D_DECLARE_PRIVATE(DStackWidget)
Expand Down

0 comments on commit f62bf04

Please sign in to comment.