blob: e8ccc36242588765c26b75e8b52f93b6d0df598e [file] [log] [blame]
atraczyke9919eb2016-09-15 15:58:18 -04001/**************************************************************************
2* Copyright (C) 2016 by Savoir-faire Linux *
3* Author: Jäger Nicolas <nicolas.jager@savoirfairelinux.com> *
4* Author: Traczyk Andreas <andreas.traczyk@savoirfairelinux.com> *
5* *
6* This program is free software; you can redistribute it and/or modify *
7* it under the terms of the GNU General Public License as published by *
8* the Free Software Foundation; either version 3 of the License, or *
9* (at your option) any later version. *
10* *
11* This program is distributed in the hope that it will be useful, *
12* but WITHOUT ANY WARRANTY; without even the implied warranty of *
13* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14* GNU General Public License for more details. *
15* *
16* You should have received a copy of the GNU General Public License *
17* along with this program. If not, see <http://www.gnu.org/licenses/>. *
18**************************************************************************/
Nicolas Jagere069c412016-08-15 15:00:17 -040019#include "pch.h"
20
21#include "VideoPage.xaml.h"
22
23using namespace RingClientUWP::Views;
24
25using namespace Concurrency;
26using namespace Platform;
27using namespace Windows::Devices::Enumeration;
28using namespace Windows::Foundation;
29using namespace Windows::Foundation::Collections;
30using namespace Windows::UI::Xaml;
31using namespace Windows::UI::Xaml::Controls;
32using namespace Windows::UI::Xaml::Controls::Primitives;
33using namespace Windows::UI::Xaml::Data;
34using namespace Windows::UI::Xaml::Input;
35using namespace Windows::UI::Xaml::Media;
36using namespace Windows::UI::Xaml::Navigation;
37using namespace Windows::Media::Capture;
atraczyke9919eb2016-09-15 15:58:18 -040038using namespace Windows::ApplicationModel::Core;
39using namespace Windows::UI::Core;
Nicolas Jagere069c412016-08-15 15:00:17 -040040
41VideoPage::VideoPage()
42{
43 InitializeComponent();
44}
45
atraczyke9919eb2016-09-15 15:58:18 -040046void
47RingClientUWP::Views::VideoPage::OnNavigatedTo(Windows::UI::Xaml::Navigation::NavigationEventArgs^ e)
48{
49 updatePageContent();
50}
Nicolas Jagere069c412016-08-15 15:00:17 -040051
atraczyke9919eb2016-09-15 15:58:18 -040052void RingClientUWP::Views::VideoPage::updatePageContent()
53{
54 auto selectedContact = ViewModel::ContactsViewModel::instance->selectedContact;
55 Contact^ contact = selectedContact?
56 ViewModel::SmartPanelItemsViewModel::instance->findItem(selectedContact)->_contact:
57 nullptr;
58 if (!contact)
59 return;
60
61 _callee_->Text = contact->name_;
62}
Nicolas Jagere069c412016-08-15 15:00:17 -040063
64void RingClientUWP::Views::VideoPage::Button_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
65{
66}
67
68
69void RingClientUWP::Views::VideoPage::_btnCancel__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
70{
71
72}
73
74void RingClientUWP::Views::VideoPage::_btnHangUp__Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e)
75{
atraczyke9919eb2016-09-15 15:58:18 -040076 Contact^ selectedContact = ViewModel::ContactsViewModel::instance->selectedContact;
77 Call^ call = selectedContact?
78 ViewModel::SmartPanelItemsViewModel::instance->findItem(selectedContact)->_call:
79 nullptr;
80 if (call)
81 RingD::instance->hangUpCall(call);
Nicolas Jagere069c412016-08-15 15:00:17 -040082 pressHangUpCall();
83}
84
85
86void RingClientUWP::Views::VideoPage::_btnPause__Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e)
87{
88 pauseCall();
89}
90
91
92void RingClientUWP::Views::VideoPage::_btnChat__Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e)
93{
94 chatPanelCall();
95}
96
97
98void RingClientUWP::Views::VideoPage::_btnAddFriend__Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e)
99{
100 addContactCall();
101}
102
103
104void RingClientUWP::Views::VideoPage::_btnSwitch__Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e)
105{
106 transferCall();
107}
108
109
110void RingClientUWP::Views::VideoPage::_btnMicrophone__Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e)
111{
112 switchMicrophoneStateCall();
113}
114
115
116void RingClientUWP::Views::VideoPage::_btnMemo__Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e)
117{
118 reccordVideoCall();
119}
120
121
122void RingClientUWP::Views::VideoPage::_btnHQ__Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e)
123{
124 qualityVideoLevelCall();
125}
126
127
128void RingClientUWP::Views::VideoPage::_btnVideo__Tapped(Platform::Object^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs^ e)
129{
130 switchVideoStateCall();
131}
132
133
134void RingClientUWP::Views::VideoPage::_videoControl__PointerMoved(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e)
135{
136 if (barFading)
137 myStoryboard->Begin();
138 barFading_ = true;
139}
140
141
142void RingClientUWP::Views::VideoPage::btnAny_entered(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e)
143{
144 barFading_ = false;
145 myStoryboard->Stop();
146}
147
148
149void RingClientUWP::Views::VideoPage::btnAny_exited(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e)
150{
151 barFading_ = true;
Nicolas Jagere069c412016-08-15 15:00:17 -0400152}