Merge branch 'master' of ssh://float.beyondsoft.de/git/beyondSoft/Chat

# Conflicts:
#	PrototypChat/MainWindow.xaml
This commit is contained in:
Christian
2017-09-18 13:16:15 +02:00
6 changed files with 122 additions and 42 deletions

View File

@@ -8,8 +8,8 @@
d:DesignHeight="300" d:DesignWidth="300" >
<Grid>
<GroupBox Header="Chat" x:Name="rootGroupBox" >
<!--MouseLeftButtonDown="RootGroupBox_OnMouseLeftButtonDown"Style="{DynamicResource MainContentGroupBoxWithoutMaximizeBtnStyle}"-->
<GroupBox Header="Chat" x:Name="rootGroupBox">
<!--Style="{DynamicResource MainContentGroupBoxWithoutMaximizeBtnStyle}"-->
<Grid >
<!--Background="{StaticResource ObjectEditBackgroundBrush}"-->
<Grid.ColumnDefinitions>
@@ -252,13 +252,13 @@
<!-- Bild bereich-->
<DockPanel DockPanel.Dock="Bottom" Visibility="{Binding PictureVisibility}" >
<StackPanel Orientation="Vertical">
<Image Stretch="Uniform" MaxHeight="200" MaxWidth="300" Source="{Binding ImageSources}" RenderOptions.BitmapScalingMode="HighQuality" />
<Image Stretch="Uniform" MaxHeight="200" MaxWidth="300" Source="{Binding ImageSources}" RenderOptions.BitmapScalingMode="HighQuality" />
<!--<TextBlock Text="{Binding UserMessage}" VerticalAlignment="Center" HorizontalAlignment="Center"/>-->
</StackPanel>
</DockPanel>
<!-- Gif BEreich ??
<!-- Gif BEreich ?? <MediaElement Source="" ></MediaElement> villeicht gif erstmal runterladen und dann den pfad ausgeben ? 200
<DockPanel DockPanel.Dock="Bottom" Visibility="{Binding GifPictureVisibility}" >
<StackPanel Orientation="Vertical">
<MediaElement LoadedBehavior="Play" UnloadedBehavior="Manual" MediaFailed="MediaElement_OnMediaFailed" MediaEnded="MediaElement_OnMediaEnded" Source="{Binding UserMessage}" Stretch="Uniform" MaxHeight="200" MaxWidth="300" >
@@ -319,9 +319,9 @@
<Grid Grid.Column="0" Grid.ColumnSpan="2" MinHeight="25">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="9.5*"/>
<ColumnDefinition Width=".5*"/>
<ColumnDefinition Width=".5*"/>
<ColumnDefinition Width="9*"/>
<ColumnDefinition Width="30"/>
<ColumnDefinition Width="30"/>
</Grid.ColumnDefinitions>
<TextBox x:Name="Chatbox" HorizontalAlignment="Stretch" Grid.Column="0" Grid.ColumnSpan="3" TextWrapping="Wrap" Text="Nachricht schreiben" VerticalScrollBarVisibility="Hidden" MaxLines="5" MaxHeight="70" Visibility="Visible"
@@ -329,17 +329,19 @@
<TextBox.Resources>
<Style TargetType="{x:Type Border}">
<Setter Property="CornerRadius" Value="3"/>
<Setter Property="Padding" Value="10,0,55,0" />
<Setter Property="Padding" Value="10,0,60,0" />
</Style>
</TextBox.Resources>
</TextBox>
<Button Grid.Column="1" Style="{x:Null}" Height="25" Width="25" Background="Transparent" BorderThickness="0" Margin="1,0,0,0" VerticalAlignment="Bottom" ToolTip="Datei einfügen" Click="MediaButton_OnClick">
<Button Grid.Column="1" Style="{x:Null}" Height="25" Background="Transparent" BorderThickness="0" Margin="1,0,0,0" VerticalAlignment="Bottom" ToolTip="Datei einfügen" Click="MediaButton_OnClick" >
<Image Height="15" Width="15" Source='pack://application:,,,/ChatController;component/Ressourcen/paperclip.png' Margin="3" RenderOptions.BitmapScalingMode="HighQuality" HorizontalAlignment="Right"/>
</Button>
<Button Grid.Column="2" Style="{x:Null}" Height="25" Width="25" Background="Transparent" BorderThickness="0" x:Name="EmojiButton" Margin="1,0,0,0" VerticalAlignment="Bottom" ToolTip="Emoji einfügen" Click="EmojiButton_OnClick">
<Button Grid.Column="2" Style="{x:Null}" Height="25" Background="Transparent" BorderThickness="0" x:Name="EmojiButton" Margin="2,0,0,0" VerticalAlignment="Bottom" ToolTip="Emoji einfügen" Click="EmojiButton_OnClick">
<Image Height="15" Width="15" Source='pack://application:,,,/ChatController;component/Ressourcen/glucklicher.png' Margin="3" RenderOptions.BitmapScalingMode="HighQuality" HorizontalAlignment="Right"/>
</Button>
</Grid>

