martinrotter / rssguard

Feed reader (and podcast player) which supports RSS/ATOM/JSON and many web-based feed services.
GNU General Public License v3.0
1.44k stars 120 forks source link

Enhancing RTL Features: Feed Titles Alignment, Tableview Layout Direction Switching, and Message Marking Read #1371

Open RachidTagzen opened 2 months ago

RachidTagzen commented 2 months ago

I encountered issues with my previous commit operation. As a result, I've made 3 fixed commits along with brief explanations for each:

1. Prevent message to be marked read when it's selected.
2. Feeds' titles alignment from right to left & vice versa.
3. Ability to switch the entire messages Tableview Layout Direction.




Prevent message to be marked read when it's selected

This feature prevents messages from being marked as read automatically when they are selected or clicked on. It gives users the ability to control when messages are marked as read.

image




Feeds' titles alignement from right to left & vice versa

This feature allows users to choose how the feeds’ titles will be aligned, whether it's from right to left or left to right.

image | image

image




Ability to switch the entire messages Tableview Layout Direction

This feature allows users to switch the direction of the entire messages TableView Layout, allowing for a change between right-to-left and left-to-right orientations.

This feature works correctly and perfectly, it handles all the possible cases that are presented in the following truth table :

Truth table

image

martinrotter commented 2 months ago

Lets ignore feature 1 for now.

At this point, there is RTL flag which can be set per-feed and also recursively.

image

Setting RTL into feeds is at this point correctly taken into account when displaying FEED list or ARTICLE list. If category contains some RTL and some NON-RTL feeds then both lists will react appropriately.

Category selected (mixed RTL). image

Category selected (RTL only) image

Feed selected (RTL) image

So from my POV your table above is not factually correct. If feed is marked as RTL, then all its content including the article content is displayed as RTL. image

Maybe I am missing something but current RSS Guard behavior already de-facto behaves like your above table specifies.

That's for the point 3.

As per point 2 - yes, that subfeature could likely be added but I would maybe prefer it to be feed-specific setting which can also be changed globally via "edit recursive child feeds" feature.

RachidTagzen commented 2 months ago

Ability to switch the entire messages Tableview Layout Direction

Setting RTL into feeds isn't enough. So, I think you forgot to activate this option in the general settings (otherwise the table truth will not be correct):

Tools -> Settings -> Feeds & articles -> Articles list -> Switch messages tableview direction

For an RTL feed, the best & comfortable Tableview display is to switch its layout totally to right-to-left, not just set individual columns to right-to-left. Switching individual columns to right-to-left is only useful in the case when the selected category is mixed. So, my user experience is prefect using my solution.

This video shows how the feature switchs the Tableview layout direction: https://www.youtube.com/watch?v=yklb8eFdlbM




Feeds' titles alignment from right to left & vice versa

I think that your suggestion is also good. So why not use my solution and your suggestion at the same time like this :

The priority logic order must be like this: "Feed settings" overrides "Category settings" overrides "Global settings"



NB: Here is my sample database: database.zip