Opened 9 months ago

Last modified 6 months ago

#18790 new enhancement

AboutWindow: add functions for URLs

Reported by: humdinger Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: Kits/Interface Kit Version: R1/beta4
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

It'd be nice if AboutWindow got functions to add clickable URLs.

  • void AddProjectURL(const char* url)

Shows the label "Project:" with the provided URL after it. To be used to link to the project website/repo.

  • void AddBugtrackerURL(const char* url)

Shows the label "Bugtracker:" with the provided URL after it. To be used to link to the project's bugtracker.

Are there more?

I suppose those label+urls should appear after the (optional) description that's added with AddDescription().

Attachments (1)

About-links.png (25.2 KB ) - added by humdinger 7 months ago.
mockup

Download all attachments as: .zip

Change History (6)

by humdinger, 7 months ago

Attachment: About-links.png added

mockup

comment:1 by humdinger, 7 months ago

Or don't put it in the text, but as icon buttons in the StripeView:

mockup

That's website, bugtracker, and mailto-email address.

comment:2 by pulkomandy, 6 months ago

I suppose those label+urls should appear after the (optional) description that's added with AddDescription().

There is already support for adding arbitrary text with labels using the AddText function.

So you can do something like:

    const char* website[] = { "https://example.org", NULL };
    AddText("Website:", website);

However, there is currently no way to make the links clickable. Maybe a simple solution is detecting text items starting with "https://" and making these links?

comment:3 by humdinger, 6 months ago

Having icon-buttons for those URLs in the stripe view does have its charm, though. They catch your eye at first glance, and you don't have to potentially scroll and read through the text to see if those links are there at all.

Tooltips could textually explain those icons for when the user first encounters them.

comment:4 by pulkomandy, 6 months ago

Well, they look nice, but:

  • There is no hint that there are clickable, ideally they would need a button frame, or maybe they should look more like Tracker icons, and be draggable to obtain a bookmark of the website? In either case, we would remain closer to how our UI language typically works.
  • The URL is not visible and cannot be selected/copied. So you don't know where you're going to land until you click on it, you can't decide to copy it to another browser or even another machine
  • The meaning of each icon is also not necessarily immediately obvious (I think you made a good choice of icons here, still, and a tooltip can help even if I don't like tooltips :) )

We could have icons in the scroll view, with the URL besides them.

Or maybe we can do something completely different:

  • Have a BTabView with vertical tabs (similar to PowerStatus window when there are multiple batteries)
  • First tab: "info" alert icon, with the general about text
  • Second tab: "people" icon, with the authors list / credits / copyright
  • Third tab: "globe" icon, with the links to contact info, website, bugtracker, etc.

Then it's immediately obvious that these are clickable and switch between different parts of the about text, and they don't "hide" any data like the URLs.

comment:5 by humdinger, 6 months ago

That vertical tab idea, I like.

Note: See TracTickets for help on using tickets.