smartpanel : add pin number generator

Change-Id: I3e4d4e37c6481abb9ed98f4a19ea0d6b09fe4f08
Tuleap: #1215
diff --git a/SmartPanel.xaml.cpp b/SmartPanel.xaml.cpp
index 1e34ae6..8f2f65f 100644
--- a/SmartPanel.xaml.cpp
+++ b/SmartPanel.xaml.cpp
@@ -112,6 +112,7 @@
         }

 

     });

+    RingD::instance->devicesListRefreshed += ref new RingClientUWP::DevicesListRefreshed(this, &RingClientUWP::Views::SmartPanel::OndevicesListRefreshed);

 

 

     ContactsViewModel::instance->contactAdded += ref new ContactAdded([this](Contact^ contact) {

@@ -120,6 +121,8 @@
         SmartPanelItemsViewModel::instance->itemsList->Append(smartPanelItem);

     });

 

+    RingD::instance->exportOnRingEnded += ref new RingClientUWP::ExportOnRingEnded(this, &RingClientUWP::Views::SmartPanel::OnexportOnRingEnded);

+

 

 

 }

@@ -137,9 +140,14 @@
     Configuration::UserPreferences::instance->save();

 

     _selectedAccountName_->Text = accountId;

-    _devicesIdList_->ItemsSource = account->_devicesIdList;

+///    _devicesIdList_->ItemsSource = account->_devicesIdList;

     _deviceId_->Text = account->_deviceId; /* this is the current device ...

     ... in the way to get all associated devices, we have to querry the daemon : */

+

+    _devicesMenuButton_->Visibility = (account->accountType_ == "RING")

+                                      ? Windows::UI::Xaml::Visibility::Visible

+                                      : Windows::UI::Xaml::Visibility::Collapsed;

+

     RingD::instance->askToRefreshKnownDevices(accountId);

 

 }

@@ -147,8 +155,11 @@
 void RingClientUWP::Views::SmartPanel::_accountsMenuButton__Checked(Object^ sender, RoutedEventArgs^ e)

 {

     _shareMenuButton_->IsChecked = false;

+    _devicesMenuButton_->IsChecked = false;

     _accountsMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Visible;

     _accountCreationMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed;

+    _devicesMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed;

+    _addingDeviceGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed;

 }

 

 void RingClientUWP::Views::SmartPanel::_accountsMenuButton__Unchecked(Object^ sender, RoutedEventArgs^ e)

@@ -193,12 +204,19 @@
 void RingClientUWP::Views::SmartPanel::_shareMenuButton__Checked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)

 {

     _shareMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Visible;

+    _accountsMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed;

+    _accountCreationMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed;

+    _devicesMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed;

+    _addingDeviceGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed;

     _accountsMenuButton_->IsChecked = false;

+    _devicesMenuButton_->IsChecked = false;

 }

 

 void RingClientUWP::Views::SmartPanel::_shareMenuButton__Unchecked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)

 {

     _shareMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed;

+    _accountsMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed;

+    _accountCreationMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed;

 }

 

 void RingClientUWP::Views::SmartPanel::_addAccountBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)

@@ -479,16 +497,57 @@
 void RingClientUWP::Views::SmartPanel::_devicesMenuButton__Unchecked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)

 {

     _devicesMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed;

+    _addingDeviceGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed;

 }

 

 

 void RingClientUWP::Views::SmartPanel::_devicesMenuButton__Checked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)

 {

+    _shareMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed;

+    _accountsMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed;

+    _accountCreationMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed;

     _devicesMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Visible;

+    _addingDeviceGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed;

+    _accountsMenuButton_->IsChecked = false;

+    _shareMenuButton_->IsChecked = false;

 }

 

 

 void RingClientUWP::Views::SmartPanel::_addDevice__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)

 {

+    _devicesMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed;

+    _addingDeviceGrid_->Visibility = Windows::UI::Xaml::Visibility::Visible;

+}

 

+

+void RingClientUWP::Views::SmartPanel::OndevicesListRefreshed(Platform::Collections::Vector<Platform::String ^, std::equal_to<Platform::String ^>, true> ^devicesList)

+{

+    AccountsViewModel::instance->selectedAccount->_devicesIdList = devicesList;

+    _devicesIdList_->ItemsSource = devicesList;

+}

+

+

+void RingClientUWP::Views::SmartPanel::_pinGeneratorYes__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)

+{

+    _addingDeviceGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed;

+    _waitingForPin_->Visibility = Windows::UI::Xaml::Visibility::Visible;

+

+    auto accountId = AccountsViewModel::instance->selectedAccount->accountID_;

+    auto password = _passwordForPinGenerator_->Password;

+

+    RingD::instance->askToExportOnRing(accountId, password);

+}

+

+

+void RingClientUWP::Views::SmartPanel::_pinGeneratorNo__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)

+{

+    _addingDeviceGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed;

+    _devicesMenuButton_->IsChecked = false;

+}

+

+

+void RingClientUWP::Views::SmartPanel::OnexportOnRingEnded(Platform::String ^accountId, Platform::String ^pin)

+{

+    MSG_("XXXX");

+    _waitingAndResult_->Text = pin;

 }