On 07/04/2014 23:39, Laurie VK3AMA wrote:
Hi Bill,
Hi Laurie,

Well, I feel like an idiot. All my problems were self induced, nothing to do with a new Qt version.
Hi hi.

I had been running some tests earlier to replicate a problem a user was having which involved setting wsjtx to run as administrator. I had neglected to remove that setting. A real rookie mistake. Why it never occured to me that was the problem, I don't know. I have had to advise many users over the years to not set wsjtx or jt65-hf to Run as admin as the Vista/Win7/Win8 security model will prevent normal privileged process (JTAlert) from interacting with elevated processes (wsjtx) which produces the results I was seeing.

The problems I was experiencing were all consistent with what I had seen many times in the past. I just assumed it was broken due to the new 1.4.0 version.

I hope you didn't spend too much time developing the WM_APP message solution. My old methods using standard commands, ShowWindow(), MoveWindow() and SetWindowPos() are working and I will continue to use them, rather than using different methods based on wsjtx version.
It was only a few lines but as it is platform specific we are better off without it anyway. The option is always there if Qt does block us in the future. It is worth noting that my comments off list with the test build are relevant, Qt uses a layout manager that may well override your direct Windows API calls or change the layout as a result of the calls with unexpected results.

I envisage a better way of communicating information out of WSJT-X in the near future, like broadcast detailed decode information. For example I for one would love to be able to double-click an alert and have it do the same as double-clicking the decode line it relates to. We should discuss this area again once some work has been done on better unifying the jt9.exe Fortran code and the C++ GUI code in wsjtx.exe.

Thanks again for your time on this.
No problem, glad you have got back on track. Please use that new build I sent you for testing as there have been changes that might have some impact on your code. The directory names created may have change slightly since the prior version I dropped to you.

de Laurie, VK3AMA
73
Bill
G4WJS.
------------------------------------------------------------------------

On 7/04/2014 9:41 PM, Bill Somerville wrote:
On 07/04/2014 01:54, Laurie VK3AMA wrote:
Hi Bill,
Hi Laurie,

Sounds like it is the new Qt code. I have no experience with Qt but it has been the root of some of the issues I have had to overcome for JTAlert.

I am getting the window handle by enumerating the running wsjtx processes. I know I am using the correct handle as the window minimize/restore messages sent via SendMessage are working. The window positioning is failing so at this time, JTAlert will follow the wsjtx window, but wsjtx will not follow JTAlert while docked. I have also confirmed the hWnd is correct using a windows inspection tool.
OK.

I think the problem is that Qt has a layout manager that you are going to be in conflict with if you call raw WIndows API functions or inject standard Windows messages.

Can you list the actions and arguments that you need for JTAlert (and JTMacros) to work. I can probably provide a quick hack with some custom WM_APP messages for now. I can easily filter these messages and call the appropriate Qt methods for you.

I think a non-proprietary portable solution should be put in place eventually.

de Laurie, VK3AMA
73
Bill
G4WJS.
------------------------------------------------------------------------

On 7/04/2014 10:37 AM, Bill Somerville wrote:
On 07/04/2014 01:19, Laurie VK3AMA wrote:
Hi Laurie,
I have been extending JTAlert to support the new 1.4 multi-instance functionality. JTAlert docking is now broken with 1.4. Standard api commands, ShowWindow(), MoveWindow() and SetWindowPos() sent by JTAlert to the wsjtx window are being ignored.

I have been able to workaround the loss of ShowWindow() for minimising and restoring the wsjtx window by executing an appropriate SendMessage() command but am now struggling with wsjtx window positioning so thought I would post a message here while I take a break from my tests.

Is something in the 1.4 code dropping the messages sent by these commands?
All those messages are handled by the default Qt widget code, we don't filter those messages at all. The only messages we handle directly are a few function and control keys. I don't think anything has changed there.

It is probably the Qt code that has changed. We are building (at least I did in the version I sent you) with Qt 5.2.1 whereas it was probably 5.1 in the last public release.

How are you getting the window handle Laurie?

de Laurie, VK3AMA
73
Bill
G4WJS.



------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees


_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to