diff --git a/Libs/x86/msvcr110.dll b/Libs/x86/msvcr110.dll new file mode 100644 index 0000000..1ce960d Binary files /dev/null and b/Libs/x86/msvcr110.dll differ diff --git a/MediaPoint.sln b/MediaPoint.sln index 0fc1449..ff16cea 100644 --- a/MediaPoint.sln +++ b/MediaPoint.sln @@ -95,10 +95,10 @@ Global Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {93795BD8-0E1B-4D6C-B5F4-B49533E8C7E8}.Debug|x64.ActiveCfg = Debug|x64 - {93795BD8-0E1B-4D6C-B5F4-B49533E8C7E8}.Debug|x64.Build.0 = Debug|x64 - {93795BD8-0E1B-4D6C-B5F4-B49533E8C7E8}.Debug|x86.ActiveCfg = Debug|Win32 - {93795BD8-0E1B-4D6C-B5F4-B49533E8C7E8}.Debug|x86.Build.0 = Debug|Win32 + {93795BD8-0E1B-4D6C-B5F4-B49533E8C7E8}.Debug|x64.ActiveCfg = Release|x64 + {93795BD8-0E1B-4D6C-B5F4-B49533E8C7E8}.Debug|x64.Build.0 = Release|x64 + {93795BD8-0E1B-4D6C-B5F4-B49533E8C7E8}.Debug|x86.ActiveCfg = Release|Win32 + {93795BD8-0E1B-4D6C-B5F4-B49533E8C7E8}.Debug|x86.Build.0 = Release|Win32 {93795BD8-0E1B-4D6C-B5F4-B49533E8C7E8}.Installer|x64.ActiveCfg = Release|x64 {93795BD8-0E1B-4D6C-B5F4-B49533E8C7E8}.Installer|x64.Build.0 = Release|x64 {93795BD8-0E1B-4D6C-B5F4-B49533E8C7E8}.Installer|x86.ActiveCfg = Release|Win32 @@ -198,10 +198,10 @@ Global {61695006-241A-4FAC-AFC6-93F810642A1E}.Installer|x86.Build.0 = SingleImage {61695006-241A-4FAC-AFC6-93F810642A1E}.Release|x64.ActiveCfg = SingleImage {61695006-241A-4FAC-AFC6-93F810642A1E}.Release|x86.ActiveCfg = SingleImage - {F558E2B6-62CF-4D1D-A6EA-448D159E5675}.Debug|x64.ActiveCfg = Debug|x64 - {F558E2B6-62CF-4D1D-A6EA-448D159E5675}.Debug|x64.Build.0 = Debug|x64 - {F558E2B6-62CF-4D1D-A6EA-448D159E5675}.Debug|x86.ActiveCfg = Debug|Win32 - {F558E2B6-62CF-4D1D-A6EA-448D159E5675}.Debug|x86.Build.0 = Debug|Win32 + {F558E2B6-62CF-4D1D-A6EA-448D159E5675}.Debug|x64.ActiveCfg = Release|x64 + {F558E2B6-62CF-4D1D-A6EA-448D159E5675}.Debug|x64.Build.0 = Release|x64 + {F558E2B6-62CF-4D1D-A6EA-448D159E5675}.Debug|x86.ActiveCfg = Release|Win32 + {F558E2B6-62CF-4D1D-A6EA-448D159E5675}.Debug|x86.Build.0 = Release|Win32 {F558E2B6-62CF-4D1D-A6EA-448D159E5675}.Installer|x64.ActiveCfg = Release|x64 {F558E2B6-62CF-4D1D-A6EA-448D159E5675}.Installer|x64.Build.0 = Release|x64 {F558E2B6-62CF-4D1D-A6EA-448D159E5675}.Installer|x86.ActiveCfg = Release|Win32 @@ -210,10 +210,10 @@ Global {F558E2B6-62CF-4D1D-A6EA-448D159E5675}.Release|x64.Build.0 = Release|x64 {F558E2B6-62CF-4D1D-A6EA-448D159E5675}.Release|x86.ActiveCfg = Release|Win32 {F558E2B6-62CF-4D1D-A6EA-448D159E5675}.Release|x86.Build.0 = Release|Win32 - {54DDA60F-E528-4D07-A152-960A1E818680}.Debug|x64.ActiveCfg = Debug|x64 - {54DDA60F-E528-4D07-A152-960A1E818680}.Debug|x64.Build.0 = Debug|x64 - {54DDA60F-E528-4D07-A152-960A1E818680}.Debug|x86.ActiveCfg = Debug|Win32 - {54DDA60F-E528-4D07-A152-960A1E818680}.Debug|x86.Build.0 = Debug|Win32 + {54DDA60F-E528-4D07-A152-960A1E818680}.Debug|x64.ActiveCfg = Release|x64 + {54DDA60F-E528-4D07-A152-960A1E818680}.Debug|x64.Build.0 = Release|x64 + {54DDA60F-E528-4D07-A152-960A1E818680}.Debug|x86.ActiveCfg = Release|Win32 + {54DDA60F-E528-4D07-A152-960A1E818680}.Debug|x86.Build.0 = Release|Win32 {54DDA60F-E528-4D07-A152-960A1E818680}.Installer|x64.ActiveCfg = Release|x64 {54DDA60F-E528-4D07-A152-960A1E818680}.Installer|x64.Build.0 = Release|x64 {54DDA60F-E528-4D07-A152-960A1E818680}.Installer|x86.ActiveCfg = Release|Win32 @@ -222,10 +222,10 @@ Global {54DDA60F-E528-4D07-A152-960A1E818680}.Release|x64.Build.0 = Release|x64 {54DDA60F-E528-4D07-A152-960A1E818680}.Release|x86.ActiveCfg = Release|Win32 {54DDA60F-E528-4D07-A152-960A1E818680}.Release|x86.Build.0 = Release|Win32 - {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug|x64.ActiveCfg = Debug|x64 - {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug|x64.Build.0 = Debug|x64 - {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug|x86.ActiveCfg = Debug|Win32 - {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug|x86.Build.0 = Debug|Win32 + {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug|x64.ActiveCfg = Release|x64 + {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug|x64.Build.0 = Release|x64 + {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug|x86.ActiveCfg = Release|Win32 + {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug|x86.Build.0 = Release|Win32 {FC70988B-1AE5-4381-866D-4F405E28AC42}.Installer|x64.ActiveCfg = Release|x64 {FC70988B-1AE5-4381-866D-4F405E28AC42}.Installer|x64.Build.0 = Release|x64 {FC70988B-1AE5-4381-866D-4F405E28AC42}.Installer|x86.ActiveCfg = Release|Win32 @@ -234,10 +234,10 @@ Global {FC70988B-1AE5-4381-866D-4F405E28AC42}.Release|x64.Build.0 = Release|x64 {FC70988B-1AE5-4381-866D-4F405E28AC42}.Release|x86.ActiveCfg = Release|Win32 {FC70988B-1AE5-4381-866D-4F405E28AC42}.Release|x86.Build.0 = Release|Win32 - {0D252872-7542-4232-8D02-53F9182AEE15}.Debug|x64.ActiveCfg = Debug|x64 - {0D252872-7542-4232-8D02-53F9182AEE15}.Debug|x64.Build.0 = Debug|x64 - {0D252872-7542-4232-8D02-53F9182AEE15}.Debug|x86.ActiveCfg = Debug|Win32 - {0D252872-7542-4232-8D02-53F9182AEE15}.Debug|x86.Build.0 = Debug|Win32 + {0D252872-7542-4232-8D02-53F9182AEE15}.Debug|x64.ActiveCfg = Release|x64 + {0D252872-7542-4232-8D02-53F9182AEE15}.Debug|x64.Build.0 = Release|x64 + {0D252872-7542-4232-8D02-53F9182AEE15}.Debug|x86.ActiveCfg = Release|Win32 + {0D252872-7542-4232-8D02-53F9182AEE15}.Debug|x86.Build.0 = Release|Win32 {0D252872-7542-4232-8D02-53F9182AEE15}.Installer|x64.ActiveCfg = Release|x64 {0D252872-7542-4232-8D02-53F9182AEE15}.Installer|x64.Build.0 = Release|x64 {0D252872-7542-4232-8D02-53F9182AEE15}.Installer|x86.ActiveCfg = Release|Win32 @@ -246,10 +246,10 @@ Global {0D252872-7542-4232-8D02-53F9182AEE15}.Release|x64.Build.0 = Release|x64 {0D252872-7542-4232-8D02-53F9182AEE15}.Release|x86.ActiveCfg = Release|Win32 {0D252872-7542-4232-8D02-53F9182AEE15}.Release|x86.Build.0 = Release|Win32 - {DD9D2D92-2241-408A-859E-B85D444B7E3C}.Debug|x64.ActiveCfg = Debug|x64 - {DD9D2D92-2241-408A-859E-B85D444B7E3C}.Debug|x64.Build.0 = Debug|x64 - {DD9D2D92-2241-408A-859E-B85D444B7E3C}.Debug|x86.ActiveCfg = Debug|Win32 - {DD9D2D92-2241-408A-859E-B85D444B7E3C}.Debug|x86.Build.0 = Debug|Win32 + {DD9D2D92-2241-408A-859E-B85D444B7E3C}.Debug|x64.ActiveCfg = Release|x64 + {DD9D2D92-2241-408A-859E-B85D444B7E3C}.Debug|x64.Build.0 = Release|x64 + {DD9D2D92-2241-408A-859E-B85D444B7E3C}.Debug|x86.ActiveCfg = Release|Win32 + {DD9D2D92-2241-408A-859E-B85D444B7E3C}.Debug|x86.Build.0 = Release|Win32 {DD9D2D92-2241-408A-859E-B85D444B7E3C}.Installer|x64.ActiveCfg = Release|x64 {DD9D2D92-2241-408A-859E-B85D444B7E3C}.Installer|x64.Build.0 = Release|x64 {DD9D2D92-2241-408A-859E-B85D444B7E3C}.Installer|x86.ActiveCfg = Release|Win32 @@ -258,10 +258,10 @@ Global {DD9D2D92-2241-408A-859E-B85D444B7E3C}.Release|x64.Build.0 = Release|x64 {DD9D2D92-2241-408A-859E-B85D444B7E3C}.Release|x86.ActiveCfg = Release|Win32 {DD9D2D92-2241-408A-859E-B85D444B7E3C}.Release|x86.Build.0 = Release|Win32 - {D514EA4D-EAFB-47A9-A437-A582CA571251}.Debug|x64.ActiveCfg = Debug|x64 - {D514EA4D-EAFB-47A9-A437-A582CA571251}.Debug|x64.Build.0 = Debug|x64 - {D514EA4D-EAFB-47A9-A437-A582CA571251}.Debug|x86.ActiveCfg = Debug|Win32 - {D514EA4D-EAFB-47A9-A437-A582CA571251}.Debug|x86.Build.0 = Debug|Win32 + {D514EA4D-EAFB-47A9-A437-A582CA571251}.Debug|x64.ActiveCfg = Release|x64 + {D514EA4D-EAFB-47A9-A437-A582CA571251}.Debug|x64.Build.0 = Release|x64 + {D514EA4D-EAFB-47A9-A437-A582CA571251}.Debug|x86.ActiveCfg = Release|Win32 + {D514EA4D-EAFB-47A9-A437-A582CA571251}.Debug|x86.Build.0 = Release|Win32 {D514EA4D-EAFB-47A9-A437-A582CA571251}.Installer|x64.ActiveCfg = Release|x64 {D514EA4D-EAFB-47A9-A437-A582CA571251}.Installer|x64.Build.0 = Release|x64 {D514EA4D-EAFB-47A9-A437-A582CA571251}.Installer|x86.ActiveCfg = Release|Win32 @@ -270,10 +270,10 @@ Global {D514EA4D-EAFB-47A9-A437-A582CA571251}.Release|x64.Build.0 = Release|x64 {D514EA4D-EAFB-47A9-A437-A582CA571251}.Release|x86.ActiveCfg = Release|Win32 {D514EA4D-EAFB-47A9-A437-A582CA571251}.Release|x86.Build.0 = Release|Win32 - {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Debug|x64.ActiveCfg = Debug|x64 - {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Debug|x64.Build.0 = Debug|x64 - {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Debug|x86.ActiveCfg = Debug|Win32 - {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Debug|x86.Build.0 = Debug|Win32 + {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Debug|x64.ActiveCfg = Release|x64 + {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Debug|x64.Build.0 = Release|x64 + {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Debug|x86.ActiveCfg = Release|Win32 + {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Debug|x86.Build.0 = Release|Win32 {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Installer|x64.ActiveCfg = Release|x64 {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Installer|x64.Build.0 = Release|x64 {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Installer|x86.ActiveCfg = Release|Win32 @@ -282,10 +282,10 @@ Global {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Release|x64.Build.0 = Release|x64 {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Release|x86.ActiveCfg = Release|Win32 {5E56335F-0FB1-4EEA-B240-D8DC5E0608E4}.Release|x86.Build.0 = Release|Win32 - {C2082189-3ECB-4079-91FA-89D3C8A305C0}.Debug|x64.ActiveCfg = Debug|x64 - {C2082189-3ECB-4079-91FA-89D3C8A305C0}.Debug|x64.Build.0 = Debug|x64 - {C2082189-3ECB-4079-91FA-89D3C8A305C0}.Debug|x86.ActiveCfg = Debug|Win32 - {C2082189-3ECB-4079-91FA-89D3C8A305C0}.Debug|x86.Build.0 = Debug|Win32 + {C2082189-3ECB-4079-91FA-89D3C8A305C0}.Debug|x64.ActiveCfg = Release|x64 + {C2082189-3ECB-4079-91FA-89D3C8A305C0}.Debug|x64.Build.0 = Release|x64 + {C2082189-3ECB-4079-91FA-89D3C8A305C0}.Debug|x86.ActiveCfg = Release|Win32 + {C2082189-3ECB-4079-91FA-89D3C8A305C0}.Debug|x86.Build.0 = Release|Win32 {C2082189-3ECB-4079-91FA-89D3C8A305C0}.Installer|x64.ActiveCfg = Release|x64 {C2082189-3ECB-4079-91FA-89D3C8A305C0}.Installer|x64.Build.0 = Release|x64 {C2082189-3ECB-4079-91FA-89D3C8A305C0}.Installer|x86.ActiveCfg = Release|Win32 @@ -294,10 +294,10 @@ Global {C2082189-3ECB-4079-91FA-89D3C8A305C0}.Release|x64.Build.0 = Release|x64 {C2082189-3ECB-4079-91FA-89D3C8A305C0}.Release|x86.ActiveCfg = Release|Win32 {C2082189-3ECB-4079-91FA-89D3C8A305C0}.Release|x86.Build.0 = Release|Win32 - {530890F8-CBCB-4DAB-BEDF-9FB667D0AFEE}.Debug|x64.ActiveCfg = Debug|x64 - {530890F8-CBCB-4DAB-BEDF-9FB667D0AFEE}.Debug|x64.Build.0 = Debug|x64 - {530890F8-CBCB-4DAB-BEDF-9FB667D0AFEE}.Debug|x86.ActiveCfg = Debug|Win32 - {530890F8-CBCB-4DAB-BEDF-9FB667D0AFEE}.Debug|x86.Build.0 = Debug|Win32 + {530890F8-CBCB-4DAB-BEDF-9FB667D0AFEE}.Debug|x64.ActiveCfg = Release|x64 + {530890F8-CBCB-4DAB-BEDF-9FB667D0AFEE}.Debug|x64.Build.0 = Release|x64 + {530890F8-CBCB-4DAB-BEDF-9FB667D0AFEE}.Debug|x86.ActiveCfg = Release|Win32 + {530890F8-CBCB-4DAB-BEDF-9FB667D0AFEE}.Debug|x86.Build.0 = Release|Win32 {530890F8-CBCB-4DAB-BEDF-9FB667D0AFEE}.Installer|x64.ActiveCfg = Release|x64 {530890F8-CBCB-4DAB-BEDF-9FB667D0AFEE}.Installer|x64.Build.0 = Release|x64 {530890F8-CBCB-4DAB-BEDF-9FB667D0AFEE}.Installer|x86.ActiveCfg = Release|Win32 diff --git a/MediaPoint_App/App.xaml b/MediaPoint_App/App.xaml index 3c97497..058c1f3 100644 --- a/MediaPoint_App/App.xaml +++ b/MediaPoint_App/App.xaml @@ -16,6 +16,8 @@ + + diff --git a/MediaPoint_App/AttachedProperties/ItemsControlDoubleClickMouseInputBinding.cs b/MediaPoint_App/AttachedProperties/ItemsControlDoubleClickMouseInputBinding.cs new file mode 100644 index 0000000..d78ed23 --- /dev/null +++ b/MediaPoint_App/AttachedProperties/ItemsControlDoubleClickMouseInputBinding.cs @@ -0,0 +1,104 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Input; + +namespace MediaPoint.App.AttachedProperties +{ + public class InputBindingCommandSetter + { + public static readonly DependencyProperty CommandProperty = + DependencyProperty.RegisterAttached("Command", + typeof(ICommand), typeof(InputBindingCommandSetter), new PropertyMetadata(new PropertyChangedCallback(CommandChanged))); + + private static void CommandChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) + { + SetCommand(d as InputBinding, (ICommand)e.NewValue); + } + + public static ICommand GetCommand(InputBinding element) + { + return (ICommand)element.GetValue(CommandProperty); + } + + public static void SetCommand(InputBinding element, ICommand value) + { + element.SetValue(CommandProperty, value); + element.Command = value; + } + } + + public class ItemsControlDoubleClickMouseInputBinding : DependencyObject + { + public ItemsControlDoubleClickMouseInputBinding() { } + + public static readonly DependencyProperty EnabledProperty = + DependencyProperty.RegisterAttached("Enabled", + typeof(bool), typeof(ItemsControlDoubleClickMouseInputBinding), new PropertyMetadata(new PropertyChangedCallback(EnabledChanged))); + + private static void EnabledChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) + { + SetEnabled(d as ItemsControl, (bool)e.NewValue); + } + + public static bool GetEnabled(ItemsControl element) + { + return (bool)element.GetValue(EnabledProperty); + } + + public static void SetEnabled(ItemsControl element, bool value) + { + element.SetValue(EnabledProperty, value); + + if (value) + { + element.PreviewMouseDoubleClick += element_PreviewMouseDoubleClick; + } + else + { + element.PreviewMouseDoubleClick -= element_PreviewMouseDoubleClick; + } + } + + public static readonly DependencyProperty RestrictToProperty = + DependencyProperty.RegisterAttached("RestrictTo", + typeof(string), typeof(ItemsControlDoubleClickMouseInputBinding)); + + public static string GetRestrictTo(ItemsControl element) + { + return (string)element.GetValue(RestrictToProperty); + } + + public static void SetRestrictTo(ItemsControl element, string value) + { + element.SetValue(RestrictToProperty, value); + } + + static void element_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e) + { + ItemsControl control = sender as ItemsControl; + + foreach (InputBinding b in control.InputBindings) + { + if (!(b is MouseBinding)) + { + continue; + } + + if (b.Gesture != null + && b.Gesture is MouseGesture + && ((MouseGesture)b.Gesture).MouseAction == MouseAction.LeftDoubleClick + && b.Command.CanExecute(null)) + { + b.Command.Execute(b.CommandParameter); + e.Handled = true; + } + } + } + + } +} diff --git a/MediaPoint_App/Behaviors/FullScreenBehavior.cs b/MediaPoint_App/Behaviors/FullScreenBehavior.cs index 3f0dbdc..8628e2f 100644 --- a/MediaPoint_App/Behaviors/FullScreenBehavior.cs +++ b/MediaPoint_App/Behaviors/FullScreenBehavior.cs @@ -10,6 +10,7 @@ using System.Windows.Interop; using System.Windows.Media; using MediaPoint.App.Extensions; +using MediaPoint.VM; namespace MediaPoint.App.Behaviors { @@ -162,12 +163,20 @@ private static void OnIsFullScreenChanged(DependencyObject sender, DependencyPro window.MaxHeight = Int32.MaxValue; window.MaxWidth = Int32.MaxValue; window.WindowState = WindowState.Maximized; + if (window.DataContext is Main) + { + (window.DataContext as Main).IsMaximized = true; + } } // if else { window.Topmost = false; window.WindowStyle = (WindowStyle)window.Tag; //WindowStyle.SingleBorderWindow; window.WindowState = WindowState.Normal; + if (window.DataContext is Main) + { + (window.DataContext as Main).IsMaximized = false; + } } // else } // if @@ -316,6 +325,7 @@ private void Window_MouseDoubleClick(object sender, MouseButtonEventArgs e) if (e.Handled == false) { var ics = (e.OriginalSource as UIElement).TryFindParent(typeof (ICommandSource)); + if (ics == null) ics = (e.OriginalSource as UIElement).TryFindParent(typeof(System.Windows.Controls.Primitives.Selector)); if (FullScreenOnDoubleClick && ics == null) { bool current = GetIsFullScreen(_wnd); diff --git a/MediaPoint_App/Behaviors/HyperlinkOpenAction.cs b/MediaPoint_App/Behaviors/HyperlinkOpenAction.cs index 65223ed..1d1d41c 100644 --- a/MediaPoint_App/Behaviors/HyperlinkOpenAction.cs +++ b/MediaPoint_App/Behaviors/HyperlinkOpenAction.cs @@ -19,6 +19,13 @@ protected override void Invoke(object parameter) { RequestNavigateEventArgs e = (RequestNavigateEventArgs)parameter; Uri u = (AssociatedObject as Hyperlink).NavigateUri; + + var w = Window.GetWindow(AssociatedObject as Hyperlink) as Window1; + if (FullScreenBehavior.GetIsFullScreen(w)) + { + FullScreenBehavior.SetIsFullScreen(w, false); + } + Process.Start(new ProcessStartInfo(u.AbsoluteUri)); e.Handled = true; } diff --git a/MediaPoint_App/Converters/FullscreenPaddingConverter.cs b/MediaPoint_App/Converters/FullscreenPaddingConverter.cs new file mode 100644 index 0000000..253bf20 --- /dev/null +++ b/MediaPoint_App/Converters/FullscreenPaddingConverter.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows; +using System.Windows.Data; +using System.Windows.Media; +using MediaPoint.Controls.Extensions; + +namespace MediaPoint.Converters +{ + public class FullscreenPaddingConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + var w = value as Window; + + if (w == null) return 0; + + Size actual = new Size(w.ActualWidth, w.ActualHeight); + var source = PresentationSource.FromVisual(w); + Matrix transformFromDevice = source.CompositionTarget.TransformFromDevice; + Size monitor = MediaPoint.Controls.Extensions.WindowExtensions.MonitorSize(ref w, transformFromDevice); + //w.Visibility = Visibility.Collapsed; + //w.Dispatcher.BeginInvoke((Action)(() => + //{ + + //}), System.Windows.Threading.DispatcherPriority.ContextIdle); + var s = actual.Difference(monitor); + //var ret2 = new Thickness(s.Width / 2, s.Height / 2, s.Width / 2, s.Height / 2); + //System.Diagnostics.Debug.WriteLine(ret2.ToString()); + return s.Width / 2; + } + + public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + return !(bool)value; + } + } +} diff --git a/MediaPoint_App/Converters/LanguageToFlagConverter.cs b/MediaPoint_App/Converters/LanguageToFlagConverter.cs new file mode 100644 index 0000000..0c4fbba --- /dev/null +++ b/MediaPoint_App/Converters/LanguageToFlagConverter.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Windows.Data; +using System.Windows.Media; +using System.Windows.Media.Imaging; + +namespace MediaPoint.Converters +{ + public class LanguageToFlagConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + if (value == null) return null; + + var uri = new Uri("pack://application:,,,/MediaPoint;component/Images/countryflags/" + value.ToString() + ".gif", UriKind.RelativeOrAbsolute); + return new BitmapImage(uri); + } + + public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + return null; + } + } +} diff --git a/MediaPoint_App/Images/countryflags/alb.gif b/MediaPoint_App/Images/countryflags/alb.gif new file mode 100644 index 0000000..c44fe0a Binary files /dev/null and b/MediaPoint_App/Images/countryflags/alb.gif differ diff --git a/MediaPoint_App/Images/countryflags/ara.gif b/MediaPoint_App/Images/countryflags/ara.gif new file mode 100644 index 0000000..6857c7d Binary files /dev/null and b/MediaPoint_App/Images/countryflags/ara.gif differ diff --git a/MediaPoint_App/Images/countryflags/bel.gif b/MediaPoint_App/Images/countryflags/bel.gif new file mode 100644 index 0000000..43ffcd4 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/bel.gif differ diff --git a/MediaPoint_App/Images/countryflags/bos.gif b/MediaPoint_App/Images/countryflags/bos.gif new file mode 100644 index 0000000..9bf5f0a Binary files /dev/null and b/MediaPoint_App/Images/countryflags/bos.gif differ diff --git a/MediaPoint_App/Images/countryflags/bul.gif b/MediaPoint_App/Images/countryflags/bul.gif new file mode 100644 index 0000000..11cf8ff Binary files /dev/null and b/MediaPoint_App/Images/countryflags/bul.gif differ diff --git a/MediaPoint_App/Images/countryflags/cat.gif b/MediaPoint_App/Images/countryflags/cat.gif new file mode 100644 index 0000000..57b4997 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/cat.gif differ diff --git a/MediaPoint_App/Images/countryflags/chi.gif b/MediaPoint_App/Images/countryflags/chi.gif new file mode 100644 index 0000000..b052530 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/chi.gif differ diff --git a/MediaPoint_App/Images/countryflags/cze.gif b/MediaPoint_App/Images/countryflags/cze.gif new file mode 100644 index 0000000..0a605e5 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/cze.gif differ diff --git a/MediaPoint_App/Images/countryflags/dan.gif b/MediaPoint_App/Images/countryflags/dan.gif new file mode 100644 index 0000000..03e75bd Binary files /dev/null and b/MediaPoint_App/Images/countryflags/dan.gif differ diff --git a/MediaPoint_App/Images/countryflags/dut.gif b/MediaPoint_App/Images/countryflags/dut.gif new file mode 100644 index 0000000..c1c8f46 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/dut.gif differ diff --git a/MediaPoint_App/Images/countryflags/eng.gif b/MediaPoint_App/Images/countryflags/eng.gif new file mode 100644 index 0000000..3c6bce1 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/eng.gif differ diff --git a/MediaPoint_App/Images/countryflags/est.gif b/MediaPoint_App/Images/countryflags/est.gif new file mode 100644 index 0000000..9397a2d Binary files /dev/null and b/MediaPoint_App/Images/countryflags/est.gif differ diff --git a/MediaPoint_App/Images/countryflags/fin.gif b/MediaPoint_App/Images/countryflags/fin.gif new file mode 100644 index 0000000..8d3a191 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/fin.gif differ diff --git a/MediaPoint_App/Images/countryflags/fre.gif b/MediaPoint_App/Images/countryflags/fre.gif new file mode 100644 index 0000000..43d0b80 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/fre.gif differ diff --git a/MediaPoint_App/Images/countryflags/ger.gif b/MediaPoint_App/Images/countryflags/ger.gif new file mode 100644 index 0000000..75728dd Binary files /dev/null and b/MediaPoint_App/Images/countryflags/ger.gif differ diff --git a/MediaPoint_App/Images/countryflags/gle.gif b/MediaPoint_App/Images/countryflags/gle.gif new file mode 100644 index 0000000..506ad28 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/gle.gif differ diff --git a/MediaPoint_App/Images/countryflags/gre.gif b/MediaPoint_App/Images/countryflags/gre.gif new file mode 100644 index 0000000..b4c8c04 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/gre.gif differ diff --git a/MediaPoint_App/Images/countryflags/heb.gif b/MediaPoint_App/Images/countryflags/heb.gif new file mode 100644 index 0000000..c8483ae Binary files /dev/null and b/MediaPoint_App/Images/countryflags/heb.gif differ diff --git a/MediaPoint_App/Images/countryflags/hin.gif b/MediaPoint_App/Images/countryflags/hin.gif new file mode 100644 index 0000000..1cd8027 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/hin.gif differ diff --git a/MediaPoint_App/Images/countryflags/hrv.gif b/MediaPoint_App/Images/countryflags/hrv.gif new file mode 100644 index 0000000..557c660 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/hrv.gif differ diff --git a/MediaPoint_App/Images/countryflags/hun.gif b/MediaPoint_App/Images/countryflags/hun.gif new file mode 100644 index 0000000..6142d86 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/hun.gif differ diff --git a/MediaPoint_App/Images/countryflags/ice.gif b/MediaPoint_App/Images/countryflags/ice.gif new file mode 100644 index 0000000..b42502d Binary files /dev/null and b/MediaPoint_App/Images/countryflags/ice.gif differ diff --git a/MediaPoint_App/Images/countryflags/ind.gif b/MediaPoint_App/Images/countryflags/ind.gif new file mode 100644 index 0000000..865161b Binary files /dev/null and b/MediaPoint_App/Images/countryflags/ind.gif differ diff --git a/MediaPoint_App/Images/countryflags/ita.gif b/MediaPoint_App/Images/countryflags/ita.gif new file mode 100644 index 0000000..d79e90e Binary files /dev/null and b/MediaPoint_App/Images/countryflags/ita.gif differ diff --git a/MediaPoint_App/Images/countryflags/jpn.gif b/MediaPoint_App/Images/countryflags/jpn.gif new file mode 100644 index 0000000..444c1d0 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/jpn.gif differ diff --git a/MediaPoint_App/Images/countryflags/kor.gif b/MediaPoint_App/Images/countryflags/kor.gif new file mode 100644 index 0000000..1cddbe7 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/kor.gif differ diff --git a/MediaPoint_App/Images/countryflags/lav.gif b/MediaPoint_App/Images/countryflags/lav.gif new file mode 100644 index 0000000..17e71b7 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/lav.gif differ diff --git a/MediaPoint_App/Images/countryflags/lit.gif b/MediaPoint_App/Images/countryflags/lit.gif new file mode 100644 index 0000000..dee9c60 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/lit.gif differ diff --git a/MediaPoint_App/Images/countryflags/mac.gif b/MediaPoint_App/Images/countryflags/mac.gif new file mode 100644 index 0000000..7aeb831 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/mac.gif differ diff --git a/MediaPoint_App/Images/countryflags/nor.gif b/MediaPoint_App/Images/countryflags/nor.gif new file mode 100644 index 0000000..6202d1f Binary files /dev/null and b/MediaPoint_App/Images/countryflags/nor.gif differ diff --git a/MediaPoint_App/Images/countryflags/per.gif b/MediaPoint_App/Images/countryflags/per.gif new file mode 100644 index 0000000..156040f Binary files /dev/null and b/MediaPoint_App/Images/countryflags/per.gif differ diff --git a/MediaPoint_App/Images/countryflags/pol.gif b/MediaPoint_App/Images/countryflags/pol.gif new file mode 100644 index 0000000..bf10646 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/pol.gif differ diff --git a/MediaPoint_App/Images/countryflags/por.gif b/MediaPoint_App/Images/countryflags/por.gif new file mode 100644 index 0000000..e735f74 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/por.gif differ diff --git a/MediaPoint_App/Images/countryflags/rum.gif b/MediaPoint_App/Images/countryflags/rum.gif new file mode 100644 index 0000000..f5d5f12 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/rum.gif differ diff --git a/MediaPoint_App/Images/countryflags/rus.gif b/MediaPoint_App/Images/countryflags/rus.gif new file mode 100644 index 0000000..b525c46 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/rus.gif differ diff --git a/MediaPoint_App/Images/countryflags/slo.gif b/MediaPoint_App/Images/countryflags/slo.gif new file mode 100644 index 0000000..1b3f22b Binary files /dev/null and b/MediaPoint_App/Images/countryflags/slo.gif differ diff --git a/MediaPoint_App/Images/countryflags/slv.gif b/MediaPoint_App/Images/countryflags/slv.gif new file mode 100644 index 0000000..23852b5 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/slv.gif differ diff --git a/MediaPoint_App/Images/countryflags/spa.gif b/MediaPoint_App/Images/countryflags/spa.gif new file mode 100644 index 0000000..c27d65e Binary files /dev/null and b/MediaPoint_App/Images/countryflags/spa.gif differ diff --git a/MediaPoint_App/Images/countryflags/srp.gif b/MediaPoint_App/Images/countryflags/srp.gif new file mode 100644 index 0000000..3bd1fb2 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/srp.gif differ diff --git a/MediaPoint_App/Images/countryflags/swe.gif b/MediaPoint_App/Images/countryflags/swe.gif new file mode 100644 index 0000000..80f6285 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/swe.gif differ diff --git a/MediaPoint_App/Images/countryflags/tha.gif b/MediaPoint_App/Images/countryflags/tha.gif new file mode 100644 index 0000000..0130792 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/tha.gif differ diff --git a/MediaPoint_App/Images/countryflags/tur.gif b/MediaPoint_App/Images/countryflags/tur.gif new file mode 100644 index 0000000..e407d55 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/tur.gif differ diff --git a/MediaPoint_App/Images/countryflags/ukr.gif b/MediaPoint_App/Images/countryflags/ukr.gif new file mode 100644 index 0000000..5d6cd83 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/ukr.gif differ diff --git a/MediaPoint_App/Images/countryflags/vie.gif b/MediaPoint_App/Images/countryflags/vie.gif new file mode 100644 index 0000000..f1e20c9 Binary files /dev/null and b/MediaPoint_App/Images/countryflags/vie.gif differ diff --git a/MediaPoint_App/MediaPoint_App.csproj b/MediaPoint_App/MediaPoint_App.csproj index 4fc624f..b55f0b8 100644 --- a/MediaPoint_App/MediaPoint_App.csproj +++ b/MediaPoint_App/MediaPoint_App.csproj @@ -22,7 +22,7 @@ true full false - ..\output\obj\ + ..\output\obj\ ..\output\bin\x86\ DEBUG;TRACE prompt @@ -33,7 +33,7 @@ x86 pdbonly true - ..\output\obj\ + ..\output\obj\ ..\output\bin\x86\ TRACE prompt @@ -42,7 +42,7 @@ true - ..\output\obj\ + ..\output\obj\ ..\output\ DEBUG;TRACE full @@ -59,7 +59,7 @@ false - ..\output\obj\ + ..\output\obj\ ..\output\ TRACE true @@ -77,7 +77,7 @@ true - ..\output\obj\ + ..\output\obj\ ..\output\bin\x64\ DEBUG;TRACE full @@ -93,7 +93,7 @@ 1607 - ..\output\obj\ + ..\output\obj\ ..\output\bin\x64\ TRACE true @@ -175,6 +175,7 @@ + @@ -187,6 +188,8 @@ + + @@ -236,6 +239,28 @@ Settings.Designer.cs + + + + + + + + + + + + + + + + + + + + + + @@ -271,12 +296,35 @@ + + + + + + + + + + + + + + + + + + + + + + PreserveNewest PreserveNewest + PreserveNewest diff --git a/MediaPoint_App/Themes/default/Images/loading.gif b/MediaPoint_App/Themes/default/Images/loading.gif new file mode 100644 index 0000000..5b40de5 Binary files /dev/null and b/MediaPoint_App/Themes/default/Images/loading.gif differ diff --git a/MediaPoint_App/Themes/default/style.xaml b/MediaPoint_App/Themes/default/style.xaml index 9a34ad1..7b80dac 100644 --- a/MediaPoint_App/Themes/default/style.xaml +++ b/MediaPoint_App/Themes/default/style.xaml @@ -24,6 +24,7 @@ + @@ -126,7 +127,7 @@ - + @@ -343,7 +344,7 @@ - + + + + + + + + + + + + + + + + + + + + + @@ -510,11 +525,181 @@ + +