提交 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 @@
<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="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" />
</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" />
</StackPanel>
......
......@@ -282,6 +282,7 @@ namespace FSClient {
}
ResizeForm();
btnTransfer.ContextMenu = broker.XFERContextMenu();
borderTransfer.ContextMenu = broker.XFERContextMenu();
}
void MainWindow_MouseUp(object sender, MouseButtonEventArgs e) {
......
......@@ -72,44 +72,50 @@ namespace FSClient
}
public override void XFERRightClickMenu(Call call, ContextMenu menu) {
MenuItem item;
bool on_call = call != null;
foreach (KeyValuePair<string, string> kvp in number_to_xfer) {
item = new MenuItem();
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 + ")";
menu.Items.Add(item);
MenuItem sub_item = new MenuItem();
sub_item.Click += (s, e) => call.Transfer(num);
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.Header = "Edit XFER";
sub_item.DataContext = kvp;
item.Items.Add(sub_item);
if (CanDeleteContact()) {
sub_item = new MenuItem();
sub_item.Click += del_xfer_click;
sub_item.Header = "Delete XFER";
if (!on_call){
sub_item.Click += edit_xfer_click;
sub_item.Header = "Edit Alias";
sub_item.DataContext = kvp;
item.Items.Add(sub_item);
if (CanDeleteContact()){
sub_item = new MenuItem();
sub_item.Click += del_xfer_click;
sub_item.Header = "Delete Alias";
sub_item.DataContext = kvp;
item.Items.Add(sub_item);
}
}
}
item = new MenuItem();
item.Click += add_xfer_click;
item.Header = "Add XFER";
menu.Items.Add(item);
if (!on_call){
item = new MenuItem();
item.Click += add_xfer_click;
item.Header = "Add Transfer Alias";
menu.Items.Add(item);
}
ModifyXFERRightClickMenu(call, menu);
}
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);
if (String.IsNullOrWhiteSpace(number))
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);
if (String.IsNullOrWhiteSpace(alias))
return;
......@@ -131,7 +137,7 @@ namespace FSClient
return;
KeyValuePair<string, string> kvp = (KeyValuePair<string, string>)item.DataContext;
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);
if (alias == null)
return;
......
Markdown 格式
0% 或
您添加了 0 人 到此讨论。请谨慎行事。
请先完成此评论的编辑!
请 注册 或者 后发表评论