Commit Graph

577 Commits

Author SHA1 Message Date
Dima Krasner b2fac23783 fix failure when first chunk arrives last 2023-11-09 08:20:12 +01:00
Dima Krasner b84f4ba5dd coding style cleanup 2023-11-09 08:20:12 +01:00
Dima Krasner e18f9e4ecb coding style cleanup 2023-11-09 08:20:12 +01:00
Dima Krasner 64fd9d7484 fix build with cmake 2023-11-09 08:20:12 +01:00
Dima Krasner 1a45619461 add ugly guppy:// v0.4 support 2023-11-09 08:20:12 +01:00
Felix Yan 40448d458c Correct a typo in BUILDING.md 2023-11-07 17:57:05 +01:00
Xavier Del Campo Romero 6d97b7f198 Replace QInputDialog with custom dialog for queries
Recent commits allowed multi-line input while reusing the QInputDialog
object already defined by Kristall. However, QInputDialog lacks a way to
access its QPlainTextEdit directly, and therefore set the wrap mode.

Since QInputDialog does no wrapping, it is inconvenient for writing a
long text (think of social media sites such as BBS or Station).
Therefore, a custom QDialog-derived class, namely QueryDialog, has been
provided.
2023-10-13 13:14:00 +02:00
Xavier Del Campo Romero 8cb79ee671 build.yml: Test CMake builds 2023-10-02 16:36:29 +02:00
Xavier Del Campo Romero 42022bdfd2 Add CMake-based build system 2023-10-02 16:36:29 +02:00
Xavier Del Campo Romero 317bdbad5b settingsdialog.ui: Move "Generic" widgets to QScrollArea
This would allow smaller screens (think of mobile devices such as the
PinePhone or Librem 5) to be able to fit the settings dialog, and
therefore use it.
2023-09-29 14:23:09 +02:00
Xavier Del Campo Romero 505723e9df browsertab.cpp: Use multi-line input when required
Some Gemini sites such as Station or BBS allow multi-line posts.
2023-09-29 14:22:22 +02:00
Michael Steenbeek 3709c3d6bd Use startsWith() instead of left(4) 2023-08-30 08:43:16 +02:00
Michael Steenbeek 10a9c4ccfa Support URLs in Gophermaps
Paths in Gophermaps that start with “URL:” should be interpreted as direct
URLs, rather than references to files or directories on the Gopher server
itself.

An excerpt from the standard document:
```

Links to URLs from a gopher directory shall be defined as follows:

 Type -- the appropriate character corresponding to the type of the
 document on the remote end; h if HTML.

 Path -- the full URL, preceeded by "URL:".  For instance:
         URL:http://www.complete.org/

 Host, Port -- pointing back to the gopher server that provided
 the directory for compatibility reasons.

 Name -- as usual for a Gopher directory entry.

```
Source: gopher://quux.org/0/Archives/Mailing Lists/gopher/gopher.2002-02?/MBOX-MESSAGE/34

An example of this in the wild can be seen at gopher://gopher.floodgap.com ,
at the bottom of the page.

Note that above link carries a fallback for clients that do not support it,
as described by the Bucktooth server software:
```
[...]  most people will want to add web links to their
gophers anyway. In 0.1-pr4 and up, this is supported in a protocol independent
fashion; simply specify any URL and an 'h' item type, like so:

hYour Web Link<TAB>URL:http://www.floodgap.com/

Note that the URL must be preceded by a literal "URL:" and that the itemtype
is h. Smart clients will automatically take the URL portion and use it, but
even if they do not, Bucktooth will generate an HTML page with a Refresh:
header and forward them on automatically.
```

