Commit Graph

194 Commits

Author SHA1 Message Date
Přemysl Eric Janouch d13b4a793d
Prevent undefined behaviour 2022-09-24 18:42:59 +02:00
Přemysl Eric Janouch 0570a4d050
sdtui: measure the "search" prompt properly 2022-09-24 18:42:30 +02:00
Přemysl Eric Janouch e28e576fdb
sdtui: improve tab bar overflow behaviour 2022-09-24 11:15:25 +02:00
Přemysl Eric Janouch ae9952387a
sdgui: don't highlight when cursor not on widget 2022-09-12 04:00:26 +02:00
Přemysl Eric Janouch 27dcf87a64
sdgui: load dictionaries asynchronously
This is a must when loading huge dictionaries,
where not even parallelization helps much.
2022-09-04 13:16:40 +02:00
Přemysl Eric Janouch 7ef502759e
sdgui: clean up DnD 2022-09-04 12:03:26 +02:00
Přemysl Eric Janouch ded899933c
sdgui: make Ctrl+click put hovered word in search 2022-09-03 22:00:53 +02:00
Přemysl Eric Janouch 832842bf81
sdgui: don't reload on size-allocate
We could annoyingly get these events on window de/focus.
2022-09-03 18:17:04 +02:00
Přemysl Eric Janouch 49072f9d01
sdgui: fix context menu item sensitivity 2022-09-03 17:19:12 +02:00
Přemysl Eric Janouch b0f1d3d6ea
Build with AsciiDoc as well as Asciidoctor
And bump copyright years.
2022-08-24 00:55:32 +02:00
Přemysl Eric Janouch 2ff01f9fdb
sdgui: support text selection in the view
This is generally an improvement over the initial GtkLabel approach:
 - Multiple definition lines can be selected at once.
 - The widget doesn't keep a selection caret around (which means
   it can't be controlled from the keyboard, a conscious trade-off).
 - Text doesn't needlessly go to PRIMARY immediately during selection,
   making it somewhat possible lift the self-exception for
   the PRIMARY selection watch.

Closes #2
2022-08-04 05:23:09 +02:00
Přemysl Eric Janouch 259d0ac860
sdgui: support touch screen dragging for the view 2022-07-24 23:15:18 +02:00
Přemysl Eric Janouch aa985514a6
sdgui: fix up the smooth scrolling commit 2022-07-24 23:15:18 +02:00
Přemysl Eric Janouch 6f5e32386e
tabfile: fix mismatching popen/fclose 2022-07-24 23:15:18 +02:00
Přemysl Eric Janouch 2c69937ef5
sdgui: use smooth scrolling 2022-07-24 21:36:57 +02:00
Přemysl Eric Janouch 13ddec0274
Add a missing gtk_drag_finish() call 2022-02-17 11:02:35 +01:00
Přemysl Eric Janouch c899ceff10
sdgui: avoid focusing tab headers by mouse
Our tabs have dummy contents, which causes some complications.
2022-02-11 08:20:10 +01:00
Přemysl Eric Janouch 0d0ac40f96
sdtui: handle input field overflows reasonably 2021-11-04 11:43:18 +01:00
Přemysl Eric Janouch b36f185426
Fix various macOS-related/found issues
Even though this software isn't very useful on that system either,
due to its lack of PRIMARY.
2021-11-02 17:04:37 +01:00
Přemysl Eric Janouch 093baaa034
sdgui: make M-Tab go to the last chosen dictionary 2021-10-30 10:45:32 +02:00
Přemysl Eric Janouch ecab86966f
sdtui: make M-Tab go to the last chosen dictionary 2021-10-30 10:18:20 +02:00
Přemysl Eric Janouch e383a50af7
Add clang-format configuration, clean up 2021-10-30 03:02:33 +02:00
Přemysl Eric Janouch ed26259e6d
sdgui: fix M-0 going one item beyond our intent 2021-10-28 21:42:49 +02:00
Přemysl Eric Janouch 0eb935ad9f
sdgui: set the window title explicitly 2021-10-27 09:46:54 +02:00
Přemysl Eric Janouch c75de30765
sdgui: create and install a program icon 2021-10-27 09:46:17 +02:00
Přemysl Eric Janouch 2efad7453a
sdgui: let the view act as a drop target for files
Inspired by how the only reasonable method of launching sdgui
on Windows is by using drag and drop on the executable.

