Exemple #1
0
        private void CallStateChangedHandler(object sender, Call.CallPropertyEventArgs args)
        {
            if (args.call.state == Call.CALL_STATE.Ringing && !args.call.is_outgoing)
            {
                if (IncomingTopMost)
                {
                    MainWindow.get_instance().BringToFront();
                }
                if (IncomingBalloons && !DND)
                {
                    IncomingCallNotification.ShowCallNotification(args.call);
                    if (Call.active_call != args.call && Call.active_call != null)
                    {
                        HandleCallWaiting(null, args.call);
                    }
                }
                else if (IncomingKeyboardFocus)
                {
                    Utils.SetForegroundWindow(MainWindow.get_instance());
                }
            }
            if (DND && args.call != null && args.call.is_outgoing == false && args.call.state == Call.CALL_STATE.Ringing)
            {
                args.call.hangup("Call ignored due to DND");
            }
            if (args.call != null && args.call.call_ended && ClearDTMFS)
            {
                args.call.dtmfs = "";
            }

            DelayedFunction.DelayedCall("broker_updatestatus", UpdateStatus, 500);
        }
 private void CallStateChanged(object sender, Call.CallPropertyEventArgs e)
 {
     listCalls.Items.SortDescriptions.Clear();
     listCalls.Items.SortDescriptions.Add(new SortDescription("sort_order", ListSortDirection.Descending));
 }