blob: 6cecd1de2bcc9ab30262b7e7c9a5b84607f7ee01 [file] [log] [blame]
Nicolas Jager998fbd72016-08-08 11:41:28 -04001#pragma once
2/**************************************************************************
3* Copyright (C) 2016 by Savoir-faire Linux *
4* Author: Jäger Nicolas <nicolas.jager@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**************************************************************************/
19#include "SmartPanel.g.h"
20
21namespace RingClientUWP
22{
Nicolas Jagerbff5fbb2016-08-18 08:58:56 -040023
24delegate void ToggleSmartPan();
Nicolas Jagerc551c362016-10-01 19:24:50 -040025delegate void SummonMessageTextPage();
26delegate void SummonVideoPage();
27delegate void SummonWelcomePage();
Nicolas Jagerbff5fbb2016-08-18 08:58:56 -040028
Nicolas Jager998fbd72016-08-08 11:41:28 -040029namespace Views
30{
Nicolas Jagerc551c362016-10-01 19:24:50 -040031
32public ref class IncomingVisibility sealed : IValueConverter {
33public:
34 virtual Object^ Convert(Object^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object^ parameter, String^ language);
35 virtual Object^ ConvertBack(Object^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object^ parameter, String^ language);
36 IncomingVisibility();
37};
38
39public ref class OutGoingVisibility sealed : IValueConverter {
40public:
41 virtual Object^ Convert(Object^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object^ parameter, String^ language);
42 virtual Object^ ConvertBack(Object^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object^ parameter, String^ language);
43 OutGoingVisibility();
44};
45
46public ref class HasAnActiveCall sealed : IValueConverter {
47public:
48 virtual Object^ Convert(Object^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object^ parameter, String^ language);
49 virtual Object^ ConvertBack(Object^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object^ parameter, String^ language);
50 HasAnActiveCall();
51};
52
53public ref class NewMessageBubleNotification sealed : IValueConverter {
54public:
55 virtual Object^ Convert(Object^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object^ parameter, String^ language);
56 virtual Object^ ConvertBack(Object^ value, Windows::UI::Xaml::Interop::TypeName targetType, Object^ parameter, String^ language);
57 NewMessageBubleNotification();
58};
59
Nicolas Jager998fbd72016-08-08 11:41:28 -040060public ref class SmartPanel sealed
61{
62public:
63 SmartPanel();
atraczyk4a8cffc2016-08-25 20:01:25 -040064 void updatePageContent();
Nicolas Jagerbff5fbb2016-08-18 08:58:56 -040065
66internal:
67 enum class Mode { Minimized, Normal };
68 event ToggleSmartPan^ toggleSmartPan;
Nicolas Jagerc551c362016-10-01 19:24:50 -040069 event SummonMessageTextPage^ summonMessageTextPage;
70 event SummonVideoPage^ summonVideoPage;
71 event SummonWelcomePage^ summonWelcomePage;
Nicolas Jagerbff5fbb2016-08-18 08:58:56 -040072 void setMode(RingClientUWP::Views::SmartPanel::Mode mode);
73
74private:
Nicolas Jager7c409f32016-09-08 09:35:16 -040075 /* functions */
Nicolas Jagerbff5fbb2016-08-18 08:58:56 -040076 void _accountsMenuButton__Checked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
77 void _accountsMenuButton__Unchecked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
78 void _settings__Checked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
79 void _settings__Unchecked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
80 void _shareMenuButton__Checked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
81 void _shareMenuButton__Unchecked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
82 void _addAccountBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
83 void _createAccountYes__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
84 void _createAccountNo__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
Nicolas Jager8a85e1f2016-08-15 15:11:06 -040085 void _smartList__SelectionChanged(Platform::Object^ sender, Windows::UI::Xaml::Controls::SelectionChangedEventArgs^ e);
atraczyk4a8cffc2016-08-25 20:01:25 -040086 void _accountList__SelectionChanged(Platform::Object^ sender, Windows::UI::Xaml::Controls::SelectionChangedEventArgs^ e);
atraczyk82f8dda2016-08-25 16:34:52 -040087 void _ringTxtBx__KeyDown(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e);
atraczyke87716f2016-09-20 13:46:22 -040088 void _ringTxtBx__Click(Platform::Object^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs^ e);
Nicolas Jagerf6a10322016-09-06 08:17:49 -040089 void _rejectIncomingCallBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
90 void _acceptIncomingCallBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
Nicolas Jager5750df02016-09-13 11:20:33 -040091 void _callContact__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
92 void _cancelCallBtn__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
93 void Grid_PointerEntered(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e);
94 void Grid_PointerExited(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e);
95 void _contactItem__PointerReleased(Platform::Object^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs^ e);
Nicolas Jager7c409f32016-09-08 09:35:16 -040096
97 /* members */
Nicolas Jagere4eb5132016-10-04 14:25:15 -040098 void _devicesMenuButton__Unchecked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
99 void _devicesMenuButton__Checked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
100 void _addDevice__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
Nicolas Jagerd0830772016-10-07 08:45:33 -0400101 void OndevicesListRefreshed(Platform::Collections::Vector<Platform::String ^, std::equal_to<Platform::String ^>, true> ^devicesList);
102 void _pinGeneratorYes__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
103 void _pinGeneratorNo__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
104 void OnexportOnRingEnded(Platform::String ^accountId, Platform::String ^pin);
Nicolas Jager38dd4422016-10-07 10:49:32 -0400105 void _closePin__Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e);
Nicolas Jager998fbd72016-08-08 11:41:28 -0400106};
107}
108}