Exemple #1
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                Mouse.OverrideCursor = Cursors.Wait;

                ApplicationViewModel.Current = new ApplicationViewModel(ChatProxyFactory.CreateChatProxy(txtUsername.Text, new UserSettingsNicknameService(), new UserSettingsTagService()));

                Application.Current.MainWindow = new MainWindow
                {
                    DataContext = ApplicationViewModel.Current
                };

                Application.Current.MainWindow.Show();
                Close();
            }
            catch (ChatUserLoginException ex)
            {
                Mouse.OverrideCursor = null;
                MedConfigMessageBox.ShowError(ex.Message);
#if !DEBUG
                Application.Current.Shutdown();
#endif
            }
            finally
            {
                Mouse.OverrideCursor = null;
            }
        }
Exemple #2
0
        internal void Import(string settingsFilePath)
        {
            if (!File.Exists(settingsFilePath))
            {
                throw new FileNotFoundException();
            }

            try
            {
                // Open settings file as XML
                var import = XDocument.Load(settingsFilePath);
                // Get the <setting> elements
                var settings = import.XPathSelectElements("//setting");
                foreach (var setting in settings)
                {
                    string name  = setting.Attribute("name").Value;
                    string value = setting.XPathSelectElement("value").FirstNode?.ToString();

                    if (value == null)
                    {
                        value = string.Empty;
                    }
                    ;

                    try
                    {
                        Type          t             = this[name].GetType();
                        TypeConverter typeConverter = TypeDescriptor.GetConverter(this[name].GetType());

                        if (typeConverter.CanConvertFrom(typeof(string)))
                        {
                            this[name] = typeConverter.ConvertFrom(value);
                        }
                        else
                        {
                            XmlSerializer s = new XmlSerializer(t);
                            using (TextReader reader = new StringReader(value))
                            {
                                object xmlValue = s.Deserialize(reader);
                                this[name] = xmlValue;
                            }
                        }
                    }
                    catch (SettingsPropertyNotFoundException)
                    {
                    }
                }
                OnPropertyChanged(this, new PropertyChangedEventArgs(string.Empty));
            }
            catch (Exception)
            {
                MedConfigMessageBox.ShowError("Invalid Configuration File");
                Reload();
            }
        }
Exemple #3
0
 private void MenuItem_Click_1(object sender, RoutedEventArgs e)
 {
     try
     {
         var src = GetImage(itemsControl);
         Clipboard.SetImage(src);
     }
     catch (Exception ex)
     {
         MedConfigMessageBox.ShowError(ex.Message);
     }
 }
        void ImageUrlChatMessageDataTemplate_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            try
            {
                Mouse.OverrideCursor = Cursors.Wait;

                ImageUrlChatMessage urlMessage = (sender as Image).DataContext as ImageUrlChatMessage;
                if (urlMessage != null)
                {
                    Process.Start(urlMessage.ImageUrl);
                }
            }
            catch (Exception ex)
            {
                MedConfigMessageBox.ShowError(ex.Message);
            }
            finally
            {
                Mouse.OverrideCursor = null;
            }
        }
Exemple #5
0
        private static UIElement CreateHyperlink(string url)
        {
            TextBlock txt = new TextBlock
            {
                Text            = url,
                ToolTip         = url,
                Cursor          = Cursors.Hand,
                TextDecorations = System.Windows.TextDecorations.Underline,
                TextWrapping    = TextWrapping.Wrap,
            };

            txt.PreviewMouseLeftButtonDown += (sender, args) =>
            {
                try
                {
                    Process.Start((sender as TextBlock).Text);
                }
                catch (Exception ex)
                {
                    MedConfigMessageBox.ShowError(ex.Message);
                }
            };
            txt.ContextMenu = new ContextMenu();
            MenuItem clickMenuItem = new MenuItem()
            {
                Header = "Copy Url"
            };

            clickMenuItem.Click += (y, z) =>
            {
                Clipboard.SetText((((y as MenuItem).Parent as ContextMenu).PlacementTarget as TextBlock).Text);
            };
            Grid grid = new Grid();

            grid.Children.Add(txt);
            grid.ToolTip = url;
            txt.ContextMenu.Items.Add(clickMenuItem);
            return(grid);
        }
 void MouseButtonDown(object sender, MouseButtonEventArgs e)
 {
     if (e.LeftButton == MouseButtonState.Pressed)
     {
         string url = string.Empty;
         if (sender is FrameworkElement)
         {
             url = ((sender as FrameworkElement).DataContext as HyperlinkChatMessage).Url;
         }
         else if (sender is Run)
         {
             url = (sender as Run).Text;
         }
         try
         {
             Process.Start(url);
         }
         catch (Exception ex)
         {
             MedConfigMessageBox.ShowError(ex.Message);
         }
     }
 }
Exemple #7
0
        private void MenuItem_Click(object sender, RoutedEventArgs e)
        {
            SaveFileDialog dlg = new SaveFileDialog();

            dlg.AddExtension     = true;
            dlg.Filter           = "PNG|*.png";
            dlg.InitialDirectory = @"\\one-021619\Share\HylandMedConfig\Whiteboards";
            dlg.FileName         = Message.ID.ToString();
            if (dlg.ShowDialog() ?? false)
            {
                try
                {
                    var src = GetImage(itemsControl);
                    using (FileStream fileStream = new FileStream(dlg.FileName, FileMode.OpenOrCreate))
                    {
                        SaveAsPng(src, fileStream);
                    }
                }
                catch (Exception ex)
                {
                    MedConfigMessageBox.ShowError(ex.Message);
                }
            }
        }