Other clients supporting this standard include the OverbiteWX extension.
(Most likely, there will be others, but I haven’t tested them all.)
2023-08-30 08:43:16 +02:00
Acidus 659a144814 Update settingsdialog.cpp 2023-07-08 10:12:12 +02:00
Acidus efdc99fe32 update with active search engines
adding Kennedy and TLGS as search engines
2023-07-08 10:12:12 +02:00
Carlos Henrique Lima Melara 4308819b9d doc/gen-man.sh: use printf instead of echo to make it portable
printf is recommended instead of echo because it has a more predictable
behavior than echo (tip from the POSIX standard ;-). Using it allow us
to generate the _same_ manpage using sh, dash or bash.
2023-06-10 09:11:50 +02:00
Felix Queißner 56ed84a1b4
Removes ubuntu_18 runner 2023-06-05 08:31:13 +02:00
Carlos Henrique Lima Melara b6c0259854 doc: remove unused DATE logic from gen-man.sh
The use of $DATE was removed in 7a5499d7, but I forgot to remove this
logic from gen-man.sh.
2023-06-05 08:29:26 +02:00
Carlos Henrique Lima Melara 9c60513b8d doc: double escape special characters (\f) in gen-man.sh
sh and, consequently, dash interpret some escaped characters as control
sequences, so an echo '\f' outputs a form feed. To avoid this problem
in manpage generation, we have to escape "\f" sequences.
2023-06-05 08:29:26 +02:00
Tomas Åkesson c65edbc4dd Focus browsing area after page is loaded
This change allows the user to start scrolling with the keyboard instantly,
without having to focus the browsing area first, after a page has loaded.

This happens for example when opening a new tab, and when entering an
address manually.
2023-04-06 20:55:47 +02:00
Tomas Åkesson d47e3d3f54 Allow middle-click to open new tab when text is selected
If text is selected, middle-click will not be forwarded to the function
that opens the link in a new tab. So this change will deselect any
selected text before trying to open a new tab.

Fixes #253
2023-04-06 20:55:37 +02:00
Tomas Åkesson d937a0c32e Fix crash when encountering incomplete ANSI codes
Add bounds checking before increasing iterator pointer, to prevent
incomplete ANSI codes causing iterators going to far.
2023-04-02 18:15:30 +02:00
Tomas Åkesson eecc1d587c Fix crash when closing gopher tab during content loading 2023-04-01 19:50:05 +02:00
Tomas Åkesson 84c11ed766 Fix media player stuttering
Only call setPosition() on the QMediaPlayer object when the user has manually
dragged the slider position slider.

Otherwise the slider and player will call each other, probably causing a
feedback loop which causes stuttering.
2023-03-26 01:01:13 +01:00
Alexey Andreyev a63178f48f Improve Qt 6 support
Add missing mediaplayer widget logic