View File

@@ -171,12 +171,15 @@ namespace ChatController
EndWaiting();
}
}
#endregion
#region Context Menue
//ab Hier Kontext Menü
private void SetContextHandler()
{
var contextItems = Chat.ContextMenu.Items;
foreach (var menuItemText in menuItemName2Callback.Keys)
{
var cb = menuItemName2Callback[menuItemText];
@@ -193,15 +196,20 @@ namespace ChatController
}
var item2 = (MenuItem)contextItems[0];
item2.Click += Item2OnClick;
item2.Click += Item2OnClick; // umbenenen in Speichern unter
var item3 = (MenuItem)contextItems[1];
item3.Click += Item3OnClick;
item3.Click += Item3OnClick; //Umbenenen in Einfügen
// neu und vor Einfügen setzen und anpassen
var item4 = (MenuItem) contextItems[2];
item4.Click += Item4OnClick; //Umbenenen in Kopieren
}
public delegate void ContextDelegate();
public event ContextDelegate CreateNewContextItems;
private void Item2OnClick(object sender, RoutedEventArgs routedEventArgs)
{
foreach (var items in Chat.SelectedItems)
@@ -215,9 +223,23 @@ namespace ChatController
private void Item3OnClick(object sender, RoutedEventArgs routedEventArgs)
{
var kontakt = (AktuellerKontakt)AktChatUser.Items[0];
_chat.Einfuegen(kontakt.GroupId);
_chat.Einfuegen(kontakt.GroupId);
}
private void Item4OnClick(object sender, RoutedEventArgs routedEventArgs)
{
string chatmessages = "";
foreach (var items in Chat.SelectedItems)
{
var item = (KontaktMessageBuilder)items;
chatmessages += item.UserMessage + "\n";
}
if(!chatmessages.Equals(""))
_chat.Kopieren(chatmessages, 1);
}
private void Chat_OnContextMenuOpening(object sender, ContextMenuEventArgs e)
{
var chatItems = Chat.SelectedItems;
@@ -239,6 +261,21 @@ namespace ChatController
var ContextItemSpeichernUnter = (MenuItem)contextItems[0];
ContextItemSpeichernUnter.Visibility = Visibility.Collapsed;
}
if (item.ImageSources == null && item.Dokpfad == null)
{
var contextItems = Chat.ContextMenu.Items;
var ContextItemSpeichernUnter = (MenuItem) contextItems[2];
ContextItemSpeichernUnter.Visibility = Visibility.Visible;
}
else
{
var contextItems = Chat.ContextMenu.Items;
var ContextItemSpeichernUnter = (MenuItem)contextItems[2];
ContextItemSpeichernUnter.Visibility = Visibility.Collapsed;
}
}
}
else
@@ -252,8 +289,8 @@ namespace ChatController
//prüfe ob was in dem Speicher vorhanden ist //Einfügen
var d = System.Windows.Forms.Clipboard.GetDataObject();
if (d.GetDataPresent(DataFormats.FileDrop) )
if (d.GetDataPresent(DataFormats.FileDrop))
{
var contextItems = Chat.ContextMenu.Items;
var ContextItemSpeichernUnter = (MenuItem)contextItems[1];
@@ -276,27 +313,28 @@ namespace ChatController
var contextItems = Chat.ContextMenu.Items;
var ContextItemSpeichernUnter = (MenuItem)contextItems[1];
ContextItemSpeichernUnter.Visibility = Visibility.Collapsed;
}
}
//prüfe ob dokumentation erlaubt
var kontakt = (AktuellerKontakt)AktChatUser.Items[0];
if (kontakt.CustomerPersonOid == null && Chat.ContextMenu.Items.Count > 2)
if (kontakt.CustomerPersonOid == null && Chat.ContextMenu.Items.Count > 3)
{
var contextItems = Chat.ContextMenu.Items;
var ContextItemSpeichernUnter = (MenuItem)contextItems[2];
var ContextItemSpeichernUnter = (MenuItem)contextItems[3];
ContextItemSpeichernUnter.Visibility = Visibility.Collapsed;
}
else if(Chat.ContextMenu.Items.Count > 2)
else if (Chat.ContextMenu.Items.Count > 3)
{
var contextItems = Chat.ContextMenu.Items;
var ContextItemSpeichernUnter = (MenuItem)contextItems[2];
var ContextItemSpeichernUnter = (MenuItem)contextItems[3];
ContextItemSpeichernUnter.Visibility = Visibility.Visible;
}
if (Chat.ContextMenu.Items.Count == 0)
{
Chat.ContextMenu.Visibility =Visibility.Collapsed;
Chat.ContextMenu.Visibility = Visibility.Collapsed;
}
}
@@ -308,7 +346,6 @@ namespace ChatController
menuItemName2Callback.Add(menuItemText, callBackAction);
}
}
#endregion
#region Sende Media Nachrichten
@@ -830,5 +867,6 @@ namespace ChatController
#endregion
}
}

View File

