On 17.09.2017 17:06, Kristoffer Ödmark wrote: > Hey again, I needed this feature again when copying some tedious > silkscreen drawings that I have not made into a footprint. > > Updated my branch to fit into master. I do agree that adding context > menu entries should be done, but I do not feel it necessary for merging > this unless any other bugs are found.
Hi Kristoffer, I tried your patch and I would really love to merge it after some polishing up. Few observations below: - Menu items are necessary. I consider the feature incomplete if it can be only invoked by a keyboard shortcut. We have a lot of users complaining that some functions can be only accessed by shortcuts, why add another item to their list of complaints? - Missing 'Cut' function (Ctrl-X). If we are to add copy-paste, it should work as in every other program. - Name internal events/actions correspondingly to the actions visible in the menus (e.g. copyToClipboard, pasteFromClipboard, etc.), using names like appendFromClipboard, etc. is IMHO confusing. - It would be useful to let the user select a reference point with a mouse when copying/cutting items. This point would become attached to the mouse cursor when the items are being pasted. - While pasting a footprint, it only appears when you click LMB. Other items are displayed while moving the mouse in paste mode. Cheers, Tom > > I am unsure what you mean with netlist-path. If that is that the > timestamp or unique identifier is not there, then from what i gather > that is the same as manually adding a component in pcbnew. > > - Kristoffer > > On 06/23/2017 07:00 PM, Wayne Stambaugh wrote: >> Kristoffer, >> >> I finally had a chance to test this and it seems to work fine. You >> definitely need to add copy and paste to the context menu and probably >> to the main menu as well. While ctrl-c and ctrl-v are will known, >> Pcbnew has never had a copy and paste feature so it may be wise to add >> the menu entries for existing users. The only issue I see is that the >> netlist path is empty so I'm not sure how the this will effect the >> ratsnest and connectivity algorithms. I'm OK with it as long as no one >> else objects. >> >> Orson, >> >> would you please take a look at this when you get a chance to see if >> this makes sense as far as the tool framework goes. >> >> Thanks >> >> Wayne >> >> On 5/21/2017 4:32 PM, Kristoffer Ödmark wrote: >>> Hello! >>> >>> I fixed the kicad clipboard code according to your comments, it is now >>> linked to ctrl+c and ctrl+v, utilizing different code paths depending on >>> what frame they are invoked at. >>> >>> I also fixed the crashes when trying to paste strange stuff. >>> >>> The code is available for testing at: >>> >>> https://code.launchpad.net/~kristoffer-odmark/kicad/+git/kicad/+ref/copypasta >>> >>> >>> >>> One thing is missing since I am unsure how to proceed, >>> the context menu entries. >>> >>> Should I create a new clipboard_tool.cpp/h file and add context entries >>> from there? >>> >>> Should I add the context entries in the files where they are now? >>> ( selection menu for copying to clipboard, pcbnew_control for pasting, >>> module editor tool for pasting in module editor ) >>> >>> Should I do it someway enterily different? >>> >>> Please advice >>> >>> - Kristoffer >>> >>> >>> >>> On 2017-05-08 15:41, Maciej Sumiński wrote: >>>> Hi Kristoffer, >>>> >>>> It is a neat feature. Your application is a good application, but I >>>> think it would really shine in the footprint editor. Unfortunately, it >>>> crashes when I tried to copy and paste a bunch of pads. Could you >>>> check it? >>>> >>>> IMHO it would be better to keep standard Ctrl+C and Ctrl+V hot keys, as >>>> this is what people are likely to press when they want to copy or paste >>>> items. These two functions also deserve an entry in the right-click >>>> context menu. Let's not add more hidden features in KiCad. >>>> >>>> Speaking of which, you can also have a look at >>>> MODULE_EDITOR_TOOLS::{Copy,Paste}Items() >>>> (pcbnew/tools/module_editor_tools.cpp). Yes, you guessed it - there was >>>> already copy & paste for the module editor, but it was not properly >>>> exposed, mea culpa. We need to pick one way, and remove the other. >>>> >>>> There are also some code formatting violations that also should be >>>> handled before merging the patch. Tools like uncrustify or clang-format >>>> will do most of the boring work for you. >>>> >>>> If we decide to choose your way, then you need to add GPL license >>>> header >>>> for kicad_clipboard.{cpp,h} too. >>>> >>>> Regards, >>>> Orson >>>> >>>> On 05/04/2017 10:40 AM, Kristoffer Ödmark wrote: >>>>> Hello all! >>>>> >>>>> Last night I was doing some design that used a PCB antenna. I had this >>>>> antenna design made in zones, It was very frustrating to try to copy >>>>> this between an old design and a new one since I had to use a >>>>> texteditor >>>>> ( very glad that I could though ). >>>>> >>>>> After this I figured that this should be able to be copy-pasted >>>>> between >>>>> pcbs. >>>>> >>>>> So I have now implemented a subclass of the PCB_IO, that can format an >>>>> entire board or a selection to the clipboard in textformat, and then >>>>> created a subclass to the PCB_PARSER that parses from the clipboard >>>>> and >>>>> reuses the "append board" functionality to add them back. It also does >>>>> remove the "path" properties of modules. This allows me to copy-paste >>>>> things between different PCBs in kicad. The shortcut keys are >>>>> ctrl+shift+c and ctrl+shift+v so that people dont use this by >>>>> mistake :) >>>>> >>>>> I think that this might be useful for reusing designs in some manner, >>>>> and if this is in Kicad, my next step would be to start looking into >>>>> some tool to link the pasted modules to symbols in the schematic. >>>>> >>>>> Give me some insight on what you think about this please :) >>>>> >>>>> video: https://youtu.be/4SuUzma0Ua4 >>>>> >>>>> (only tested in linux) >>>>> >>>>> - Kristoffer >>>>> >>>>> >>>>> _______________________________________________ >>>>> Mailing list: https://launchpad.net/~kicad-developers >>>>> Post to : kicad-developers@lists.launchpad.net >>>>> Unsubscribe : https://launchpad.net/~kicad-developers >>>>> More help : https://help.launchpad.net/ListHelp >>>>> >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> Mailing list: https://launchpad.net/~kicad-developers >>>> Post to : kicad-developers@lists.launchpad.net >>>> Unsubscribe : https://launchpad.net/~kicad-developers >>>> More help : https://help.launchpad.net/ListHelp >>>> >>> >>> _______________________________________________ >>> Mailing list: https://launchpad.net/~kicad-developers >>> Post to : kicad-developers@lists.launchpad.net >>> Unsubscribe : https://launchpad.net/~kicad-developers >>> More help : https://help.launchpad.net/ListHelp >> >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~kicad-developers >> Post to : kicad-developers@lists.launchpad.net >> Unsubscribe : https://launchpad.net/~kicad-developers >> More help : https://help.launchpad.net/ListHelp >> > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp