Use U+003A colon character on RTL languages

Unfortunately U+2236 seems to break time labels on RTL languages. Check text direction at startup and select best one that works.
This commit is contained in:
Rafał Dzięgiel
2022-06-01 16:27:22 +02:00
parent 387bc7a2f3
commit e37f2a0a30
5 changed files with 12 additions and 6 deletions

View File

@@ -165,7 +165,7 @@ class ClapperElapsedTimeButton extends PopoverButtonBase
setInitialState()
{
this.label = '00000000';
this.label = `00${Misc.timeColon}0000${Misc.timeColon}00`;
}
setFullscreenMode(isFullscreen, isMobileMonitor)

2
src/controls.js vendored
View File

@@ -27,7 +27,7 @@ class ClapperControls extends Gtk.Box
this.isMobile = false;
this.showHours = false;
this.durationFormatted = '0000';
this.durationFormatted = `00${Misc.timeColon}00`;
this.revealersArr = [];
this.chapters = null;

View File

@@ -10,6 +10,7 @@ Debug.debug('imports');
const { GstClapper, Gtk, Adw } = imports.gi;
const { App } = imports.src.app;
const Misc = imports.src.misc;
function main(argv)
{
@@ -19,6 +20,10 @@ function main(argv)
Gtk.init();
Adw.init();
/* U+2236 seems to break RTL languages, use U+003A instead */
if(Gtk.Widget.get_default_direction() === Gtk.TextDirection.RTL)
Misc.timeColon = ':';
Debug.debug('initialized');
new App().run(argv);

View File

@@ -9,6 +9,7 @@ var subsMimes = [
'application/x-subrip',
'text/x-ssa',
];
var timeColon = '';
var settings = new Gio.Settings({
schema_id: appId,
@@ -161,8 +162,8 @@ function getFormattedTime(time, showHours)
time -= minutes * 60;
const seconds = ('0' + Math.floor(time)).slice(-2);
const parsed = (hours) ? `${hours}` : '';
return parsed + `${minutes}${seconds}`;
const parsed = (hours) ? `${hours}${timeColon}` : '';
return parsed + `${minutes}${timeColon}${seconds}`;
}
function parsePlaylistFiles(filesArray)

View File

@@ -59,8 +59,8 @@ class ClapperRevealerTop extends CustomRevealer
const initTime = GLib.DateTime.new_now_local().format('%X');
this.timeFormat = (initTime.length > 8)
? '%I%M %p'
: '%H%M';
? `%I${Misc.timeColon}%M %p`
: `%H${Misc.timeColon}%M`;
this.mediaTitle = new Gtk.Label({
ellipsize: Pango.EllipsizeMode.END,