Commit Graph

152 Commits

Author SHA1 Message Date
Romain Failliot d65edf5f30 fix(linter): fix new flake8 errors 2024-01-06 20:18:27 -05:00
Romain Failliot fa66bfe686 fix: fix compatibility with Python 3.12
Remove use of `distutils` which has been removed from Python 3.12 (see:
https://docs.python.org/3/whatsnew/3.12.html#summary-release-highlights)

Fixes #215
2024-01-06 19:32:22 -05:00
Romain Failliot f5e1173e27 fix: error when runnin with arg --version
on_shutdown is called even in command line mode (as expected), but
`self.statepath` is not initialized when running diffuse with the
argument `--version`.
2023-07-01 16:12:21 -04:00
Romain Failliot 32e4dee76b feat: remove support for SVK 2023-04-16 14:02:43 -04:00
Romain Failliot ef3d59d87b fix: don't save window_x/y anymore
As per GNOME HIG, let the DE position the window, but continue to store
the window width and height
2023-04-16 11:40:51 -04:00
Romain Failliot feb557d99b fix: add back save_state() when shuting down 2023-04-16 11:40:51 -04:00
Romain Failliot f8f0b0618c refactor: remove thin layer for Gtk.AboutDialog 2023-04-11 20:45:37 -04:00
Romain Failliot d4f2032972 feat: add default handler for SIGINT
This prevents having a callstack when hitting Ctrl+C in the terminal.
2023-04-11 20:45:37 -04:00
oscfdezdz e15eba2f2e
Remove code to generate custom icons
Now that custom icons are bundled in the build, this code is no longer
used.
2023-04-11 17:13:20 +02:00
oscfdezdz 4926ca91de
Add custom actions symbolic icons
Using gresource file and based on the suggestions for the merge menu
made in https://github.com/MightyCreak/diffuse/issues/90.
2023-04-11 17:12:44 +02:00
oscfdezdz ee813f22a4
Remove deprecated STOCK constant 2023-04-09 01:50:57 +02:00
Creak 951ed047d1
Merge pull request #204 from oscfdezdz/about_dialog
Add `transient_for` property to about dialog
2023-04-08 13:55:15 -04:00
oscfdezdz 6dba08f496
Add `transient_for` property to about dialog 2023-04-08 17:59:20 +02:00
Romain Failliot f5f425d089 fix: the syntax menu wasn't working anymore 2023-04-07 17:21:16 -04:00
Romain Failliot d42b0b925e fix: some signals names were not renamed
Some signals were renamed moths ago, but not everywhere in the code.
2023-04-07 17:16:52 -04:00
Romain Failliot f35633b873 refactor: replace '_' by '-' in action names 2023-04-07 17:16:52 -04:00
Romain Failliot 0fbc2e5e82 fix: quick fix for the GTK accelerators 2023-04-07 13:25:25 -04:00
Romain Failliot cfa2353e1a feat: improve log stack trace
* Remove calls to log functions in the stack trace
* Log to stdout for `logDebug`
* Log to stderr for `logError`
2023-04-07 11:11:45 -04:00
Romain Failliot 06ad24751f docs: update copyright years 2023-04-03 13:01:37 -04:00
Creak 22f4c95bbe
Merge pull request #192 from MightyCreak/fix-ci
Fix CI/CD
2023-04-03 12:28:46 -04:00
Romain Failliot 26928a249a fix(meson): `path()` is deprecated
Replaced it with `full_path()`.
2023-04-03 11:41:20 -04:00
Kirill Müller d2559c1be4 Fix keybindings for Next/Previous Difference on macOS 2023-04-03 10:39:53 -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