Sadly the top-level window cannot be used as a whole for this.
2021-10-25 04:02:37 +02:00
Přemysl Eric Janouch 0371dd95dd
sdgui: fix popup menu alignment
On Windows 10 GTK+ completely failed to turn it around
so that it would be visible.
2021-10-23 18:51:23 +02:00
Přemysl Eric Janouch 03ebaddff5
sdgui: add a file open dialog to the menu
And remove the selection following checkbox from Windows builds.
2021-10-23 02:12:24 +02:00
Přemysl Eric Janouch 5190601852
sdgui: make C-Page Up/Down wrap around
To mimic sdtui behaviour.
2021-10-23 00:45:29 +02:00
Přemysl Eric Janouch 89580f2113
sdgui: cross-compile for Windows
No one bothered to ask whether it /should/ be done.

The hamburger needs to be replaced with a file open dialog there.
2021-10-22 01:59:09 +02:00
Přemysl Eric Janouch 519d6bd108
sdgui: bind Up/Down to view scrolling 2021-10-20 11:51:38 +02:00
Přemysl Eric Janouch b721e26557
sdgui: improve styling of the text entry 2021-10-20 11:46:52 +02:00
Přemysl Eric Janouch ec89870a32
sdgui: trim selection text
Just like sdtui does.
2021-10-20 11:19:47 +02:00
Přemysl Eric Janouch 6158f6e3b5
sdgui: avoid Pango markup for keywords
Sadly, there is no way to make this an improvement for the end user.
2021-10-20 11:17:41 +02:00
Přemysl Eric Janouch dd7b258698
sdgui: make an attempt at smooth scrolling 2021-10-20 09:46:06 +02:00
Přemysl Eric Janouch aa3ad12d44
sdgui: decrease source code line count 2021-10-20 09:17:53 +02:00
Přemysl Eric Janouch 82accaf200
sdgui: make Page Up/Down scroll the view 2021-10-20 09:15:06 +02:00
Přemysl Eric Janouch e461189f0e
sdgui: ignore Caps Lock for accelerators 2021-10-20 08:58:53 +02:00
Přemysl Eric Janouch 85a30d20c3
sdgui: accelerate the hamburger
The hamburger initially resisted being accelerated.
2021-10-20 08:35:00 +02:00
Přemysl Eric Janouch 54ef836eec
sdgui: make even rows a bit darker by default 2021-10-17 12:46:06 +02:00
Přemysl Eric Janouch 26a3c0c825
sdgui: bind ^W as in Readline 2021-10-17 11:58:06 +02:00
Přemysl Eric Janouch c364ec3b81
sdgui: stop hardcoding cell side padding 2021-10-17 11:18:29 +02:00
Přemysl Eric Janouch a31d329754
sdgui: stop hardcoding colours
Reusing colours from sdtui configuration would be awkward
and complicated, e.g. with font attributes, so abandon that idea.
2021-10-17 09:37:32 +02:00
Přemysl Eric Janouch c0a094e473
sdgui: load dictionaries in parallel, as sdtui did
Also, resolve some use-after-frees in GTK+.
2021-10-16 08:34:37 +02:00
Přemysl Eric Janouch f147b54393
sdgui: load dictionaries from sdtui configuration 2021-10-16 06:46:44 +02:00
Přemysl Eric Janouch 10c05a2422
sdgui: clean-up
It doesn't seem like we'll want to remember the position.
2021-10-16 03:45:38 +02:00
Přemysl Eric Janouch 8fb2ce29cf
sdgui: clean up scrolling code 2021-10-15 23:59:45 +02:00
Přemysl Eric Janouch ce92a23551
sdgui: scroll by three rows
Don't use an arbitrary amount of pixels, base it off the font.
2021-10-15 23:09:26 +02:00
Přemysl Eric Janouch 573554b9de
sdgtk -> sdgui, improve build, mention in README
It's finally not horrible.
2021-10-15 12:09:37 +02:00
Přemysl Eric Janouch 9d7bc2a839
sdgtk: add and use a custom listview widget
Nothing in GTK+ appears to be suited for what are virtually infinite
lists.  Our workaround with GtkLabel and GtkScrolledWindow has been
heavily suboptimal and needs to be replaced.

Use Pango directly to handle our relatively simple needs.

Upgrades:
 - the widget can be scrolled,
 - keywords are repeated for each definition line,
 - definition lines are now wrapped, and support 'g' and 'x' fields.

Downgrades:
 - text can no longer be selected, so far.
2021-10-15 11:46:09 +02:00