Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • pitivi pitivi
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 194
    • Issues 194
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 32
    • Merge requests 32
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOMEGNOME
  • pitivipitivi
  • Merge requests
  • !442

Draft: GSoC 2022: GTK4 Port

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Aryan Kaushik requested to merge Aryan20/pitivi:GTK4-port into master Jun 25, 2022
  • Overview 11
  • Commits 92
  • Pipelines 100
  • Changes 80

GSoC 2022: Update Pitivi to use GTK4 instead of GTK+ 3

Current major issues:

  • GdkPixbuf is deemphasized, causing sizing issues and type mismatches (Partially done) - Guide Link
  • GtkLayout replacement required - Guide Link
  • Viewer (Reliant on GtkSink port)
  • Symbolic icons colour change issue - Guide Link
  • GtkPopover - Guide Link
  • Drop the use of Dialog.run (Partially done) - Guide Link
  • Implement Drag and Drop EventController - Guide Link
  • Drop use of GdkScreen - Guide Link
  • Update to GtkFileChooser API changes - Guide Link
  • Adapt to GtkHeaderBar API changes - Guide Link
  • Fix Unittests
  • Fix Interactive Intro (Reliant on GtkPopover changes)
  • Replace "configure-event" and "size-allocate" signals

Done:

  • Replace GtkButtonBox, GtkEventBox, GtkAlignment
  • Drop Stock Buttons
  • Replace GtkBox expand and fill properties
  • Remove "app_paintable"
  • Change dependency to GTK4
  • Replace pack_start and pack_end
  • Implement new cursor API
  • Remove GtkBin
  • Replace FIleChooserButton
  • Implement GtkIconTheme changes
  • Update matplotlib dependency to GTK4 backend
  • Update to new GtkButton Image API
  • Implement GtkHeaderBar API changes
  • Replace GtkPaned API, GtkToolBar, GtkContainer
  • Implement GtkSearchEntry changes
  • Implement GtkInfoBar changes
  • Connect GtkBuildable signals at initialization
  • Implement GtkScrolledWindow changes
  • Replace GtkShadowType, GtkRelief, GtkPopover::modal, set_line_wrap, use_action_appearance properties
  • Implement GtkSpinButton API changes
  • Drop use of show_all()
  • Implement new GtkIconSize
  • Replace AtkObject
  • Remove packing elements in UI files
  • Implement GtkLabel changes
  • Drop use of "visible_window"
  • Drop use of GtkActionGroup
  • Implement GtkMenuButton changes
  • Change version in AboutWindow
  • Adapt to GDateTime changes
  • Implement GtkPopoverMenu changes
  • Replace delete-event
  • Implement GtkCheckBox and GtkRadioButton changes
  • Use Gfile in FileChooser
  • Implement GtkStyleContext API changes
  • Replace GTK_STYLE_CLASS_*
  • Implement draw-value changes for scale
  • Implement GtkEventController
Edited Jan 10, 2023 by Aryan Kaushik
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: GTK4-port