Contributes to:
https://github.com/MasterQ32/kristall/pull/266
2023-03-25 18:02:04 +01:00
Alexey Andreyev b833a5d261 Introduce Qt 6 support
With QT_VERSION_CHECK and core5compat module
2023-03-24 23:42:29 +01:00
Alexey Andreyev c15e14e9d1 AboutHandler: improve cache request generation
Specify Utf8 encoding for cache information header
2023-03-24 23:42:29 +01:00
Carlos Henrique Lima Melara d88dd7bfd1 fix missing kristall version when not building in git repo 2022-12-30 10:17:47 +01:00
Carlos Henrique Lima Melara c21d804888 BUILDING.md: use a better formatting to Ubuntu and Debian section 2022-12-25 10:41:48 +01:00
Carlos Henrique Lima Melara 94aec62fd0 BUILDING.md: add qt5-tools to arch required packages list (fix #262) 2022-12-25 10:41:48 +01:00
Carlos Henrique Lima Melara e505da005a BUILDING.md: add info about Debian and using dynamic linking 2022-12-25 10:41:48 +01:00
Carlos Henrique Lima Melara e57a7ef663 src/about/help.gemini: fix typo (completly -> completely) 2022-12-25 10:41:48 +01:00
Carlos Henrique Lima Melara be009e4752 src/kristall.pro: append CPPFLAGS to CFLAGS and CXXFLAGS
qmake does not use QMAKE_CPPFLAGS, this is a hack to include it.
2022-01-30 16:55:41 +01:00
Carlos Henrique Lima Melara 7a5499d7a2 Removes build date from manpage to make kristall builds reproducible 2022-01-30 16:55:41 +01:00
Felix "xq" Queißner 6b39f24484 Implements #245 2021-11-20 15:16:34 +01:00
Felix "xq" Queißner 9dd660d66e Improves caching api related to urls, implements fragment handling, fixes #237 2021-11-20 15:02:03 +01:00
ols 9744a24ffb Add additional brew command for macOS building
By default, after installing qt, users won't have qmake in their path. An additional command is needed to do this.
2021-11-15 20:01:06 +01:00
quietok(david) bca592adf6 new location macos 11 homebrew qt 2021-09-13 11:00:34 +02:00
quietok(david) 8a7dfe0b1a Fix x86 for Haiku and maybe others 2021-09-13 10:33:29 +02:00
linear 2cdf23f692 doc/gen-man.sh: make sed command portable
usage of the "-i" feature of sed is not entirely portable across
different operating systems. -i has an optional extension to save
a backup of the edited file, and different systems parse this option
in a different manner.

the sed in GNU, busybox, NetBSD, and OpenBSD expects the argument
to be immediately after, like `-i.bak`, if it is present.

the sed in macOS and FreeBSD expects the argument to follow after
a space, like `-i .bak`, but will accept the `-i.bak` form as well.

the issue is that when no backup is specified, the first requires
just `-i`, where the second requires `-i ''`. the easiest way around
this is to just add a backup, which is what i chose to do here. i
also added the .bak extension to the .gitignore.

additionally, all aforementioned seds except for GNU require the file
to be the final argument, and will not accept it between other options.
2021-09-05 11:04:54 +02:00
linear e07c8eb599 doc/gen-man.sh: head and tail +/- syntax is not portable
the + and - syntax on head and tail are only present, as far as i know,
in GNU coreutils, and are not present on any other UNIX or BSD systems.

this patch replaces those with a more portable processing chain, which
is tested to work on GNU coreutils, NetBSD, macOS, and busybox.
2021-09-05 11:04:23 +02:00
linear 0a8ecd6223 Fix building on macOS/arm64
Homebrew installs to a different directory on macOS/arm64.

this adds checks in the Makefile and in kristall.pro, and sets
the correct paths to Homebrew depending on whether the build is
targeting arm64 or not.
2021-09-05 11:03:57 +02:00
koyu e494b4b8a4 Fix some spelling errors 2021-06-02 15:52:49 +02:00
Thomas Groman 9e0f8e1f7a cleanup mime entry during uninstall
Signed-off-by: Thomas Groman <tgroman@nuegia.net>
2021-05-08 10:56:05 +02:00
Thomas Groman 3a191422ed Default install to user prefix
Signed-off-by: Thomas Groman <tgroman@nuegia.net>
2021-05-08 10:56:01 +02:00
Thomas Groman 5abc9cbe1e fix varible conflict in make install MANPATH conflicts with system environment varible so we rename it to MANPATH2
Signed-off-by: Thomas Groman <tgroman@nuegia.net>
2021-05-08 10:52:07 +02:00
Thomas Groman 7fc40c6bee Add support for XHTML This patch sends XHTML down the HTML renderer path instead of erroring out unsupported mime. It does not implement XHTML exactly to the spec. That could hopefully be looked at in the future.
Signed-off-by: Thomas Groman <tgroman@nuegia.net>
2021-05-08 10:51:34 +02:00
Felix (xq) Queißner 10684b6d82 Further improves localization (#191). Allows switching and setting the chosen localization properly. 2021-05-08 10:44:03 +02:00
Felix (xq) Queißner a2f36ec4d1 Inserts setting for current language. 2021-05-08 10:44:03 +02:00
Felix (xq) Queißner c9e9fccd22 Updates ROADMAP 2021-05-08 10:44:03 +02:00