ui : improve configuration menu and contactView

- new icon for settings menu in mainwindow.
- adds animations between navwidgets.
- improves look of contactView.
- improves look of quality dialog.
- removes code for bars not used anymore.
- removes some qdebug left.
- fixes paths icons.

Tuleap: #148
Change-Id: I9f04e9c8d13c2064bfc006d95d2dd1c166160092
diff --git a/navstack.cpp b/navstack.cpp
index 025b70d..21f13e8 100644
--- a/navstack.cpp
+++ b/navstack.cpp
@@ -1,5 +1,5 @@
 /***************************************************************************
- * Copyright (C) 2015-2016 by Savoir-faire Linux                                *
+ * Copyright (C) 2015-2016 by Savoir-faire Linux                           *
  * Author: Edric Ladent Milaret <edric.ladent-milaret@savoirfairelinux.com>*
  *                                                                         *
  * This program is free software; you can redistribute it and/or modify    *
@@ -18,28 +18,27 @@
 
 #include "navstack.h"
 
-NavStack::NavStack(QStackedWidget* bar, QStackedWidget* stack, QWidget *parent)
-    : bar_(bar)
-    , stack_(stack)
+#include <QPropertyAnimation>
+
+NavStack::NavStack(QStackedWidget* stack, QWidget *parent)
+    : stack_(stack)
 {
     Q_UNUSED(parent)
 
-    navList_.append(new NavBar());
-
     navList_.append(new CallWidget());
     navList_.append(new ConfigurationWidget());
 
     for (int i = 0; i < END; i++) {
-        if (i < CallScreen)
-            bar_->addWidget(navList_[i]);
-        else
-            stack_->addWidget(navList_[i]);
-        connect(navList_[i], SIGNAL(NavigationRequested(ScreenEnum)),
-                this, SLOT(onNavigationRequested(ScreenEnum)));
-        connect(navList_[i], SIGNAL(BackRequested()),
-                this, SLOT(onBackRequested()));
+        stack_->addWidget(navList_[i]);
+        connect(navList_[i],
+                SIGNAL(NavigationRequested(ScreenEnum)),
+                this,
+                SLOT(onNavigationRequested(ScreenEnum)));
     }
-    bar_->hide();
+    slideStacked_ = new QPropertyAnimation();
+    slideStacked_->setPropertyName("pos");
+    slideStacked_->setDuration(animDuration_);
+    slideStacked_->setEasingCurve(QEasingCurve::OutQuad);
 }
 
 NavStack::~NavStack()
@@ -47,6 +46,7 @@
     for (int i = 0; i < END; i++) {
         delete navList_[i];
     }
+    delete slideStacked_;
 }
 
 NavWidget*
@@ -56,43 +56,19 @@
 }
 
 void
-NavStack::onNavigationRequested(ScreenEnum screen) {
+NavStack::onNavigationRequested(ScreenEnum screen)
+{
     if (navList_[screen] == stack_->currentWidget())
         return;
-    if (screen < CallScreen) {
-        bar_->show();
-        if (auto barItem = navList_[screen])
-            bar_->setCurrentWidget(barItem);
-        else
-            bar_->hide();
-    } else {
-        stack_->setCurrentWidget(navList_[screen]);
-        setNavBar(navList_[screen]);
-        stackNav_.append(screen);
-    }
-}
-
-void
-NavStack::onBackRequested() {
-
-    navList_[stackNav_.pop()]->atExit();
-    ScreenEnum screen;
-
-    if (stackNav_.size() == 0)
-        screen = CallScreen;
-    else
-        screen = stackNav_.first();
 
     stack_->setCurrentWidget(navList_[screen]);
-    setNavBar(navList_[screen]);
-}
+    stackNav_.append(screen);
 
-void
-NavStack::setNavBar(NavWidget* navW) {
-    if (navW->barDesired != END) {
-        bar_->setCurrentWidget(navList_[navW->barDesired]);
-        bar_->show();
-    } else {
-        bar_->hide();
-    }
+    slideStacked_->setTargetObject(navList_[screen]);
+    if(screen == CallScreen)
+        slideStacked_->setStartValue(-QPoint(navList_[screen]->width(), navList_[screen]->y()));
+    else
+        slideStacked_->setStartValue(QPoint(navList_[screen]->width(), navList_[screen]->y()));
+    slideStacked_->setEndValue(QPoint(navList_[screen]->x(), navList_[screen]->y()));
+    slideStacked_->start();
 }