OmaPhoto 1.0.0: the Linux port of Compositor
Release / deb (push) Canceled after 0s
Release / rpm (push) Canceled after 0s
Release / arch (push) Canceled after 0s
Release / publish (push) Canceled after 0s

A layered image editor for Linux and Omarchy, ported from Compositor
(github.com/robbietilton/Compositor), whose Swift source is its
specification. It reads and writes Compositor's .comp projects.

Packages for Ubuntu, Fedora and Arch come from the release workflow;
scripts/install/ holds one install script per distribution family,
and flake.nix serves NixOS.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
雷电芽衣andClaude committed 2026-09-26 00:44:52 -04:00
commit c864304695
564 files changed
+100804

No files matched your search

+38
View File
@@ -0,0 +1,38 @@
#pragma once
#include "ContentView.h"
#include "Document/ProjectWorkspace.h"
#include "UI/CompositorMenus.h"
#include "UI/ProjectTabs.h"
#include <QMainWindow>
#include <QToolBar>
// The window: the front tab's editor under the tab strip.
class ProjectWorkspaceView : public QMainWindow {
Q_OBJECT
public:
explicit ProjectWorkspaceView(ProjectWorkspace &workspace, QWidget *parent = nullptr);
ContentView *content() const { return m_content; }
ProjectTabStrip *tabs() const { return m_tabs; }
protected:
void closeEvent(QCloseEvent *event) override;
private:
void synchronize();
void synchronizeSession();
void watchFront();
ProjectWorkspace &m_workspace;
QToolBar *const m_toolbar;
ProjectTabStrip *const m_tabs;
QAction *m_newCanvas = nullptr;
QAction *m_fit = nullptr;
QAction *m_actualPixels = nullptr;
QAction *m_zoomIn = nullptr;
QAction *m_zoomOut = nullptr;
ContentView *m_content = nullptr;
// Held until its editor goes, as Swift's views hold sessions.
std::shared_ptr<ProjectTab> m_shownTab;
QMetaObject::Connection m_sessionWatch;
};