8000 GTK4 compiling branch by bhennion · Pull Request #5615 · xournalpp/xournalpp · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

GTK4 compiling branch #5615

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 49 commits into
base: master
Choose a base branch
from
Open

GTK4 compiling branch #5615

wants to merge 49 commits into from

Conversation

bhennion
Copy link
Collaborator
@bhennion bhennion commented Apr 12, 2024

It doesn't run yet, but we're closing in, I think.

This branch compiles (and links) and starts but the .glade files need to be adapted before testing anything. edit: and works

There are a couple of features I deactivated/commented out to get it to compile, so those need fixing either in gtk4, or before that, in gtk3 (e.g. the sidebar could be pre-ported).

  • Optimize cursor creation (cairo->pixbuf->texture->cursor)
  • Restore gtk-sourceview (5 is gtk4)
  • Zoom
    • Scrollzoom
    • Touch pinch zoom
    • Touchpad pinch zoom
    • Long term: refactor -> new Navigation = ScrollHandler + ZoomControl + unify event handling
  • Toolbar Customization
    • Create suitable GtkWidget for toolbars
    • Port ToolbarCustomizeDialog
    • Port drag'n'drop customization
  • Colorize svg for toolbar color icons (so they scale)
  • Sidebar
    • Port Sidebar
    • Restore page numbers
  • Clipboard
  • ImageDialog + add PdfPage dialog
  • Landscape/portrait icons in FormatDialog
  • Fix Gdk-CRITICAL **: 21:20:45.390: gdk_key_event_get_keyval: assertion 'GDK_IS_EVENT_TYPE (event, GDK_KEY_PRESS) || GDK_IS_EVENT_TYPE (event, GDK_KEY_RELEASE)' errors
  • Plugins
    • Refactor API for dialogs. Add callbacks
    • Port plugin dialog
    • Expose new action system. Retire old one.
  • Replace GdkPixbuf by GdkTexture?
  • Fix/report to GDK issues with x11 backend
  • Double and triple click
  • Fetch event history for stylus events? (see gdk_event_get_history())
  • Refactor device tool classification GTK4 compiling branch #5615 (comment)
  • Fix double/float conversion due to changes in GdkColor (4 x double became 4 x float)
  • Fix "Use Stock Icon" option - see IconNameHelper.cpp
  • Port or remove gui/inputdevices/touchdisable/TouchDisableX11.cpp (cf gui/inputdevices/HandRecognition.cpp:L74)
  • Remove code duplication: gui/toolbarMenubar/ToolMenuHandler.cpp:createItem() createIcon() load()
  • Fix accelerators priority (e.g. Ctrl + A when editing text selects the elements on the page, not the content of the current text box)
  • Fix MacOS copy/paste across instances pastes as image see this post
  • Opening Help URL fails on MacOS (at least ARM) see here and here
  • Fix cannot insert image on Windows see this post
  • Fix Icon while dragging in toolbar customization. see GTK4 compiling branch #5615 (comment)
  • Report and/or workaround GTK drag-n-drop bugs on MacOS/Windows (see GTK4 compiling branch #5615 (comment) for some bug reports)
  • Port MacOS ARM cirrus CI

NB: this branch is built on a merge of various PR's. Not really a pull request... Not anymore

@bhennion bhennion marked this pull request as draft April 12, 2024 08:48
@bhennion

This comment was marked as outdated.

@rolandlo
Copy link
Member

Oh, wow, that's awesome! Great job @bhennion ! I'm really excited!

grafik

@rolandlo

This comment was marked as resolved.

@rolandlo

This comment was marked as resolved.

@rolandlo

This comment was marked as resolved.

@bhennion

This comment was marked as resolved.

@rolandlo

This comment was marked as resolved.

@bhennion

This comment was marked as resolved.

@rolandlo

This comment was marked as resolved.

@rolandlo

This comment was marked as resolved.

Sign in to view
@rolandlo

This comment was marked as resolved.

@rolandlo

This comment was marked as resolved.

@bhennion bhennion force-pushed the pr/GTK4 branch 2 times, most recently from d640a73 to baaa7f8 Compare April 17, 2024 10:16
@bhennion

This comment was marked as resolved.

@bhennion bhennion force-pushed the pr/GTK4 branch 3 times, most recently from fe1ba02 to 1887c63 Compare April 18, 2024 08:41
@bhennion
Copy link
Collaborator Author

This is now in a reasonably stable state. Everything works with a couple of exceptions (toolbar customization, touchpad pinch zoom, clipboard, plugins).
I'm not quite sure how to proceed from here on. I can cleanup the commit history a little bit and make a dedicated branch on the repository.

@rolandlo
Copy link
Member

Great work @bhennion! It's a giant step forward!
Sure, cleaning up the commit history and making a dedicated branch are good ideas. Probably I'd like to work on some of the remaining issues as well in the coming two weeks (e.g. the plugins), so I can then make a PR to the dedicated branch.

We should also review your previous PR's that went into this PR, so that they can be merged into master.

Moreover I think it's time for some testing of the features that are supposed to work. I will share my observations in this PR.

@rolandlo

This comment was marked as resolved.

@bhennion

This comment was marked as resolved.

@rolandlo

This comment was marked as resolved.

bhennion and others added 29 commits May 28, 2025 20:35
    * Fix debug flags
    * Fix double/triple clicks
    * Fetch event backlogs for stylus input
- plugin.glade -> plugin.ui
- pluginEntry.glade -> pluginEntry.ui
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

GTK4 preparation
6 participants
0