maoschanz / maoschanz/drawing

Useful "properties" dialog

Open
#124 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement feature request
Dominant language
Python
Stars
869
Forks
106
PR merge metrics
No merged PRs in 30d

Description

## Problem

1. i didn't test what happened but...
2. i fear that saving erases most (all?) metadata
3. even if they were preserved, the app has no way to show them
4. the few infos shown are literally all wrong lmao
- colorspace of the surface will of course always be ARGB32 so that's not an useful info at all
- [unfixable] the path is wrong with flatpak but no one cares
- size in pixels is correct, but conversion to centimeters or inches probably depends on the screen resolution?

## Suggested solution

1. [x] test if it's real (edit: it is). Since it's a domain where kolourpaint is really better, their dialog might help to test and debug.
2. If metadata are actually destroyed, i should use GdkPixbuf.Pixbuf methods to handle them (`image.py`-wide)
- [ ] see [here](https://lazka.github.io/pgi-docs/GdkPixbuf-2.0/classes/Pixbuf.html#GdkPixbuf.Pixbuf.copy_options)
3. once known:
- [ ] displaying them in the dialog isn't hard
- but maybe some of them are pertinent to *edit*?
- TODO
- which ones?
4. the path is not fixable but:
- [ ] remove the colorspace of the surface and use the one from the pixbuf info gathered at point 2., and warn the user if it's not ARGB32 (+button to prefs?)
- [ ] check if such issue exists, and if yes, cairo probably has a method to get the pixel density
- [ ] if a value is absent, the dialog shouldn't show a line with shit like "the value is unknown"

### Possible drawbacks

none

### Possible alternatives

the 3 points are not really interdependent

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in image.py and inspect the properties dialog and the image-saving path. Check whether metadata is preserved with GdkPixbuf.Pixbuf.copy_options, then identify which available metadata and pixel-density values the dialog should show. Done means the dialog presents relevant, accurate values and omits unavailable ones.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
desktop
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.