Пример #1
0
        private void learnIRCommandToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (_LearnIrFunc == null)
            {
                return;
            }

            IREditor learnIR = new IREditor(_LearnIrFunc, _BlastFunc, IRServer.Ports);

            learnIR.ShowDialog(this);
            RefreshBlastList(learnIR.BlastName);
        }
Пример #2
0
        private void learnIRCommandToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (_LearnIrFunc == null) return;

            IREditor learnIR = new IREditor(_LearnIrFunc, _BlastFunc, IRServer.Ports);
            learnIR.ShowDialog(this);
            RefreshBlastList(learnIR.BlastName);
        }
Пример #3
0
        // --------------------------------------------------------------------------------------------------
        #region Command Forms calls

        /// <summary>
        /// Show the configuration window for the specified command without its arguments.
        /// </summary>
        /// <param name="cmdName">Command name to be configured. (Default: take the one selected in the command-list)</param>
        /// <returns>command with its arguments, or null if cancel or error</returns>
        public string CommandFetch(string cmdName=null, bool modify=false)
        {
            string newCommand = null;
            if (cmdName == null)   cmdName = SelectedCommand;
            if (cmdName == null)   return newCommand;

            try
            {

                if (cmdName.Equals(Common.UITextIf, StringComparison.OrdinalIgnoreCase))
                {
                    IfCommand ifCommand = new IfCommand();
                    if (ifCommand.ShowDialog(this) == DialogResult.OK)
                        newCommand = Common.CmdPrefixIf + ifCommand.CommandString;
                }
                else if (cmdName.Equals(Common.UITextLabel, StringComparison.OrdinalIgnoreCase))
                {
                    LabelNameDialog labelDialog = new LabelNameDialog();
                    if (labelDialog.ShowDialog(this) == DialogResult.OK)
                        newCommand = Common.CmdPrefixLabel + labelDialog.LabelName;
                }
                else if (cmdName.Equals(Common.UITextGotoLabel, StringComparison.OrdinalIgnoreCase))
                {
                    LabelNameDialog labelDialog = new LabelNameDialog();
                    if (labelDialog.ShowDialog(this) == DialogResult.OK)
                        newCommand = Common.CmdPrefixGotoLabel + labelDialog.LabelName;
                }
                else if (cmdName.Equals(Common.UITextSetVar, StringComparison.OrdinalIgnoreCase))
                {
                    SetVariableCommand setVariableCommand = new SetVariableCommand();
                    if (setVariableCommand.ShowDialog(this) == DialogResult.OK)
                        newCommand = Common.CmdPrefixSetVar + setVariableCommand.CommandString;
                }
                else if (cmdName.Equals(Common.UITextClearVars, StringComparison.OrdinalIgnoreCase))
                {
                    newCommand = Common.CmdPrefixClearVars;
                }
                else if (cmdName.Equals(Common.UITextLoadVars, StringComparison.OrdinalIgnoreCase))
                {
                    VariablesFileDialog varsFileDialog = new VariablesFileDialog();
                    if (varsFileDialog.ShowDialog(this) == DialogResult.OK)
                        newCommand = Common.CmdPrefixLoadVars + varsFileDialog.FileName;
                }
                else if (cmdName.Equals(Common.UITextSaveVars, StringComparison.OrdinalIgnoreCase))
                {
                    VariablesFileDialog varsFileDialog = new VariablesFileDialog();
                    if (varsFileDialog.ShowDialog(this) == DialogResult.OK)
                        newCommand = Common.CmdPrefixSaveVars + varsFileDialog.FileName;
                }
                else if (cmdName.Equals(Common.UITextRun, StringComparison.OrdinalIgnoreCase))
                {
                    ExternalProgram externalProgram = new ExternalProgram();
                    if (externalProgram.ShowDialog(this) == DialogResult.OK)
                        newCommand = Common.CmdPrefixRun + externalProgram.CommandString;
                }
                else if (cmdName.Equals(Common.UITextPause, StringComparison.OrdinalIgnoreCase))
                {
                    PauseTime pauseTime = new PauseTime();
                    if (pauseTime.ShowDialog(this) == DialogResult.OK)
                        newCommand = Common.CmdPrefixPause + pauseTime.Time;
                }
                else if (cmdName.Equals(Common.UITextSerial, StringComparison.OrdinalIgnoreCase))
                {
                    SerialCommand serialCommand = new SerialCommand();
                    if (serialCommand.ShowDialog(this) == DialogResult.OK)
                        newCommand = Common.CmdPrefixSerial + serialCommand.CommandString;
                }
                else if (cmdName.Equals(Common.UITextWindowMsg, StringComparison.OrdinalIgnoreCase))
                {
                    MessageCommand messageCommand = new MessageCommand();
                    if (messageCommand.ShowDialog(this) == DialogResult.OK)
                        newCommand = Common.CmdPrefixWindowMsg + messageCommand.CommandString;
                }
                else if (cmdName.Equals(Common.UITextTcpMsg, StringComparison.OrdinalIgnoreCase))
                {
                    TcpMessageCommand tcpMessageCommand = new TcpMessageCommand();
                    if (tcpMessageCommand.ShowDialog(this) == DialogResult.OK)
                        newCommand = Common.CmdPrefixTcpMsg + tcpMessageCommand.CommandString;
                }
                else if (cmdName.Equals(Common.UITextHttpMsg, StringComparison.OrdinalIgnoreCase))
                {
                    HttpMessageCommand httpMessageCommand = new HttpMessageCommand();
                    if (httpMessageCommand.ShowDialog(this) == DialogResult.OK)
                        newCommand = Common.CmdPrefixHttpMsg + httpMessageCommand.CommandString;
                }
                else if (cmdName.Equals(Common.UITextKeys, StringComparison.OrdinalIgnoreCase))
                {
                    KeysCommand keysCommand = new KeysCommand();
                    if (keysCommand.ShowDialog(this) == DialogResult.OK)
                        newCommand = Common.CmdPrefixKeys + keysCommand.CommandString;
                }
                else if (cmdName.Equals(Common.UITextMouse, StringComparison.OrdinalIgnoreCase))
                {
                    MouseCommand mouseCommand = new MouseCommand();
                    if (mouseCommand.ShowDialog(this) == DialogResult.OK)
                        newCommand = Common.CmdPrefixMouse + mouseCommand.CommandString;
                }
                else if (cmdName.Equals(Common.UITextEject, StringComparison.OrdinalIgnoreCase))
                {
                    EjectCommand ejectCommand = new EjectCommand();
                    if (ejectCommand.ShowDialog(this) == DialogResult.OK)
                        newCommand = Common.CmdPrefixEject + ejectCommand.CommandString;
                }
                else if (cmdName.Equals(Common.UITextPopup, StringComparison.OrdinalIgnoreCase))
                {
                    PopupMessage popupMessage = new PopupMessage();
                    if (popupMessage.ShowDialog(this) == DialogResult.OK)
                        newCommand = Common.CmdPrefixPopup + popupMessage.CommandString;
                }
                else if (cmdName.Equals(Common.UITextVirtualKB, StringComparison.OrdinalIgnoreCase))
                {
                    newCommand = Common.CmdPrefixVirtualKB;
                }
                else if (cmdName.Equals(Common.UITextSmsKB, StringComparison.OrdinalIgnoreCase))
                {
                    newCommand = Common.CmdPrefixSmsKB;
                }
                else if (cmdName.Equals(Common.UITextBeep, StringComparison.OrdinalIgnoreCase))
                {
                    BeepCommand beepCommand = new BeepCommand();
                    if (beepCommand.ShowDialog(this) == DialogResult.OK)
                        newCommand = Common.CmdPrefixBeep + beepCommand.CommandString;
                }
                else if (cmdName.Equals(Common.UITextSound, StringComparison.OrdinalIgnoreCase))
                {
                    OpenFileDialog openFileDialog = new OpenFileDialog();
                    openFileDialog.Filter = "Wave Files|*.wav";
                    openFileDialog.Multiselect = false;

                    if (openFileDialog.ShowDialog(this) == DialogResult.OK)
                        newCommand = Common.CmdPrefixSound + openFileDialog.FileName;
                }
                else if (cmdName.Equals(Common.UITextDisplayMode, StringComparison.OrdinalIgnoreCase))
                {
                    DisplayModeCommand displayModeCommand = new DisplayModeCommand();
                    if (displayModeCommand.ShowDialog(this) == DialogResult.OK)
                        newCommand = Common.CmdPrefixDisplayMode + displayModeCommand.CommandString;
                }
                else if (cmdName.Equals(Common.UITextStandby, StringComparison.OrdinalIgnoreCase))
                {
                    newCommand = Common.CmdPrefixStandby;
                }
                else if (cmdName.Equals(Common.UITextHibernate, StringComparison.OrdinalIgnoreCase))
                {
                    newCommand = Common.CmdPrefixHibernate;
                }
                else if (cmdName.Equals(Common.UITextReboot, StringComparison.OrdinalIgnoreCase))
                {
                    newCommand = Common.CmdPrefixReboot;
                }
                else if (cmdName.Equals(Common.UITextShutdown, StringComparison.OrdinalIgnoreCase))
                {
                    newCommand = Common.CmdPrefixShutdown;
                }
                else if (cmdName.Equals(Common.CmdPrefixTranslator, StringComparison.OrdinalIgnoreCase))
                {
                    newCommand = Common.CmdPrefixTranslator;
                } 
                else if (cmdName.StartsWith(Common.CmdPrefixBlast, StringComparison.OrdinalIgnoreCase))
                {
                    string[] ports = null;
                    if (IRServer != null) ports = IRServer.Ports;
                    string name = cmdName.Substring(Common.CmdPrefixBlast.Length);

                    IREditor learnIR = new IREditor(_LearnIrFunc, _BlastFunc, ports, name);
                    if (learnIR.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixBlast + learnIR.CommandString;
                        name = learnIR.BlastName;
                    }
                   
                    RefreshBlastList(name);
             

                }
                else if (cmdName.StartsWith(Common.CmdPrefixMacro, StringComparison.OrdinalIgnoreCase))
                {
                    if (modify)
                    {
                        string command = cmdName.Substring(Common.CmdPrefixBlast.Length);
                        string fileName = Path.Combine(FolderMacros, command + Common.FileExtensionMacro);
                        if (File.Exists(fileName))
                        {
                            MacroEditor macroEditor = new MacroEditor(command, IRServer, _BlastFunc, _LearnIrFunc, _ProcessCommand);
                            macroEditor.ShowDialog(this);
                            RefreshMacroList(macroEditor.MacroName);
                            if (macroEditor.DialogResult == DialogResult.OK)
                            {
                                cmdName = Common.CmdPrefixMacro + macroEditor.MacroName;
                            }
                            else
                            {
                                cmdName = null;
                            }
                        }
                        else
                        {
                            MessageBox.Show(this, "File not found: " + fileName, "Macro file missing", MessageBoxButtons.OK,
                                            MessageBoxIcon.Exclamation);
                        }
                    }

                    newCommand = cmdName;
                }
                else
                {
                    throw new CommandStructureException(String.Format("Unknown macro command ({0})", cmdName));
                }

            }
            catch (Exception ex)
            {
                IrssLog.Error(ex);
                MessageBox.Show(this, ex.Message, "Failed to add macro command", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            return newCommand;
        }
Пример #4
0
        // --------------------------------------------------------------------------------------------------
        #region Command Forms calls

        /// <summary>
        /// Show the configuration window for the specified command without its arguments.
        /// </summary>
        /// <param name="cmdName">Command name to be configured. (Default: take the one selected in the command-list)</param>
        /// <returns>command with its arguments, or null if cancel or error</returns>
        public string CommandFetch(string cmdName = null, bool modify = false)
        {
            string newCommand = null;

            if (cmdName == null)
            {
                cmdName = SelectedCommand;
            }
            if (cmdName == null)
            {
                return(newCommand);
            }

            try
            {
                if (cmdName.Equals(Common.UITextIf, StringComparison.OrdinalIgnoreCase))
                {
                    IfCommand ifCommand = new IfCommand();
                    if (ifCommand.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixIf + ifCommand.CommandString;
                    }
                }
                else if (cmdName.Equals(Common.UITextLabel, StringComparison.OrdinalIgnoreCase))
                {
                    LabelNameDialog labelDialog = new LabelNameDialog();
                    if (labelDialog.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixLabel + labelDialog.LabelName;
                    }
                }
                else if (cmdName.Equals(Common.UITextGotoLabel, StringComparison.OrdinalIgnoreCase))
                {
                    LabelNameDialog labelDialog = new LabelNameDialog();
                    if (labelDialog.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixGotoLabel + labelDialog.LabelName;
                    }
                }
                else if (cmdName.Equals(Common.UITextSetVar, StringComparison.OrdinalIgnoreCase))
                {
                    SetVariableCommand setVariableCommand = new SetVariableCommand();
                    if (setVariableCommand.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixSetVar + setVariableCommand.CommandString;
                    }
                }
                else if (cmdName.Equals(Common.UITextClearVars, StringComparison.OrdinalIgnoreCase))
                {
                    newCommand = Common.CmdPrefixClearVars;
                }
                else if (cmdName.Equals(Common.UITextLoadVars, StringComparison.OrdinalIgnoreCase))
                {
                    VariablesFileDialog varsFileDialog = new VariablesFileDialog();
                    if (varsFileDialog.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixLoadVars + varsFileDialog.FileName;
                    }
                }
                else if (cmdName.Equals(Common.UITextSaveVars, StringComparison.OrdinalIgnoreCase))
                {
                    VariablesFileDialog varsFileDialog = new VariablesFileDialog();
                    if (varsFileDialog.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixSaveVars + varsFileDialog.FileName;
                    }
                }
                else if (cmdName.Equals(Common.UITextRun, StringComparison.OrdinalIgnoreCase))
                {
                    ExternalProgram externalProgram = new ExternalProgram();
                    if (externalProgram.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixRun + externalProgram.CommandString;
                    }
                }
                else if (cmdName.Equals(Common.UITextPause, StringComparison.OrdinalIgnoreCase))
                {
                    PauseTime pauseTime = new PauseTime();
                    if (pauseTime.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixPause + pauseTime.Time;
                    }
                }
                else if (cmdName.Equals(Common.UITextSerial, StringComparison.OrdinalIgnoreCase))
                {
                    SerialCommand serialCommand = new SerialCommand();
                    if (serialCommand.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixSerial + serialCommand.CommandString;
                    }
                }
                else if (cmdName.Equals(Common.UITextWindowMsg, StringComparison.OrdinalIgnoreCase))
                {
                    MessageCommand messageCommand = new MessageCommand();
                    if (messageCommand.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixWindowMsg + messageCommand.CommandString;
                    }
                }
                else if (cmdName.Equals(Common.UITextTcpMsg, StringComparison.OrdinalIgnoreCase))
                {
                    TcpMessageCommand tcpMessageCommand = new TcpMessageCommand();
                    if (tcpMessageCommand.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixTcpMsg + tcpMessageCommand.CommandString;
                    }
                }
                else if (cmdName.Equals(Common.UITextHttpMsg, StringComparison.OrdinalIgnoreCase))
                {
                    HttpMessageCommand httpMessageCommand = new HttpMessageCommand();
                    if (httpMessageCommand.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixHttpMsg + httpMessageCommand.CommandString;
                    }
                }
                else if (cmdName.Equals(Common.UITextKeys, StringComparison.OrdinalIgnoreCase))
                {
                    KeysCommand keysCommand = new KeysCommand();
                    if (keysCommand.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixKeys + keysCommand.CommandString;
                    }
                }
                else if (cmdName.Equals(Common.UITextMouse, StringComparison.OrdinalIgnoreCase))
                {
                    MouseCommand mouseCommand = new MouseCommand();
                    if (mouseCommand.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixMouse + mouseCommand.CommandString;
                    }
                }
                else if (cmdName.Equals(Common.UITextEject, StringComparison.OrdinalIgnoreCase))
                {
                    EjectCommand ejectCommand = new EjectCommand();
                    if (ejectCommand.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixEject + ejectCommand.CommandString;
                    }
                }
                else if (cmdName.Equals(Common.UITextPopup, StringComparison.OrdinalIgnoreCase))
                {
                    PopupMessage popupMessage = new PopupMessage();
                    if (popupMessage.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixPopup + popupMessage.CommandString;
                    }
                }
                else if (cmdName.Equals(Common.UITextVirtualKB, StringComparison.OrdinalIgnoreCase))
                {
                    newCommand = Common.CmdPrefixVirtualKB;
                }
                else if (cmdName.Equals(Common.UITextSmsKB, StringComparison.OrdinalIgnoreCase))
                {
                    newCommand = Common.CmdPrefixSmsKB;
                }
                else if (cmdName.Equals(Common.UITextBeep, StringComparison.OrdinalIgnoreCase))
                {
                    BeepCommand beepCommand = new BeepCommand();
                    if (beepCommand.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixBeep + beepCommand.CommandString;
                    }
                }
                else if (cmdName.Equals(Common.UITextSound, StringComparison.OrdinalIgnoreCase))
                {
                    OpenFileDialog openFileDialog = new OpenFileDialog();
                    openFileDialog.Filter      = "Wave Files|*.wav";
                    openFileDialog.Multiselect = false;

                    if (openFileDialog.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixSound + openFileDialog.FileName;
                    }
                }
                else if (cmdName.Equals(Common.UITextDisplayMode, StringComparison.OrdinalIgnoreCase))
                {
                    DisplayModeCommand displayModeCommand = new DisplayModeCommand();
                    if (displayModeCommand.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixDisplayMode + displayModeCommand.CommandString;
                    }
                }
                else if (cmdName.Equals(Common.UITextStandby, StringComparison.OrdinalIgnoreCase))
                {
                    newCommand = Common.CmdPrefixStandby;
                }
                else if (cmdName.Equals(Common.UITextHibernate, StringComparison.OrdinalIgnoreCase))
                {
                    newCommand = Common.CmdPrefixHibernate;
                }
                else if (cmdName.Equals(Common.UITextReboot, StringComparison.OrdinalIgnoreCase))
                {
                    newCommand = Common.CmdPrefixReboot;
                }
                else if (cmdName.Equals(Common.UITextShutdown, StringComparison.OrdinalIgnoreCase))
                {
                    newCommand = Common.CmdPrefixShutdown;
                }
                else if (cmdName.Equals(Common.CmdPrefixTranslator, StringComparison.OrdinalIgnoreCase))
                {
                    newCommand = Common.CmdPrefixTranslator;
                }
                else if (cmdName.StartsWith(Common.CmdPrefixBlast, StringComparison.OrdinalIgnoreCase))
                {
                    string[] ports = null;
                    if (IRServer != null)
                    {
                        ports = IRServer.Ports;
                    }
                    string name = cmdName.Substring(Common.CmdPrefixBlast.Length);

                    IREditor learnIR = new IREditor(_LearnIrFunc, _BlastFunc, ports, name);
                    if (learnIR.ShowDialog(this) == DialogResult.OK)
                    {
                        newCommand = Common.CmdPrefixBlast + learnIR.CommandString;
                        name       = learnIR.BlastName;
                    }

                    RefreshBlastList(name);
                }
                else if (cmdName.StartsWith(Common.CmdPrefixMacro, StringComparison.OrdinalIgnoreCase))
                {
                    if (modify)
                    {
                        string command  = cmdName.Substring(Common.CmdPrefixBlast.Length);
                        string fileName = Path.Combine(FolderMacros, command + Common.FileExtensionMacro);
                        if (File.Exists(fileName))
                        {
                            MacroEditor macroEditor = new MacroEditor(command, IRServer, _BlastFunc, _LearnIrFunc, _ProcessCommand);
                            macroEditor.ShowDialog(this);
                            RefreshMacroList(macroEditor.MacroName);
                            if (macroEditor.DialogResult == DialogResult.OK)
                            {
                                cmdName = Common.CmdPrefixMacro + macroEditor.MacroName;
                            }
                            else
                            {
                                cmdName = null;
                            }
                        }
                        else
                        {
                            MessageBox.Show(this, "File not found: " + fileName, "Macro file missing", MessageBoxButtons.OK,
                                            MessageBoxIcon.Exclamation);
                        }
                    }

                    newCommand = cmdName;
                }
                else
                {
                    throw new CommandStructureException(String.Format("Unknown macro command ({0})", cmdName));
                }
            }
            catch (Exception ex)
            {
                IrssLog.Error(ex);
                MessageBox.Show(this, ex.Message, "Failed to add macro command", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            return(newCommand);
        }
Пример #5
0
    private void buttonNewIR_Click(object sender, EventArgs e)
    {
      _learnIR = new IREditor(
        new LearnIrDelegate(Tray.LearnIR),
        new BlastIrDelegate(Tray.BlastIR),
        Tray.TransceiverInformation.Ports);

      _learnIR.ShowDialog(this);

      _learnIR = null;

      RefreshIRList();
    }
Пример #6
0
    private void EditIR()
    {
      if (listViewIR.SelectedItems.Count != 1)
        return;

      try
      {
        string command = listViewIR.SelectedItems[0].Text;
        string fileName = Path.Combine(Common.FolderIRCommands, command + Common.FileExtensionIR);

        if (File.Exists(fileName))
        {
          _learnIR = new IREditor(
            new LearnIrDelegate(Tray.LearnIR),
            new BlastIrDelegate(Tray.BlastIR),
            Tray.TransceiverInformation.Ports,
            command);

          _learnIR.ShowDialog(this);

          _learnIR = null;
        }
        else
        {
          RefreshIRList();

          throw new FileNotFoundException("IR file missing", fileName);
        }
      }
      catch (Exception ex)
      {
        IrssLog.Error(ex);
        MessageBox.Show(this, ex.Message, "Failed to edit IR file", MessageBoxButtons.OK, MessageBoxIcon.Error);
      }
    }