示例#1
0
 /// <summary>
 /// <ja>設定ファイルからインポート</ja>
 /// </summary>
 public ExtendPasteOptions Import(ExtendPasteOptions src)
 {
     _useAction               = ConvertItem(src._useAction);
     _highlightKeyword        = ConvertItem(src._highlightKeyword);
     _showConfirmCheck        = ConvertItem(src._showConfirmCheck);
     _afterSpecifiedTimePaste = ConvertItem(src._afterSpecifiedTimePaste);
     _pasteTime               = ConvertItem(src._pasteTime);
     _ChangeDialogSize        = ConvertItem(src._ChangeDialogSize);
     return(this);
 }
示例#2
0
        /// <summary>
        /// <ja>プラグイン実行</ja>
        /// </summary>
        public CommandResult InternalExecute(ICommandTarget target, params IAdaptable[] args)
        {
            IPoderosaView    view;
            ITerminalSession session;

            // ビュー/セッション取得
            if (!GetViewAndSession(target, out view, out session))
            {
                return(CommandResult.Ignored);
            }

            // クリップボードデータ取得
            var clipboardData = Clipboard.GetDataObject();

            if (!clipboardData.GetDataPresent("Text"))
            {
                return(CommandResult.Ignored);
            }
            string data = (string)clipboardData.GetData("Text");

            if (data == null)
            {
                return(CommandResult.Ignored);
            }

            // オプション取得
            ExtendPasteOptions opt = ExtendPastePlugin.Instance.ExtendPasteOptionSupplier.OriginalOptions;

            // 改行存在チェック
            bool newLineFlg = ((data.IndexOfAny(new char[] { '\r', '\n' }) >= 0) || (data.Contains(Environment.NewLine))) ? true : false;

            // セッション名取得
            //ITerminalSession sessionName = (ITerminalSession)view.Document.OwnerSession.GetAdapter(typeof(ITerminalSession));

            // 確認ダイアログ表示
            if (((opt.UseAction == UseAction.NewLine) && (newLineFlg)) || (opt.UseAction == UseAction.Always))
            {
                IPoderosaForm     poderosaForm = view.ParentForm;
                ExtendPasteDialog Form         = new ExtendPasteDialog(data, newLineFlg, session.Caption);
                if (Form.ShowDialog(poderosaForm.AsForm()) != DialogResult.OK)
                {
                    return(CommandResult.Ignored);
                }
            }

            // クリップボードデータ送信
            StringReader         reader = new StringReader(data);
            TerminalTransmission output = session.TerminalTransmission;

            output.SendTextStream(reader, data[data.Length - 1] == '\n', true);
            return(CommandResult.Succeeded);
        }
示例#3
0
 /// <summary>
 /// <ja>初期化</ja>
 /// </summary>
 public void InitializePreference(IPreferenceBuilder builder, IPreferenceFolder folder)
 {
     _originalFolder  = folder;
     _originalOptions = new ExtendPasteOptions(_originalFolder);
     _originalOptions.DefineItems(builder);
 }
示例#4
0
 /// <summary>
 /// <ja>初期化</ja>
 /// </summary>
 public void InitializePreference(IPreferenceBuilder builder, IPreferenceFolder folder)
 {
     _originalFolder = folder;
     _originalOptions = new ExtendPasteOptions(_originalFolder);
     _originalOptions.DefineItems(builder);
 }
示例#5
0
 /// <summary>
 /// <ja>設定ファイルからインポート</ja>
 /// </summary>
 public ExtendPasteOptions Import(ExtendPasteOptions src)
 {
     _useAction = ConvertItem(src._useAction);
     _highlightKeyword = ConvertItem(src._highlightKeyword);
     _showConfirmCheck = ConvertItem(src._showConfirmCheck);
     _afterSpecifiedTimePaste = ConvertItem(src._afterSpecifiedTimePaste);
     _pasteTime = ConvertItem(src._pasteTime);
     _ChangeDialogSize = ConvertItem(src._ChangeDialogSize);
     return this;
 }