Commit Graph

131 Commits

Author SHA1 Message Date
Romain Failliot 26928a249a fix(meson): `path()` is deprecated
Replaced it with `full_path()`.
2023-04-03 11:41:20 -04:00
Creak 311975cadc
fix: clicking buttons in the toolbar was crashing (#189) 2023-01-22 16:11:37 -05:00
Creak 977d015c35
Use Python GTK best practices (#184)
* refactor: rename class `Application` to `DiffuseApplication`
* refactor: rename class `Diffuse` to `DiffuseWindow`
* refactor: remove unnecessary constructor parameters + docstrings
* refactor: move DiffuseWindow class to its own file
* refactor: move PaneHeader/Footer outside DiffuseWindow
* refactor: move FileDiffViewer outside DiffuseWindow
* docs: update CHANGELOG.md
2022-12-12 21:18:58 -05:00
Iurii Zolotko 8e32f883ec
Use GTK3's GApplication/GtkApplication #178 (#181)
* Use GTK3's GApplication/GtkApplication #178
* fix: remove icons in menu
* doc: update CHANGELOG.md
* chore(i18n): update po/diffuse.pot

Co-authored-by: Yurii Zolotko <yurii.zolotko@pm.me>
Co-authored-by: Romain Failliot <romain.failliot@foolstep.com>
2022-11-21 14:01:49 -05:00
Creak fc84191095
Prompt once to reload if more than one file modified externally (bis) (#180)
* Create only one dialog even if multiple files has been changed on disk
* fix: the calls to `NumericDialog` weren't working
* use `transient_for` instead of `parent` when creating new `Gtk.Dialog`
* Changelog: I removed the "thanks to" (just kept the mentions to the users), because it felt weird to put "thanks to myself" 😅 

Co-authored-by: Yurii Zolotko <yurii.zolotko@pm.me>
2022-11-07 16:20:56 -05:00
Romain Failliot 883b69c6ba Fixed the "Column %d" fuzzy translations 2022-10-23 20:03:03 -04:00
Hugo Holgersson e8a7abb679 Move the prebuilt macOS icon to data/icons 2022-10-23 15:58:09 -04:00
Hugo Holgersson c0b09ae95a Use the Command key (not Ctrl) on macOS
For example, on macOS, Cmd+F opens Find.
Ctrl+F is kept on other OSes. The same goes
for other standard key commands, like Cmd+S etc.
2022-10-23 15:58:09 -04:00
Hugo Holgersson 9a7ced4bc4 Build logic for installing Diffuse as a native macOS app
Tested on macOS 12.5:

  brew install meson python3 py3cairo pygobject3 gtk+3
  meson setup build
  cd build
  meson compile
  meson test
  meson install

After `meson install`, `diffuse` can be used to launch a
native Mac app that is installed into /Applications/Diffuse.app.

These steps could be put into a Homebrew formula, see
https://docs.brew.sh/Formula-Cookbook, as a way to
distribute Diffuse on macOS.
2022-10-23 15:58:09 -04:00
Romain Failliot 4422db52a1 Fix mypy errors and install dependencies on Fedora 2022-10-23 15:42:38 -04:00
Romain Failliot 6e96b1383e cleanups: use `get`/`set` methods instead of direct access 2022-04-15 12:45:57 -04:00
Romain Failliot e19f1a192b fix: get_text was not defined on all the widgets
* Use `get_text` when available
* Use `get_font` when Gtk.FontButton
* Raise TypeError exception otherwise
2022-04-15 12:45:46 -04:00
Romain Failliot dcea1ad68c Don't use new() in main.py 2022-04-04 14:33:01 -04:00
Romain Failliot 63ce9caa7f Don't use new() in preferences.py 2022-04-04 14:33:01 -04:00
Romain Failliot d9c0efcbd0 Don't use new() in utils.py 2022-04-04 14:33:01 -04:00
Romain Failliot 65310cf4c4 Don't use new() in widgets.py 2022-04-04 14:33:01 -04:00
Romain Failliot 5eca7db14b Remove new() in dialogs.py 2022-04-04 14:18:25 -04:00
Romain Failliot dc2e445c77 Update all translation files 2022-04-04 12:21:05 -04:00
Romain Failliot ae55dc6373 Update translation POT and FR files 2022-04-04 12:00:53 -04:00
Romain Failliot 86137e90c5 Add static typing for main 2022-01-09 19:24:34 -05:00
Romain Failliot 0a2d3cc3e0 Add static typing for vcs module 2022-01-09 18:25:15 -05:00
Romain Failliot 914ea66cc3 Add static typing for resources 2022-01-09 18:05:14 -05:00
Romain Failliot e975f66fde Add static typing for widgets 2022-01-09 18:04:39 -05:00
Romain Failliot e660acdc48 Add static typing for FileDiffViewerBase.Line 2022-01-09 16:04:05 -05:00
Romain Failliot dcfb7ad80a Add static typing for Preferences 2022-01-09 15:54:36 -05:00
Romain Failliot 92da1244fb Add static typing for utils.EncodingMenu 2022-01-09 15:33:38 -05:00
Romain Failliot 94aa293f1a Add static typing for utils.MessageDialog 2022-01-09 15:16:55 -05:00
Romain Failliot 133011bbf5 Add static typing for utils.popenReadLines 2022-01-09 15:11:55 -05:00
Romain Failliot 3b17dababd Add static typing for utils.popenRead 2022-01-09 15:10:31 -05:00
Romain Failliot dd57b466ef Add static typing for utils.safeRelativePath 2022-01-09 14:23:11 -05:00
Romain Failliot 1b03b56e6a Improve variable naming 2022-01-09 14:12:01 -05:00
Romain Failliot 7f5918704e Add static typing for VcsInterface.getRevision 2022-01-09 13:56:43 -05:00
Romain Failliot bf53f3c417 Add static typing for VcsInterface.getFileTemplate 2022-01-09 13:37:57 -05:00
Creak c224d17e9a
Merge pull request #141 from MightyCreak/docs-add-dependencies
Add project dependencies and fix Python 3.8 compatibility
2022-01-09 11:04:18 -05:00
Romain Failliot 0bf760f22a fix: Python 3.8+ compatibility
Use `List` instead of `list` and `Tuple` instead of `tuple`
2022-01-09 11:01:28 -05:00
Creak 3222cfe4d9
Merge pull request #138 from Philipp91/master
Fix SyntaxError in utils.py
2022-01-09 09:23:32 -05:00
Philipp Keck 9099ea0738 Fix SyntaxError in utils.py
No idea if a lint error that 812ca1779f tried to solve -- we'll see.
2022-01-09 10:45:24 +01:00
Romain Failliot d420d7aa93 Convert some functions to static typing 2022-01-08 17:54:39 -05:00
Romain Failliot 70b1bdbb9f No python files are processed by Meson anymore
* Linters can be run sooner (before install)
* Moved some constants in the config file
* Added a new keyword in the config syntax: "option"
* Better messages when an error occurs while parsing the config
2021-11-27 21:55:49 -05:00
Romain Failliot ec7d8adde2 Fix translation string with format 2021-11-27 18:36:28 -05:00
Romain Failliot c14d765f9c Rename "Diffuse Merge Tool" to just "Diffuse" 2021-11-27 18:02:12 -05:00
Romain Failliot 124d086009 ci: call the linters on the installed directory 2021-11-24 20:27:47 -05:00
Romain Failliot 70ba837431 Remove lasting linter errors 2021-11-24 20:27:47 -05:00
Romain Failliot d89ac0540b Fix all mypy errors 2021-11-22 20:54:46 -05:00
Romain Failliot 8d25396f68 Fix all flake8 errors 2021-11-22 20:53:21 -05:00
Romain Failliot f4a446caa8 Fix some typos and convert windows-installer scripts to Python 3
The scripts are poorly converted as Windows is not really supoported
anymore and would need some love from a contributor who actually uses
Windows
2021-11-22 18:52:26 -05:00
Romain Failliot c54e346887 ci: install dependencies
* Install GTK dev dependencies
* Add requirements.txt
* Fix error that happens on CI only (?)
2021-11-21 15:32:16 -05:00
Romain Failliot 5bcd63fe27 pylint: enable import-error, no-name-in-module, no-self-use 2021-11-21 15:32:16 -05:00
Romain Failliot 032e9a398b Move all the diffuse package in its own directory
This helps the linters (pylint and flake8)
2021-11-21 15:32:16 -05:00
Romain Failliot 81e87eb161 Fix cyclic import between utils and resources 2021-11-21 15:32:07 -05:00