From 8fd0611a1271f1a494b2af42a5a912c96ccb5b50 Mon Sep 17 00:00:00 2001 From: jwetzell Date: Thu, 18 Apr 2019 09:09:19 -0500 Subject: [PATCH] * qfont.ttf: * qfont.ttf: Icons * App.xaml.cs: Set Font String System Wide * RootPage.xaml.cs: * QGrid.cs: * QCueListView.cs: * qConnectionPage.xaml.cs: * IPHelper.cs: * QInstanceCell.cs: Switch to using Icon Font * QSelectedCueCell.cs: Switch to Type Icon instead of just name * QClient.cs: Create and dispose of sender for every sent message * QCue.cs: Add Icon Code method * ControlPage.xaml: Add hamburger menu * ControlPage.xaml.cs: Menu for Workspace listing/ cue selection * MenuPage.xaml.cs: Function to change menu items back for home page --- Droid/Assets/qfont.ttf | Bin 6536 -> 12960 bytes iOS/Resources/qfont.ttf | Bin 6536 -> 12960 bytes qController.Standard/App.xaml.cs | 13 +++ .../Classes/Cell/QCueListView.cs | 50 ---------- .../Classes/Cell/QInstanceCell.cs | 31 +----- .../Classes/Cell/QSelectedCueCell.cs | 39 ++++---- .../Classes/Communication/IPHelper.cs | 18 ---- .../Classes/Communication/QClient.cs | 14 ++- qController.Standard/Classes/Cues/QCue.cs | 59 ++++++++++++ .../Classes/Settings/QGrid.cs | 11 --- qController.Standard/Pages/ControlPage.xaml | 2 +- .../Pages/ControlPage.xaml.cs | 51 ++++++---- qController.Standard/Pages/MenuPage.xaml.cs | 90 ++++++++++++++---- qController.Standard/Pages/RootPage.xaml.cs | 6 +- .../Pages/qConnectionPage.xaml.cs | 7 +- 15 files changed, 218 insertions(+), 173 deletions(-) mode change 100755 => 100644 Droid/Assets/qfont.ttf mode change 100755 => 100644 iOS/Resources/qfont.ttf delete mode 100644 qController.Standard/Classes/Cell/QCueListView.cs delete mode 100644 qController.Standard/Classes/Communication/IPHelper.cs delete mode 100644 qController.Standard/Classes/Settings/QGrid.cs diff --git a/Droid/Assets/qfont.ttf b/Droid/Assets/qfont.ttf old mode 100755 new mode 100644 index 3e00f096d14c71df506933c88654fad7bd4e23e0..b3ee7ff19c0df6f3791ff838f6c92734ce3d06c0 GIT binary patch delta 7116 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 delta 670 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 delta 670 zcmYLGO=uHA6#iysvb)WXZKa}Cg;-+`RY6q5g9v&kcquiAXhp)3Y_ciYbj_a;O6x%( z^pvpBgA~odLwoR)n+Tp10v`N9>A_nq1afH(l^jafHyew)eDmJ-z4vC`n`xT0%k|UC z(fA*L%>uZWv<>Iex7Uw|uM>VHE2XIV!xKQnp?EayWbBnj{Q>bh5OOj`QR*YaEwXwh z_cZ;keQgoo&jEGZGL6)cslYxk)TH=Tiv+F3JH$7M$1J;4y? zTXgTT8{uA;$Gv&X@i3P#yL0o?b_lMT|qRR~Oz9)u1BN{8>Xd(*wH?5~6W zzF$k}lsDr4(pP8?fdEu!L{+z;?72-v8xH%~sed(^yT&g~?6g7KkrV)Wbf5$kqSqY& zTB|Q^bN9vAXLsXht@UyI8C#Yu6ZYS3e@zTu-$h8?Be40?xN~4V&zlzsPS@iPAZ5SC zA0MJZaZe=tkq5ECs>_{t)ART!*#pokbAqT0lBO_&RW`@oC_!b$KSDO7!;+2Dryzza zD3Z6 cueLists = new List(); - foreach( var cueList in qWorkspace.data ) - { - cueLists.Add(cueList.listName); - foreach(var cue in cueList.cues) - { - if(cue.number == "") - cueLists.Add("\t" + cue.listName); - else - cueLists.Add("\t" + cue.number + " - " + cue.listName); - } - } - listView.ItemsSource = cueLists.ToArray(); - } - } -} \ No newline at end of file diff --git a/qController.Standard/Classes/Cell/QInstanceCell.cs b/qController.Standard/Classes/Cell/QInstanceCell.cs index 28e6214..dc65b63 100644 --- a/qController.Standard/Classes/Cell/QInstanceCell.cs +++ b/qController.Standard/Classes/Cell/QInstanceCell.cs @@ -11,8 +11,6 @@ namespace qController Label nameLabel = new Label(); Label addressLabel = new Label(); - Image connectButton = new Image(); - Image deleteButton = new Image(); Label connectLabel = new Label(); Label deleteLabel = new Label(); @@ -21,12 +19,10 @@ namespace qController var deleteTapGesture = new TapGestureRecognizer(); connectTapGesture.Tapped += Connect; - connectButton.GestureRecognizers.Add(connectTapGesture); connectLabel.GestureRecognizers.Add(connectTapGesture); deleteTapGesture.Tapped += Delete; - deleteButton.GestureRecognizers.Add(deleteTapGesture); deleteLabel.GestureRecognizers.Add(deleteTapGesture); InitItems(); @@ -79,15 +75,6 @@ namespace qController nameLabel.FontAttributes = FontAttributes.Bold; nameLabel.FontSize = 20; - connectButton.HorizontalOptions = LayoutOptions.CenterAndExpand; - connectButton.VerticalOptions = LayoutOptions.CenterAndExpand; - connectButton.Source = "connect.png"; - - - deleteButton.HorizontalOptions = LayoutOptions.CenterAndExpand; - deleteButton.VerticalOptions = LayoutOptions.CenterAndExpand; - deleteButton.Source = "delete.png"; - addressLabel.HorizontalTextAlignment = TextAlignment.Center; addressLabel.VerticalTextAlignment = TextAlignment.Start; @@ -103,20 +90,8 @@ namespace qController deleteLabel.FontSize = 40; deleteLabel.TextColor = Color.Red; - string qfont = ""; - - switch (Device.RuntimePlatform) - { - case Device.iOS: - qfont = "qfont"; - break; - case Device.Android: - qfont = "qfont.ttf#qfont"; - break; - - } - connectLabel.FontFamily = qfont; - deleteLabel.FontFamily = qfont; + connectLabel.FontFamily = App.QFont; + deleteLabel.FontFamily = App.QFont; } @@ -130,7 +105,7 @@ namespace qController void Connect(object sender, EventArgs e) { - App.NavigationPage.Navigation.PushModalAsync(new NavigationPage(new ControlPage(nameLabel.Text,addressLabel.Text))); + App.NavigationPage.Navigation.PushAsync(new ControlPage(nameLabel.Text,addressLabel.Text)); Console.WriteLine("Connect To " + nameLabel.Text + " Pressed"); diff --git a/qController.Standard/Classes/Cell/QSelectedCueCell.cs b/qController.Standard/Classes/Cell/QSelectedCueCell.cs index 093ab27..6d579b7 100644 --- a/qController.Standard/Classes/Cell/QSelectedCueCell.cs +++ b/qController.Standard/Classes/Cell/QSelectedCueCell.cs @@ -9,7 +9,6 @@ namespace qController Label number; Label type; Label notes; - public QSelectedCueCell() { Padding = new Thickness(5); @@ -66,23 +65,29 @@ namespace qController } }; - number = new Label { Text = "N/A"}; - number.FontAttributes = FontAttributes.Bold; - number.FontSize = 30; - number.Margin = new Thickness(5); + number = new Label { + Text = "N/A", + FontAttributes = FontAttributes.Bold, + FontSize = 30, + Margin = new Thickness(5) + }; + name = new Label { + Text = "N/A", + FontAttributes = FontAttributes.Bold, + HorizontalTextAlignment = TextAlignment.Center, + FontSize = 20, + Margin = new Thickness(0) + }; - name = new Label { Text = "N/A" }; - name.FontAttributes = FontAttributes.Bold; - name.HorizontalTextAlignment = TextAlignment.Center; - name.FontSize = 20; - name.Margin = new Thickness(0); - - type = new Label { Text = "N/A" }; - type.FontAttributes = FontAttributes.Bold; - type.VerticalTextAlignment = TextAlignment.Center; - type.HorizontalTextAlignment = TextAlignment.End; - type.Margin = new Thickness(5); + type = new Label { + Text = "", + FontFamily = App.QFont, + VerticalTextAlignment = TextAlignment.Center, + HorizontalTextAlignment = TextAlignment.End, + Margin = new Thickness(5), + FontSize = 27 + }; notes = new Label { Text = "Viewing Notes Currently Unavailable" }; notes.HorizontalTextAlignment = TextAlignment.Center; @@ -112,7 +117,7 @@ namespace qController { name.Text = cue.name; number.Text = cue.number; - type.Text = cue.type; + type.Text = cue.getIconString(); notes.Text = cue.notes; } } diff --git a/qController.Standard/Classes/Communication/IPHelper.cs b/qController.Standard/Classes/Communication/IPHelper.cs deleted file mode 100644 index dd1dea2..0000000 --- a/qController.Standard/Classes/Communication/IPHelper.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Net; - -namespace qController -{ - public class IPHelper - { - public IPHelper() - { - } - - public static bool IsValidAddress(string ipString){ - if ((ipString.Split('.').Length - 1) != 3) return false; - IPAddress address; - return IPAddress.TryParse(ipString, out address); - } - } -} diff --git a/qController.Standard/Classes/Communication/QClient.cs b/qController.Standard/Classes/Communication/QClient.cs index 29e5659..598b9f8 100644 --- a/qController.Standard/Classes/Communication/QClient.cs +++ b/qController.Standard/Classes/Communication/QClient.cs @@ -12,12 +12,16 @@ namespace qController public QParser qParser; public QReceiver qReceiver; + string Address; + int Port; public QClient(string address, int port) { + Address = address; + Port = port; qParser = new QParser(); - qReceiver = new QReceiver(port + 1); - tcpSender = new TCPSender(address, port); - udpSender = new UDPSender(address, port); + qReceiver = new QReceiver(Port + 1); + tcpSender = new TCPSender(Address, Port); + udpSender = new UDPSender(Address, Port); tcpSender.MessageReceived += OnMessageReceived; qReceiver.UpdateMessageReceived += OnMessageReceived; @@ -44,11 +48,15 @@ namespace qController } public void sendStringUDP(string address) { + udpSender = new UDPSender(Address,Port); udpSender.Send(new OscMessage(address)); + udpSender.Close(); } public void sendArgsUDP(string address, params object[] args) { + udpSender = new UDPSender(Address, Port); udpSender.Send(new OscMessage(address, args)); + udpSender.Close(); } public void sendAndReceiveString(string address) { diff --git a/qController.Standard/Classes/Cues/QCue.cs b/qController.Standard/Classes/Cues/QCue.cs index d523532..1f09f54 100644 --- a/qController.Standard/Classes/Cues/QCue.cs +++ b/qController.Standard/Classes/Cues/QCue.cs @@ -26,5 +26,64 @@ namespace qController public string displayName { get; set; } public bool isLoaded { get; set; } public string notes { get; set; } + + public string getIconString() + { + switch (type) + { + case "Group": + return "\uF248"; + case "Audio": + return "\uE807"; + case "Mic": + return "\uF130"; + case "Video": + return "\uE805"; + case "Camera": + return "\uE806"; + case "Text": + return "T"; + case "Light": + return "\uF0EB"; + case "Fade": + return "\uF1DE"; + case "Network": + return "\uF192"; + case "MIDI": + return ""; + case "MIDI File": + return "\uE804"; + case "Timecode": + return "\uE808"; + case "Start": + return "\uE809"; + case "Stop": + return "\uE80A"; + case "Pause": + return "\uE80B"; + case "Load": + return "\uE80E"; + case "Reset": + return "\uE80F"; + case "Devamp": + return "\uE80C"; + case "GoTo": + return "\uF178"; + case "Target": + return "\uE80D"; + case "Arm": + return "\uE810"; + case "Disarm": + return ""; + case "Wait": + return "\uF250"; + case "Memo": + return "\uF27B"; + case "Script": + return "\uE811"; + default: + return ""; + } + } } } diff --git a/qController.Standard/Classes/Settings/QGrid.cs b/qController.Standard/Classes/Settings/QGrid.cs deleted file mode 100644 index 7270407..0000000 --- a/qController.Standard/Classes/Settings/QGrid.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; -namespace qController -{ - public class QGrid - { - - public QGrid() - { - } - } -} diff --git a/qController.Standard/Pages/ControlPage.xaml b/qController.Standard/Pages/ControlPage.xaml index e4cd2ca..76b8436 100644 --- a/qController.Standard/Pages/ControlPage.xaml +++ b/qController.Standard/Pages/ControlPage.xaml @@ -10,7 +10,7 @@ - +