|
2
|
DonationCoder.com Software / Ecaradec's Software / Re: Qatapult
|
on: May 23, 2012, 06:34:27 PM
|
Hello, it has been a bit long since the last update, but Qatapult is going on again : I had a neck ache after jumping badly on a trampoline, not that serious but it was painful enough that I couldn't work too much for some time... among others things. Don't worry everything is ok now  I've uploaded a new version that support multi elements arguments. The way it works is that you can CTRL+Enter on a argument, then it'll stack on the current arg. The default File commands 'Open', 'Delete', etc... handle this by running the command on each item, but you can define how you want your action to handle it : As an example you could use it to create zip commands and things like that that operate on many files in one command. You can try it on File object in the first pane. A quick way to multiple select files is to drop Files over the Qatapult interface from the file explorer. Qatapult will accept them when it's appropriate. Rules define which argument can use multi. You can enable any argument to do that by adding a multi attribute to the argument type tag. Once a type is stacked, you can only stack objects of the same sort and only rules that support multi items will show up in the next pane. Here is how to define a rule that enable multi on the first arg : [ copy or print] <rule> <arg multi="1">TEXT</arg> <arg> <item> <lbl>Append to file</lbl> <ico>icons\defaultverb.png</ico> </item> </arg> <script>for(var i=0;i<qatapult.getArgItemCount(0);i++) appendtofile(qatapult.getArgValue(0,i,"text"),"plugins\\commands\\test.txt")</script> </rule> I've also added a dialog box that warn you if there is a new Qatapult version available, so you won't need to come back here again and again to check if your version is up to date.
|
|
|
|
|
3
|
DonationCoder.com Software / Ecaradec's Software / Re: Qatapult
|
on: May 02, 2012, 05:44:07 PM
|
|
Ewemoa may be you could answer this too : I've an issue with the 'current selection' proxy. I don't know if it should be considered one object or several. If I handle it as a single object that would mean that it's whole selection can be canceled with one 'esc', if I handle it as multiple objects a large selection could be very painful to cancel.
Do you know how QS handle this ?
|
|
|
|
|
4
|
DonationCoder.com Software / Ecaradec's Software / Re: Qatapult
|
on: May 02, 2012, 02:27:53 PM
|
|
I'm considering changing the way Qatapult handle the display of text items. TEXT items currently draw a text when you call drawItem. I think that this wasn't a very good decision as the current behavior force all skins to consider TEXT as rendering in the icon space.
The change would make drawItem draw a standard icon for TEXT objects, then skins would be free to either render the icon OR to draw only the text of the object at the place, font, margin and text aligment they prefer.
What do you think ?
|
|
|
|
|
6
|
DonationCoder.com Software / Ecaradec's Software / Re: Qatapult
|
on: May 02, 2012, 02:01:18 PM
|
|
Just a word to keep you informed of changes :
I'm trying to add multiple object selection. It partially works, but I still need to add some extra changes. This is a bit long, because it involves changing the structure of Qatapult a bit, but this is just normal code clean up. It has to happens sometimes.
I've made a fix to allow to create skins larger that 600, but for the precedent reason, I can't release right now.
|
|
|
|
|
7
|
DonationCoder.com Software / Ecaradec's Software / Re: Qatapult
|
on: April 24, 2012, 04:24:33 AM
|
|
You're correct, 600 is currently the size of the window. I need to detect the largest thing that is displayed to enlarge it on demand. However you need to know that I keep a buffer of the whole window in memory and Windows needs to do the same for this kind of window : a very large window could potentially be slow and eat a lot of memory, so that kind of skin might be impratical on some PC.
Still, I would love to see what you have in mind. Ask if you need something, I'll try to find a way.
|
|
|
|
|
13
|
DonationCoder.com Software / Ecaradec's Software / Re: Qatapult
|
on: April 16, 2012, 07:06:54 AM
|
|
I'm not sure, getting the filename from a shortcut is a bit of work, it might fail at several places. Were you focusing the Qatapult shortcut previously ?
If that's the case, then I would bet on some rights preventing the resolution of the filename. The easiest to solve that issue is that I build a new instrumented build for you.
|
|
|
|
|
14
|
DonationCoder.com Software / Ecaradec's Software / Re: Qatapult
|
on: April 16, 2012, 05:18:01 AM
|
|
It seems that the resolving the shortcut doesn't work.
The way this feature works is that I compare rfilename to QATAPULT.EXE, in your case rfilename is empty. I'll probably ask your help for another test.
|
|
|
|
|
16
|
DonationCoder.com Software / Ecaradec's Software / Re: Qatapult
|
on: April 15, 2012, 01:57:33 PM
|
|
I've also uploaded a new version that has a combobox for selecting skin. This is a powerful feature of Qatapult, it was too badly hidden.
Also did I say that you can now enable and disable plugins from the settings UI. I can't really find that in my comments ?
|
|
|
|
|
20
|
DonationCoder.com Software / Ecaradec's Software / Re: Qatapult
|
on: April 12, 2012, 06:15:06 AM
|
Thanks for the explanations regarding the 2 bits of code. No pb. About the for in construct, yes it can be annoying if it match some extra properties defined on prototype object. I will avoid to do that, it is somewhat seen as a bad practice now because of such issues.
|
|
|
|
|
21
|
DonationCoder.com Software / Ecaradec's Software / Re: Qatapult
|
on: April 11, 2012, 06:39:05 AM
|
About the collecter plugins, I feared that people would copy plugins folder over the old one without deleting the previous one. That's what I do actually. I feared that it would lead to entries being duplicated so I just leaved collecter for the moment. However if you create a new plugin collector.js is the correct name to use. Just thinking about it, I think that I could let qatapult rename theses files for consistency. Reload, Quit and Options should now appears under the Qatapult entry. Here is what I got : [attachthumb=#] Is it different from what you have ewemoa ? I agree with you about the history ewemoa. I was considering doing a global history. May be there should be some way to narrow the history to things that have the same start as the current selection so that we could get an history of math results and an history of operations on some file. You're right about clipboard.js. It should be there. It's actually useless as it's not loaded. It doesn't do anything. The whole code about clipboard is in test.command.js that I should probably rename. I probably considered that it should only be called by command plugins so there wasn't too much needs to put it available as a library. I'm not sure if that's a good choice. this.length+=desc[t].size; clipboard.js is actually useless, this code is incorrect. for(var a in args) { break; } This is a trick to have a take the value of the first available item. I iterate once then exits. It do that because I describe types of the Struct function as an array of object : [{key:value}]. This line allows me to get the name of the key. I don't know of any other way to get that in javascript.
|
|
|
|
|
24
|
DonationCoder.com Software / Ecaradec's Software / Re: Qatapult
|
on: April 09, 2012, 05:18:01 PM
|
|
I've uploaded a new version. This is the ground for the future settings ui that should be more usable. You can now enable and disable plugins from the UI. There is also a ton of less memory leaks.
There are new functions that you can use by doing a require("lib/clipboard.js") : they are clip and paste. Paste can optionally take a text to paste. You can also do a sendinput but it's currently limited to printable characters only. If you feel like improving it, I'll be happy to take your version and put it in Qatapult.
Both functions are built with direct call to win32 dll from javascript using the dynamic wrapper. Have a look to clipboard.js in lib if you want to see what it looks like.
There is a new jsmath plugin that eval javascript as a way to evaluate mathematical expression. Start a query with = on the first pane to trigger it. It work well but doesn't handle the display exactly the way I would like : The perfect thing ihmo would be to have a custom display on the first pane that display both the expression and the result, then a second pane with the operation. The current thing use 3 panes. I think that it might be worthwhile that we use some specially named values that skins could detect and handle display for a large number of types instead of handling types individually like we do today : skins could be more versatile that way ihmo.
I've also fixed the collecter things as ewemoa suggested => please use now collector.js for your plugins now.
|
|
|
|
|