summaryrefslogtreecommitdiff
path: root/client/collapser.cc
diff options
context:
space:
mode:
Diffstat (limited to 'client/collapser.cc')
-rw-r--r--client/collapser.cc23
1 files changed, 16 insertions, 7 deletions
diff --git a/client/collapser.cc b/client/collapser.cc
index ff1ab69..7d95946 100644
--- a/client/collapser.cc
+++ b/client/collapser.cc
@@ -36,6 +36,11 @@ Collapser::Collapser(QWidget *collapsed, QWidget *expanded, bool setcollapsed)
this->collapsed = NULL;
this->expanded = NULL;
+ timer = new QTimer(this);
+ timer->setSingleShot(true);
+ timer->setInterval(ANIM_INTERVAL);
+ connect(timer, SIGNAL(timeout()), this, SLOT(anim()));
+
setLayout(new QHBoxLayout());
layout()->setContentsMargins(0,0,0,0);
@@ -110,10 +115,10 @@ void Collapser::collapse()
emit collapsing();
t_anim.start();
+ printf("(%d) collapsing\n", (int)this);
is_collapsed = true;
- killTimer(timer_id);
- timer_id = startTimer(ANIM_INTERVAL);
+ timer->start();
}
void Collapser::expand()
@@ -121,6 +126,7 @@ void Collapser::expand()
emit expanding();
t_anim.start();
+ printf("(%d) expanding\n", (int)this);
// show expanded
if(collapsed) {
@@ -134,8 +140,7 @@ void Collapser::expand()
}
is_collapsed = false;
- killTimer(timer_id);
- timer_id = startTimer(ANIM_INTERVAL);
+ timer->start();
}
void Collapser::toggleCollapse()
@@ -158,9 +163,10 @@ void Collapser::anim()
e_height = sz.height();
}
- killTimer(timer_id);
+ // killTimer(timer_id);
double x = (double)(t_anim.elapsed()) / (double)ANIM_TIME;
+ printf("(%d) x: %f\n", (int)this, x);
double y = 1;
if(x < 1) {
@@ -174,7 +180,9 @@ void Collapser::anim()
}
setFixedHeight(height);
- timer_id = startTimer(ANIM_INTERVAL);
+ // timer_id = startTimer(ANIM_INTERVAL);
+ timer->start();
+
} else {
if(is_collapsed) {
@@ -196,8 +204,9 @@ void Collapser::anim()
}
}
-
+/*
void Collapser::timerEvent(QTimerEvent *)
{
anim();
}
+*/