diff --git a/RingD.cpp b/RingD.cpp index 5d9cf3f6db54ad4dc2ba02ddb0bb83e78dcd0883..6a688f311342461ea4310de76585a400446bd39a 100644 --- a/RingD.cpp +++ b/RingD.cpp @@ -384,7 +384,7 @@ RingClientUWP::RingD::startDaemon() DRing::exportable_callback<DRing::ConfigurationSignal::ExportOnRingEnded>([&](const std::string& accountId, int status, const std::string& pin) { auto accountId2 = Utils::toPlatformString(accountId); - auto pin2 = (pin.empty()) ? "Error Bad Password" : "Your generated pin :" + Utils::toPlatformString(pin); + auto pin2 = (pin.empty()) ? "Error bad password" : "Your generated pin : " + Utils::toPlatformString(pin); dispatcher->RunAsync(CoreDispatcherPriority::High, ref new DispatchedHandler([=]() { exportOnRingEnded(accountId2, pin2); @@ -611,6 +611,7 @@ RingD::dequeueTasks() ref new DispatchedHandler([=]() { devicesListRefreshed(devicesList2); })); + break; } case Request::ExportOnRing: { diff --git a/SmartPanel.xaml b/SmartPanel.xaml index 9f93ac91c25ae386852d06793535c053963cc4bd..fb241ea96379cfa04150152861940482ed0d4444 100644 --- a/SmartPanel.xaml +++ b/SmartPanel.xaml @@ -546,14 +546,23 @@ <RowDefinition Height="auto"/> </Grid.RowDefinitions> <TextBlock Text="Device ID:" + Margin="10" Grid.Row="0" HorizontalAlignment="Center"/> <TextBlock x:Name="_deviceId_" + Margin="10" Text="[TEXT_MISSING]" + TextTrimming="CharacterEllipsis" Grid.Row="1" IsTextSelectionEnabled="True" HorizontalAlignment="Center"/> + <TextBlock x:Name="_waitingDevicesList_" + Text="waiting for devices list..." + Grid.Row="2" + IsTextSelectionEnabled="True" + HorizontalAlignment="Center"/> <ListBox x:Name="_devicesIdList_" + Visibility="Collapsed" Grid.Row="2"/> </Grid> <Button x:Name="_addDevice_" @@ -632,7 +641,26 @@ Grid.Row="0" Margin="10,10,0,10"/> </Grid> + <Grid Grid.Row="1"> + <StackPanel Orientation="Horizontal" + HorizontalAlignment="Center"> + <Button x:Name="_closePin_" + Grid.Row="1" + VerticalAlignment="Center" + HorizontalAlignment="Center" + Content="" + Click="_closePin__Click" + Style="{StaticResource ButtonStyle5}"/> + </StackPanel> + </Grid> </Grid> + + + + + + + </Grid> <!-- smartList and settings. --> <Grid Grid.Row="1"> diff --git a/SmartPanel.xaml.cpp b/SmartPanel.xaml.cpp index 253ba0101864af6d0027f03571cee33ad822ddde..780f2c2f5d3b960ac9375fe59a865da386dc98b3 100644 --- a/SmartPanel.xaml.cpp +++ b/SmartPanel.xaml.cpp @@ -147,9 +147,6 @@ RingClientUWP::Views::SmartPanel::updatePageContent() _devicesMenuButton_->Visibility = (account->accountType_ == "RING") ? Windows::UI::Xaml::Visibility::Visible : Windows::UI::Xaml::Visibility::Collapsed; - - RingD::instance->askToRefreshKnownDevices(name); - } void RingClientUWP::Views::SmartPanel::_accountsMenuButton__Checked(Object^ sender, RoutedEventArgs^ e) @@ -498,11 +495,22 @@ void RingClientUWP::Views::SmartPanel::_devicesMenuButton__Unchecked(Platform::O { _devicesMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _addingDeviceGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; + _waitingForPin_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; + _passwordForPinGenerator_->Password = ""; + // refacto : do something better... + _waitingAndResult_->Text = "Exporting account on the Ring..."; + } void RingClientUWP::Views::SmartPanel::_devicesMenuButton__Checked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) { + _waitingDevicesList_->Visibility = Windows::UI::Xaml::Visibility::Visible; + _devicesIdList_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; + + auto accountId = AccountsViewModel::instance->selectedAccount->accountID_; + RingD::instance->askToRefreshKnownDevices(accountId); + _shareMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _accountsMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _accountCreationMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; @@ -517,13 +525,16 @@ void RingClientUWP::Views::SmartPanel::_addDevice__Click(Platform::Object^ sende { _devicesMenuGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _addingDeviceGrid_->Visibility = Windows::UI::Xaml::Visibility::Visible; + _closePin_->Visibility = Windows::UI::Xaml::Visibility::Visible; } void RingClientUWP::Views::SmartPanel::OndevicesListRefreshed(Platform::Collections::Vector<Platform::String ^, std::equal_to<Platform::String ^>, true> ^devicesList) { + _waitingDevicesList_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; AccountsViewModel::instance->selectedAccount->_devicesIdList = devicesList; _devicesIdList_->ItemsSource = devicesList; + _devicesIdList_->Visibility = Windows::UI::Xaml::Visibility::Visible; } @@ -534,6 +545,10 @@ void RingClientUWP::Views::SmartPanel::_pinGeneratorYes__Click(Platform::Object^ auto accountId = AccountsViewModel::instance->selectedAccount->accountID_; auto password = _passwordForPinGenerator_->Password; + _passwordForPinGenerator_->Password = ""; + + /* hide the button while we are waiting... */ + _closePin_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; RingD::instance->askToExportOnRing(accountId, password); } @@ -543,11 +558,23 @@ void RingClientUWP::Views::SmartPanel::_pinGeneratorNo__Click(Platform::Object^ { _addingDeviceGrid_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; _devicesMenuButton_->IsChecked = false; + _passwordForPinGenerator_->Password = ""; } void RingClientUWP::Views::SmartPanel::OnexportOnRingEnded(Platform::String ^accountId, Platform::String ^pin) { - MSG_("XXXX"); _waitingAndResult_->Text = pin; + _closePin_->Visibility = Windows::UI::Xaml::Visibility::Visible; + +} + + +void RingClientUWP::Views::SmartPanel::_closePin__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e) +{ + _waitingForPin_->Visibility = Windows::UI::Xaml::Visibility::Collapsed; + _devicesMenuButton_->IsChecked = false; + + // refacto : do something better... + _waitingAndResult_->Text = "Exporting account on the Ring..."; } diff --git a/SmartPanel.xaml.h b/SmartPanel.xaml.h index 8d2872fd5bdd241867c985b9d343506bd4d746c7..6cecd1de2bcc9ab30262b7e7c9a5b84607f7ee01 100644 --- a/SmartPanel.xaml.h +++ b/SmartPanel.xaml.h @@ -102,6 +102,7 @@ private: void _pinGeneratorYes__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); void _pinGeneratorNo__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); void OnexportOnRingEnded(Platform::String ^accountId, Platform::String ^pin); + void _closePin__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); }; } } \ No newline at end of file