Submitted by LeftEccoForIQ on 2019/03/27 05:04
Just wanted to ask if there is a quick way to add the current item in grid view to a certain other grid (without using the mouse / using the same sequence of keys to be sent each time)? I tried going through the properties pane but couldn't figure out a reliable way to get to the target grid name in the "All Fields" section each time. I want to use this method in an Autohotkey script so the key codes needed to accomplish this would have to be repeatable regardless of the current status of / focus position in the properties pane.
 
I'm probably being daft and there is a much easier way...
 
Any help would be much appreciated!
 
Thanks
 
 

Comments

Hi,
 
I can't think of a way, but I could add 2 commands to the Item > Marked Item sub-menu:
  1. Add Marked Items as Siblings
  2. Add Marked items as TLI
 
Pierre_Admin
IQ Designer
 

LeftEccoForIQ

2019/03/27 14:25

In reply to by Pierre_Admin

That certainly sounds interesting! As you will have guessed, having these "grids" represented by columns all the time is not really an option. I'll check back to see if you've found the time / enough reasons to implement this. Thanks a lot!

Pierre_Admin

2019/03/27 14:32

In reply to by LeftEccoForIQ

Great ! There are other ways too...
 
For example, the Properties pane and Tags pane are accessible using a shortcut and from there you can set fields / tags. Both of these can be the source of any grid.
 
Pierre_Admin
IQ Designer
 

LeftEccoForIQ

2019/03/27 16:20

In reply to by Pierre_Admin

I did try to do this via the properties pane, but the pane is hard to navigate reliably with the keyboard without visual feedback (as sections of the pane can be in folded or unfolded state, hence the same number of cursor key presses will get you to different places at different times). I eventually came up with the following sequence that works sort of reliably in Autohotkey to check the 'Pending' field for the currently selected grid item:
 
    Send +{F4} ; open properties pane (will need to implement prior check to skip this if pane is already open)
    Sleep 300
    Send +{F4} ; focus on properties pane
    Sleep 50
    Send ^{End}{Left}o{Down}{Right}{Space} ; navigate to 'Pending' field under 'All fields' and check it
 
Automating actions on the properties pane like this is also made tricky by the Shift-F4 shortcut really having three different functions depending on the state of the properties pane (open, focus on, close).

Pierre_Admin

2019/03/27 16:24

In reply to by LeftEccoForIQ

I see,
 
What can help is perhaps use F4, then a left arrow (to move to the first column) then type the name of the field (autosearch will find it) then space bar to toggle the value
 
Pierre_Admin
IQ Designer
 

 It seems to me the Item Editor would be ideal for this (ctrl E, Alt F, type the field/folder name, space to check the field, then alt O). This would also give a visual confirmation on the "folders: " text section. However, I could not get Alt O to work unless I clicked one of the other sections to unfocus the Folders section; then Alt O would work.
This may be a bug, or perhaps there is an unfocus key I'm not aware of.

Pierre_Admin

2019/03/27 21:07

In reply to by KeithB

Probably a focus bug, I'll try to fix it
 
Pierre_Admin
IQ Designer
 

Pierre_Admin

2019/03/27 23:39

In reply to by KeithB

v112m was silently updated with this fixed.
Item Editor form load times was also somewhat improved (tags and folders panes not loaded until required)
 
Pierre_Admin
IQ Designer
 

LeftEccoForIQ

2019/03/28 05:03

In reply to by KeithB

Looks like a great alternative to using the properties pane. Many thanks for your suggestion!

I've come across the same need to quickly assign item to a grid, albeit not with this keyboard-shortcut requirement.
 
What I have come up with may not solve your problem fully, but might help you in other ways.
 
So...
1.use the WIKITag field to assign a keyword to the item.
2. write a helper function VbScript to check if the keyword is in the WIKITag, e.g. IsInStr
 
Function IsInStr(firstString, secondString)

  If(isnull(firstString) Or isnull(secondString) ) Then
    IsInStr = False
  Else
    Dim inStrValue
    inStrValue = InStr(LCase(firstString), LCase(secondString)) > 0
    IsInStr = inStrValue
  End If

End Function
 
3. have an AutoAssign in the WIKITag Equations, e.g. A: [Videos]=IsInStr([WIKITag],"Video")
 

LeftEccoForIQ

2019/03/28 16:29

In reply to by ethanrox

Will experiment with this next week. Thanks for sharing!