settings: fix ringtone selection

- Move ringtone selection to account detail where
it belongs
- Use the selection model of ringtone model
- Fix ring ringtones install path
- Remove copy of ringtones in client git

Tuleap: #340

Change-Id: I75dd1205fd53d13db73b756b642bbe8c8487ba67
diff --git a/accountdetails.cpp b/accountdetails.cpp
index 2c163e7..850d632 100644
--- a/accountdetails.cpp
+++ b/accountdetails.cpp
@@ -28,6 +28,7 @@
 #include "protocolmodel.h"
 #include "certificate.h"
 #include "ciphermodel.h"
+#include "ringtonemodel.h"
 
 AccountDetails::AccountDetails(QWidget *parent) :
     QWidget(parent),
@@ -148,6 +149,11 @@
     });
 
     ui->cipherListView->setModel(currentAccount_->cipherModel());
+
+    disconnect(ui->ringtonesBox);
+    ui->ringtonesBox->setModel(&RingtoneModel::instance());
+    ui->ringtonesBox->setCurrentIndex(RingtoneModel::instance().selectionModel(currentAccount_)->currentIndex().row());
+    connect(ui->ringtonesBox, SIGNAL(currentIndexChanged(int)), this, SLOT(ringtonesBoxCurrentIndexChanged(int)));
 }
 
 void
@@ -207,3 +213,17 @@
     auto idx = codecModel_->videoCodecs()->mapToSource(selected.indexes().at(0));
     codecModel_->selectionModel()->setCurrentIndex(idx, QItemSelectionModel::ClearAndSelect);
 }
+
+void
+AccountDetails::ringtonesBoxCurrentIndexChanged(int index)
+{
+    RingtoneModel::instance().selectionModel(currentAccount_)->setCurrentIndex(
+                RingtoneModel::instance().index(index, 0), QItemSelectionModel::ClearAndSelect);
+}
+
+void
+AccountDetails::on_playButton_clicked()
+{
+    RingtoneModel::instance().play(RingtoneModel::instance().index(
+                                       ui->ringtonesBox->currentIndex(), 0));
+}