public virtual void ApplyToBufer(IBufer bufer) { bufer.Image = this.FileIcon; bufer.ImageAlign = ContentAlignment.MiddleRight; bufer.TextAlign = ContentAlignment.MiddleLeft; //button.BackColor = Color.Khaki; }
public ChangeTextMenuItem(BufermanMenuItem menuItem, IBufer bufer, IBufermanHost bufermanHost, IProgramSettingsGetter settings) : base(menuItem, bufer, bufermanHost) { menuItem.AddOnClickHandler(this._ChangeText); menuItem.ShortCut = Shortcut.CtrlH; this._settings = settings; }
protected ChangingTextMenuItemBase(BufermanMenuItem menuItem, IBufer bufer, IBufermanHost bufermanHost) { this.MenuItem = menuItem; this.Bufer = bufer; this.ViewModel = bufer.ViewModel; this.BufermanHost = bufermanHost; }
public void AddBufer(IBufer bufer) { this._bufers.Add(bufer); var button = (bufer as Bufer).GetButton(); this.Controls.Add(button); button.BringToFront(); }
private void _TryApplyPresentation(IBufer bufer) { foreach (var presentation in this._clipPresentations) { if (presentation.IsCompatibleWithBufer(bufer.ViewModel.Clip)) { presentation.ApplyToBufer(bufer); return; } } }
public void RemoveBufer(IBufer bufer) { this.Controls.Remove((bufer as Bufer).GetButton()); var wasRemoved = this._bufers.Remove(bufer); if (!wasRemoved) { throw new InvalidOperationException("There was an attempt to remove not existing bufer"); } }
public BuferContextMenuState( IClipboardBuferService clipboardBuferService, IBuferSelectionHandler buferSelectionHandler, IBufermanHost bufermanHost, Func <string> resourceMenuPin, Func <string> resourceMenuUnpin, Func <string> resourceMenuAddedToFile, IBufer bufer) { this._clipboardBuferService = clipboardBuferService; this._buferSelectionHandler = buferSelectionHandler; this._bufermanHost = bufermanHost; // TODO (m) remove below 3 lines after this class is relocated from infrastructure assembly this._resourceMenuPin = resourceMenuPin; this._resourceMenuUnpin = resourceMenuUnpin; this._resourceMenuAddedToFile = resourceMenuAddedToFile; this.Bufer = bufer; this.MarkAsPinnedMenuItem = bufermanHost.CreateMenuItem(this.Bufer.ViewModel.Pinned ? resourceMenuUnpin : resourceMenuPin, this.TryTogglePinBufer); }
public Productor(IBufer compartido, Random aleatorio) { ubicacionCompartida = compartido; tiempoInactividadAleatorio = aleatorio; }
public BuferSelectionHandler(IBufer bufer, IClipboardWrapper clipboardWrapper, IBufermanHost bufermanHost) { this._bufer = bufer; this._clipboardWrapper = clipboardWrapper; this._bufermanHost = bufermanHost; }
public void Bind(IBufer bufer, IBufermanHost bufermanHost) { new BuferHandlersWrapper(this._clipboardBuferService, this._buferContextMenuGenerator, this._buferSelectionHandlerFactory, this._fileStorage, bufermanHost, this._settingsGetter, this._settingsSetter, this._plugins, bufer); }
public CreateLoginCredentialsMenuItem(BufermanMenuItem menuItem, IBufer bufer, IBufermanHost bufermanHost) : base(menuItem, bufer, bufermanHost) { menuItem.AddOnClickHandler(this._CreateLoginCredentials); menuItem.ShortCut = Shortcut.CtrlL; }
public BuferHandlersWrapper( IClipboardBuferService clipboardBuferService, IBuferContextMenuGenerator buferContextMenuGenerator, IBuferSelectionHandlerFactory buferSelectionHandlerFactory, IFileStorage fileStorage, IBufermanHost bufermanHost, IProgramSettingsGetter settingsGetter, IProgramSettingsSetter settingsSetter, IEnumerable<IBufermanPlugin> plugins, IBufer bufer) { this._settingsGetter = settingsGetter; this._settingsSetter = settingsSetter; this._clipboardBuferService = clipboardBuferService; this._bufermanHost = bufermanHost; this._bufer = bufer; this._buferSelectionHandlerFactory = buferSelectionHandlerFactory; this._fileStorage = fileStorage; var formats = this._bufer.ViewModel.Clip.GetFormats(); string buferTitle = null; var clipFiles = this._bufer.ViewModel.Clip.GetData(DataFormats.FileDrop) as string[]; if (clipFiles != null && clipFiles.Length > 0) { var firstFile = clipFiles.First(); var onlyFolders = clipFiles.Select(f => this._fileStorage.GetFileAttributes(f).HasFlag(FileAttributes.Directory)) .All(f => f); if (clipFiles.Length == 1) { buferTitle = this._MakeSpecialBuferText( firstFile.Length < settingsGetter.MaxFilePathLengthForBuferTitle ? firstFile : (onlyFolders ? Resource.FolderBufer : Resource.FileBufer));// TODO (m) these resources are duplicated in BuferMAN.Application project } else { buferTitle = this._MakeSpecialBuferText($"{(onlyFolders ? Resource.FoldersBufer : Resource.FilesBufer)} ({clipFiles.Length})"); } } else { if (formats.Contains(ClipboardFormats.CUSTOM_IMAGE_FORMAT) || formats.Contains(ClipboardFormats.FILE_CONTENTS_FORMAT)) { this._bufer.ApplyFontStyle(FontStyle.Italic | FontStyle.Bold); } } string buferText = buferTitle ?? this._bufer.ViewModel.TextRepresentation; if (string.IsNullOrWhiteSpace(buferText)) { this._bufer.ApplyFontStyle(FontStyle.Italic | FontStyle.Bold); this._bufer.ViewModel.IsChangeTextAvailable = false; if (buferText == null) { if (formats.Any(f => string.Equals(f, ClipboardFormats.VISUAL_STUDIO_PROJECT_ITEMS, StringComparison.InvariantCultureIgnoreCase))) { buferText = "<< VISUAL STUDIO project items >>"; } else { buferText = Resource.NotTextBufer; // TODO (l) maybe track such cases and/or ask user to send info (at least formats list) of this bufer? // Or user can think of some name for this combination of formats } } else { buferText = this._MakeSpecialBuferText($"{buferText.Length} {Resource.WhiteSpaces}"); this._bufer.ViewModel.TooltipTitle = buferText; } } this._bufer.ViewModel.DefaultBackColor = this._bufer.BackColor; buferText = buferText.Trim(); this._bufer.SetText(buferText); this._bufer.ViewModel.OriginBuferTitle = buferText; this._bufer.SetMouseOverToolTip(this._bufer.ViewModel.TextRepresentation); this._bufer.ViewModel.TooltipTitle = this._bufer.ViewModel.TooltipTitle ?? buferTitle; if (!string.IsNullOrWhiteSpace(this._bufer.ViewModel.TooltipTitle)) { this._bufer.MouseOverTooltip.ToolTipTitle = this._bufer.ViewModel.TooltipTitle; this._bufer.FocusTooltip.ToolTipTitle = this._bufer.ViewModel.TooltipTitle; } IBuferTypeMenuGenerator buferTypeMenuGenerator = null; if (Uri.TryCreate(this._bufer.ViewModel.OriginBuferTitle, UriKind.Absolute, out var uriResult) && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps)) { buferTypeMenuGenerator = new HttpUrlBuferMenuGenerator(this._bufer.ViewModel.OriginBuferTitle, this._settingsGetter, this._settingsSetter); } else { var files = this._bufer.ViewModel.Clip.GetData(DataFormats.FileDrop) as string[]; if (files != null && files.Length > 0) { var firstFile = files.First(); if (files.Length == 1) { buferTypeMenuGenerator = new FileBuferMenuGenerator(firstFile); } } } if (formats.Contains(ClipboardFormats.CUSTOM_IMAGE_FORMAT)) { var image = this._bufer.ViewModel.Clip.GetData(ClipboardFormats.CUSTOM_IMAGE_FORMAT) as Image; if (image != null) { this._bufer.ViewModel.Representation = image; this._bufer.MouseOverTooltip.IsBalloon = false; this._bufer.MouseOverTooltip.OwnerDraw = true; this._bufer.MouseOverTooltip.Popup += (object sender, PopupEventArgs e) => { e.ToolTipSize = new Size((int)(image.Width * IMAGE_SCALE), (int)(image.Height * IMAGE_SCALE)); }; this._bufer.MouseOverTooltip.Draw += (object sender, DrawToolTipEventArgs e) => { using (var b = new TextureBrush(new Bitmap(image))) { b.ScaleTransform(IMAGE_SCALE, IMAGE_SCALE); var g = e.Graphics; g.FillRectangle(b, e.Bounds); } }; } } this._bufer.AddOnFocusHandler(this._Bufer_GotFocus); this._bufer.AddOnUnfocusHandler(this._Bufer_LostFocus); var buferSelectionHandler = this._buferSelectionHandlerFactory.CreateHandler(this._bufer, bufermanHost); if (this._settingsGetter.IsBuferClickingExplained) { this._bufer.AddOnClickHandler(buferSelectionHandler.DoOnClipSelection); } else { this._bufer.AddOnClickHandler((object sender, EventArgs e) => { if (this._settingsGetter.IsBuferClickingExplained) { buferSelectionHandler.DoOnClipSelection(sender, e); } else { this._bufermanHost.UserInteraction.ShowPopup(Resource.BuferClickingExplanationText, Application.ProductName); this._settingsSetter.MarkThatBuferClickingWasExplained(); } }); } var buferContextMenuState = new BuferContextMenuState( clipboardBuferService, buferSelectionHandler, bufermanHost, () => Resource.MenuPin, // TODO (m) remove these actions () => Resource.MenuUnpin, () => Resource.MenuAddedToFile, bufer); bufer.ContextMenu = buferContextMenuGenerator.GenerateContextMenuItems(buferContextMenuState, bufermanHost, buferTypeMenuGenerator); foreach (var plugin in plugins) if (plugin.Available && plugin.Enabled) { try { plugin.UpdateBuferItem(buferContextMenuState); } catch (Exception exc) { bufermanHost .UserInteraction .ShowPopup(exc.Message, plugin.Name); } } }
public IBuferSelectionHandler CreateHandler(IBufer bufer, IBufermanHost bufermanHost) { return(new BuferSelectionHandler(bufer, this._clipboardWrapper, bufermanHost)); }
public ReturnToInitialTextMenuItem(BufermanMenuItem menuItem, IBufer bufer, IBufermanHost bufermanHost) : base(menuItem, bufer, bufermanHost) { menuItem.AddOnClickHandler(this._ReturnTextToInitial); menuItem.ShortCut = Shortcut.CtrlI; menuItem.Enabled = false; }