react-nodegui icon indicating copy to clipboard operation
react-nodegui copied to clipboard

Add windowGeometryChanged to QMainWindowSignals to track window changes.

Open pro100andrik opened this issue 1 year ago • 1 comments

Is your feature request related to a problem? Please describe. I want to control window size and position changes to store them and when app close and starts again, read that geometry and show the window at the same size and coordinates when it was closed.

Describe the solution you'd like I think adding windowGeometryChanged method for QMainWindowSignals will be a perfect solution to this issue. When window changes its geometry, this signal will be fired and will return Geometry

Describe alternatives you've considered After reading the documentation and looking through the issues in this repository, I didn't find such a signal, so I came up with this solution

const mainWindowRef = useRef(null)
const handleMainWindowChange = useEventHandler({
  Resize: () => {
    console.log(mainWindowRef.current.native.size().height())
    console.log(mainWindowRef.current.native.size().width())
  },
  Move: () => {
    console.log(mainWindowRef.current.native.pos())
  }
}, [mainWindowRef])
<Window
  ref={mainWindowRef}
  on={handleMainWindowChange}
>
</Window>

Additional context Maybe I have missed something in documentation, let me know what.

pro100andrik avatar Nov 13 '23 19:11 pro100andrik

I catch the same events in my app for the same purpose.

sedwards2009 avatar Nov 13 '23 19:11 sedwards2009