提交 f2c6e3c4 authored 作者: Mitch Capper's avatar Mitch Capper

Much nicer interface, no need to be on a call to add a transfer Alias

上级 0b0ea229
...@@ -112,7 +112,9 @@ ...@@ -112,7 +112,9 @@
<StackPanel x:Name="topButtons" Orientation="Horizontal" Canvas.Left="8" Canvas.Top="93"> <StackPanel x:Name="topButtons" Orientation="Horizontal" Canvas.Left="8" Canvas.Top="93">
<Button Content="Talk" Height="20" x:Name="btnCall" Width="50" Click="btnCall_Click" Style="{DynamicResource GlassButtonStyle}" Foreground="#FF4EFF00" FontWeight="Bold" /> <Button Content="Talk" Height="20" x:Name="btnCall" Width="50" Click="btnCall_Click" Style="{DynamicResource GlassButtonStyle}" Foreground="#FF4EFF00" FontWeight="Bold" />
<Button Content="Hold" FontWeight="Bold" Foreground="White" Height="20" IsEnabled="False" x:Name="btnHold" Style="{DynamicResource GlassButtonStyle}" Width="40" Click="btnHold_Click" Margin="5,0,0,0" /> <Button Content="Hold" FontWeight="Bold" Foreground="White" Height="20" IsEnabled="False" x:Name="btnHold" Style="{DynamicResource GlassButtonStyle}" Width="40" Click="btnHold_Click" Margin="5,0,0,0" />
<Border BorderThickness="0" Name="borderTransfer" >
<Button Content="XFER" FontWeight="Bold" Foreground="White" Height="20" Width="40" x:Name="btnTransfer" Style="{DynamicResource GlassButtonStyle}" IsEnabled="False" Margin="25,0,0,0" Click="btnTransfer_Click" /> <Button Content="XFER" FontWeight="Bold" Foreground="White" Height="20" Width="40" x:Name="btnTransfer" Style="{DynamicResource GlassButtonStyle}" IsEnabled="False" Margin="25,0,0,0" Click="btnTransfer_Click" />
</Border>
<Button Content="End" Height="20" HorizontalAlignment="Left" x:Name="btnHangup" Width="50" Click="btnHangup_Click" Style="{DynamicResource GlassButtonStyle}" Foreground="#FFF50000" Background="{x:Null}" BorderBrush="{x:Null}" FontWeight="Bold" IsEnabled="False" Margin="5,0,0,0" /> <Button Content="End" Height="20" HorizontalAlignment="Left" x:Name="btnHangup" Width="50" Click="btnHangup_Click" Style="{DynamicResource GlassButtonStyle}" Foreground="#FFF50000" Background="{x:Null}" BorderBrush="{x:Null}" FontWeight="Bold" IsEnabled="False" Margin="5,0,0,0" />
</StackPanel> </StackPanel>
......
...@@ -282,6 +282,7 @@ namespace FSClient { ...@@ -282,6 +282,7 @@ namespace FSClient {
} }
ResizeForm(); ResizeForm();
btnTransfer.ContextMenu = broker.XFERContextMenu(); btnTransfer.ContextMenu = broker.XFERContextMenu();
borderTransfer.ContextMenu = broker.XFERContextMenu();
} }
void MainWindow_MouseUp(object sender, MouseButtonEventArgs e) { void MainWindow_MouseUp(object sender, MouseButtonEventArgs e) {
......
...@@ -72,44 +72,50 @@ namespace FSClient ...@@ -72,44 +72,50 @@ namespace FSClient
} }
public override void XFERRightClickMenu(Call call, ContextMenu menu) { public override void XFERRightClickMenu(Call call, ContextMenu menu) {
MenuItem item; MenuItem item;
bool on_call = call != null;
foreach (KeyValuePair<string, string> kvp in number_to_xfer) { foreach (KeyValuePair<string, string> kvp in number_to_xfer) {
item = new MenuItem(); item = new MenuItem();
String num = kvp.Key; String num = kvp.Key;
item.MouseDoubleClick += (s, e) => { menu.IsOpen=false;call.Transfer(num); }; if (on_call){
item.Click += (s, e) =>{
menu.IsOpen = false;
call.Transfer(num);
};
}
item.Header = kvp.Value + " (" + num + ")"; item.Header = kvp.Value + " (" + num + ")";
menu.Items.Add(item); menu.Items.Add(item);
MenuItem sub_item = new MenuItem(); MenuItem sub_item = new MenuItem();
sub_item.Click += (s, e) => call.Transfer(num); if (!on_call){
sub_item.Header = "Transfer";
sub_item.DataContext = kvp;
item.Items.Add(sub_item);
sub_item = new MenuItem();
sub_item.Click += edit_xfer_click; sub_item.Click += edit_xfer_click;
sub_item.Header = "Edit XFER"; sub_item.Header = "Edit Alias";
sub_item.DataContext = kvp; sub_item.DataContext = kvp;
item.Items.Add(sub_item); item.Items.Add(sub_item);
if (CanDeleteContact()) { if (CanDeleteContact()){
sub_item = new MenuItem(); sub_item = new MenuItem();
sub_item.Click += del_xfer_click; sub_item.Click += del_xfer_click;
sub_item.Header = "Delete XFER"; sub_item.Header = "Delete Alias";
sub_item.DataContext = kvp; sub_item.DataContext = kvp;
item.Items.Add(sub_item); item.Items.Add(sub_item);
} }
} }
}
if (!on_call){
item = new MenuItem(); item = new MenuItem();
item.Click += add_xfer_click; item.Click += add_xfer_click;
item.Header = "Add XFER"; item.Header = "Add Transfer Alias";
menu.Items.Add(item); menu.Items.Add(item);
}
ModifyXFERRightClickMenu(call, menu); ModifyXFERRightClickMenu(call, menu);
} }
private void add_xfer_click(object sender, RoutedEventArgs e){ private void add_xfer_click(object sender, RoutedEventArgs e){
String number = InputBox.GetInput("Adding XFER", "What number should the transfer go to?", ""); String number = InputBox.GetInput("Adding Transfer Alias", "What number should the transfer go to?", "");
number = IsValidXFERNumber(number); number = IsValidXFERNumber(number);
if (String.IsNullOrWhiteSpace(number)) if (String.IsNullOrWhiteSpace(number))
return; return;
String alias = InputBox.GetInput("Editing XFER", "Edit xfer alias for number: " + number, ""); String alias = InputBox.GetInput("Adding Transfer Alias", "Alias for transfer number: " + number, "");
alias = IsValidAlias(alias); alias = IsValidAlias(alias);
if (String.IsNullOrWhiteSpace(alias)) if (String.IsNullOrWhiteSpace(alias))
return; return;
...@@ -131,7 +137,7 @@ namespace FSClient ...@@ -131,7 +137,7 @@ namespace FSClient
return; return;
KeyValuePair<string, string> kvp = (KeyValuePair<string, string>)item.DataContext; KeyValuePair<string, string> kvp = (KeyValuePair<string, string>)item.DataContext;
String number = kvp.Key; String number = kvp.Key;
String alias = InputBox.GetInput("Editing XFER", "Edit xfer alias for number: " + number, kvp.Value); String alias = InputBox.GetInput("Editing XFER", "Edit transfer alias for number: " + number, kvp.Value);
alias = IsValidAlias(alias); alias = IsValidAlias(alias);
if (alias == null) if (alias == null)
return; return;
......
Markdown 格式
0% 或
您添加了 0 人 到此讨论。请谨慎行事。
请先完成此评论的编辑!
请 注册 或者 后发表评论