@@ -21,6 +21,7 @@ using System.Windows.Media.Imaging;
using ChatController.ChatKlassen;
using ChatController.Klassen;
using Newtonsoft.Json;
using Clipboard = System.Windows.Forms.Clipboard;
using ContextMenu = System.Windows.Controls.ContextMenu;
using DataFormats = System.Windows.Forms.DataFormats;
using Image = System.Windows.Controls.Image;
@@ -1004,24 +1005,30 @@ namespace ChatController.HauptKlassen
{
ContextMenu context = new ContextMenu();
System.Windows.Controls.MenuItem item1 = new System.Windows.Controls.MenuItem();
System.Windows.Controls.MenuItem item2 = new System.Windows.Controls.MenuItem();
System.Windows.Controls.MenuItem item1 = new System.Windows.Controls.MenuItem(); // jeweils umbenenen Speichern unter
System.Windows.Controls.MenuItem item2 = new System.Windows.Controls.MenuItem(); // Einfügen
System.Windows.Controls.MenuItem item3 = new System.Windows.Controls.MenuItem(); // Kopieren
context.Items.Add(item1);
context.Items.Add(item2);
context.Items.Add(item3);
item1.Header = "Speichern unter";
item1.Visibility = Visibility.Visible;
item2.Header = "Einfügen";
item2.Visibility = Visibility.Visible;
item3.Header = "Kopieren";
item3.Visibility = Visibility.Visible;
//Image icon = new Image();
//icon.Source = new BitmapImage(new Uri(@"..\..\Ressource\ClipboardDisabled.png", UriKind.Relative));
//icon.Height = 16;
//icon.Width = 16;//(new Size(16, 16));
//item1.Icon = icon;
return context;
}
@@ -1182,6 +1189,29 @@ namespace ChatController.HauptKlassen
}
#endregion
#region Kopierne der Dinger im Chat für Alle Bereiche
public void Kopieren(object data, int typ)
{
if (typ == 1) // Text
{
Clipboard.SetData(DataFormats.Text, data);
}
if (typ == 2) // Bild
{
Clipboard.SetData(DataFormats.Bitmap, data);
}
if (typ == 3) //Dokument
{
Clipboard.SetData(DataFormats.FileDrop, data);
}
}
#endregion
#endregion
#region Zeige Kontakt Bild / hat noch probleme -> Show Kontakt

View File

@@ -8,9 +8,6 @@
mc:Ignorable="d" WindowStartupLocation="CenterScreen"
Title="ownChat Desktop" Height="700" Width="900" x:Name="MainView">
<Grid>
<cc:ChatMainControl x:Name="ChatMainControl" OnEmojii="ChatMainControl_OnOnEmojii" ></cc:ChatMainControl>
<cc:ChatMainControl x:Name="ChatMainControl" OnEmojii="ChatMainControl_OnOnEmojii" ></cc:ChatMainControl>
</Grid>
</Window>

View File

@@ -71,8 +71,10 @@ namespace ownChat
ChatMainControl.InitMitChatdaten(x);
//ChatMainControl.AddContextMenu("In Dokumentation übernehmen", ChatMainControl_OnClickContextMenuItem);
CloseWindow();
}
private void ChatMainControl_OnOnEmojii(System.Windows.Controls.Button emojiButton)
@@ -83,8 +85,8 @@ namespace ownChat
var x = emojiButton.PointToScreen(new Point(0, 0));
PresentationSource source = PresentationSource.FromVisual(emojiButton);
_emojiView.Top = (x.Y / source.CompositionTarget.TransformToDevice.M22) - _emojiView.Height - 5;
_emojiView.Left = x.X / source.CompositionTarget.TransformToDevice.M11;
_emojiView.Top = (x.Y / source.CompositionTarget.TransformToDevice.M22) - _emojiView.Height - 5; //- 5
_emojiView.Left = (x.X / source.CompositionTarget.TransformToDevice.M11) - 270; //x.X / source.CompositionTarget.TransformToDevice.M11
_emojiView.Show();
@@ -102,8 +104,8 @@ namespace ownChat
var x = emojiButton.PointToScreen(new Point(0, 0));
PresentationSource source = PresentationSource.FromVisual(emojiButton);
_emojiView.Top = (x.Y / source.CompositionTarget.TransformToDevice.M22) - _emojiView.Height - 5;
_emojiView.Left = x.X / source.CompositionTarget.TransformToDevice.M11;
_emojiView.Top = (x.Y / source.CompositionTarget.TransformToDevice.M22) - _emojiView.Height - 5; //- 5
_emojiView.Left = (x.X / source.CompositionTarget.TransformToDevice.M11) - 270; //x.X / source.CompositionTarget.TransformToDevice.M11
}
}
}
@@ -111,8 +113,19 @@ namespace ownChat
//private void ChatMainControl_OnClickContextMenuItem(String menuItem)
//{
//}
//geht nicht
public void CloseWindow()
{
CommandBindings.Add(new CommandBinding(ApplicationCommands.Close, (s, e) =>
{
MessageBox.Show("Schließe mich jetzt ");
_emojiView = null;
}));
}
}
}