Commit Graph

190 Commits

Author SHA1 Message Date
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
7ef502759e sdgui: clean up DnD 2022-09-04 12:03:26 +02:00
ded899933c sdgui: make Ctrl+click put hovered word in search 2022-09-03 22:00:53 +02:00
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
49072f9d01 sdgui: fix context menu item sensitivity 2022-09-03 17:19:12 +02:00
b0f1d3d6ea Build with AsciiDoc as well as Asciidoctor
And bump copyright years.
2022-08-24 00:55:32 +02:00
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
259d0ac860 sdgui: support touch screen dragging for the view 2022-07-24 23:15:18 +02:00
aa985514a6 sdgui: fix up the smooth scrolling commit 2022-07-24 23:15:18 +02:00
6f5e32386e tabfile: fix mismatching popen/fclose 2022-07-24 23:15:18 +02:00
2c69937ef5 sdgui: use smooth scrolling 2022-07-24 21:36:57 +02:00
13ddec0274 Add a missing gtk_drag_finish() call 2022-02-17 11:02:35 +01:00
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
0d0ac40f96 sdtui: handle input field overflows reasonably 2021-11-04 11:43:18 +01:00
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
093baaa034 sdgui: make M-Tab go to the last chosen dictionary 2021-10-30 10:45:32 +02:00
ecab86966f sdtui: make M-Tab go to the last chosen dictionary 2021-10-30 10:18:20 +02:00
e383a50af7 Add clang-format configuration, clean up 2021-10-30 03:02:33 +02:00
ed26259e6d sdgui: fix M-0 going one item beyond our intent 2021-10-28 21:42:49 +02:00
0eb935ad9f sdgui: set the window title explicitly 2021-10-27 09:46:54 +02:00
c75de30765 sdgui: create and install a program icon 2021-10-27 09:46:17 +02:00
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
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
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
5190601852 sdgui: make C-Page Up/Down wrap around
To mimic sdtui behaviour.
2021-10-23 00:45:29 +02:00
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
519d6bd108 sdgui: bind Up/Down to view scrolling 2021-10-20 11:51:38 +02:00
b721e26557 sdgui: improve styling of the text entry 2021-10-20 11:46:52 +02:00
ec89870a32 sdgui: trim selection text
Just like sdtui does.
2021-10-20 11:19:47 +02:00
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
dd7b258698 sdgui: make an attempt at smooth scrolling 2021-10-20 09:46:06 +02:00
aa3ad12d44 sdgui: decrease source code line count 2021-10-20 09:17:53 +02:00
82accaf200 sdgui: make Page Up/Down scroll the view 2021-10-20 09:15:06 +02:00
e461189f0e sdgui: ignore Caps Lock for accelerators 2021-10-20 08:58:53 +02:00
85a30d20c3 sdgui: accelerate the hamburger
The hamburger initially resisted being accelerated.
2021-10-20 08:35:00 +02:00
54ef836eec sdgui: make even rows a bit darker by default 2021-10-17 12:46:06 +02:00
26a3c0c825 sdgui: bind ^W as in Readline 2021-10-17 11:58:06 +02:00
c364ec3b81 sdgui: stop hardcoding cell side padding 2021-10-17 11:18:29 +02:00
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
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
f147b54393 sdgui: load dictionaries from sdtui configuration 2021-10-16 06:46:44 +02:00
10c05a2422 sdgui: clean-up
It doesn't seem like we'll want to remember the position.
2021-10-16 03:45:38 +02:00
8fb2ce29cf sdgui: clean up scrolling code 2021-10-15 23:59:45 +02:00
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
573554b9de sdgtk -> sdgui, improve build, mention in README
It's finally not horrible.
2021-10-15 12:09:37 +02:00
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
3d53b2c131 Fix g_option_context_get_help() usage 2021-10-12 02:39:16 +02:00
627c296057 query-tool: support more field types
Add options to format the output for the terminal, or IRC messages.

Changed the output format to separate dictionary name with a tab,
so it's now rather similar to tabfiles.
2021-10-12 02:38:40 +02:00
e2790b42f3 sdtui: fix introductory message centring 2021-10-11 21:15:11 +02:00
9b220b74cc sdtui: minor rendering clean-up 2021-10-11 21:15:11 +02:00