Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • videolan/vlc
  • chouquette/vlc
  • bakiewicz.marek122/vlc
  • devnexen/vlc
  • rohanrajpal/vlc
  • blurrrb/vlc
  • gsoc/gsoc2019/darkapex/vlc
  • b1ue/vlc
  • fkuehne/vlc
  • magsoft/vlc
  • chub/vlc
  • cramiro9/vlc
  • robUx4/vlc
  • rom1v/vlc
  • akshayaky/vlc
  • tmk907/vlc
  • akymaster/vlc
  • govind.sharma/vlc
  • psilokos/vlc
  • xjbeta/vlc
  • jahan/vlc
  • 1480c1/vlc
  • amanchande/vlc
  • aaqib/vlc
  • rist/vlc
  • apol/vlc
  • mindfreeze/vlc
  • alexandre-janniaux/vlc
  • sandsmark/vlc
  • jagannatharjun/vlc
  • gsoc/gsoc2020/matiaslgonzalez/vlc
  • gsoc/gsoc2020/jagannatharjun/vlc
  • mstorsjo/vlc
  • gsoc/gsoc2020/vedenta/vlc
  • gsoc/gsoc2020/arnav-ishaan/vlc
  • gsoc/gsoc2020/andreduong/vlc
  • fuzun/vlc
  • gsoc/gsoc2020/vatsin/vlc
  • gsoc/gsoc2020/sagid/vlc
  • yaron/vlc
  • Phoenix/vlc
  • Garf/vlc
  • ePiratWorkarounds/vlc
  • tguillem/vlc
  • jnqnfe/vlc
  • mdc/vlc
  • Vedaa/vlc
  • rasa/vlc
  • quink/vlc
  • yealo/vlc
  • aleksey_ak/vlc
  • ePirat/vlc
  • ilya.yanok/vlc
  • asenat/vlc
  • m/vlc
  • bunjee/vlc
  • BLumia/vlc
  • sagudev/vlc
  • hamedmonji30/vlc
  • nullgemm/vlc
  • DivyamAhuja/vlc
  • thesamesam/vlc
  • dag7/vlc
  • snehil101/vlc
  • haasn/vlc
  • jbk/vlc
  • ValZapod/vlc
  • mfkl/vlc
  • WangChuan/vlc
  • core1024/vlc
  • GhostVaibhav/vlc
  • dfuhrmann/vlc
  • davide.prade/vlc
  • tmatth/vlc
  • Courmisch/vlc
  • zouya/vlc
  • hpi/vlc
  • EwoutH/vlc
  • aleung27/vlc
  • hengwu0/vlc
  • saladin/vlc
  • ashuio/vlc
  • richselwood/vlc
  • verma16Ayush/vlc
  • chemicalflash/vlc
  • PoignardAzur/vlc
  • huangjieNT/vlc
  • Blake-Haydon/vlc
  • AnuthaDev/vlc
  • gsoc/gsoc2021/mpd/vlc
  • nicolas_lequec/vlc
  • sambassaly/vlc
  • thresh/vlc
  • bonniegong/vlc
  • myaashish/vlc
  • stavros.vagionitis/vlc
  • ileoo/vlc
  • louis-santucci/vlc
  • cchristiansen/vlc
  • sabyasachi07/vlc
  • AbduAmeen/vlc
  • ashishb0410/vlc
  • urbanhusky/vlc
  • davidepietrasanta/vlc
  • riksleutelstad/vlc
  • jeremyVignelles/vlc
  • komh/vlc
  • iamjithinjohn/vlc
  • JohannesKauffmann/vlc2
  • kunglao/vlc
  • natzberg/vlc
  • jill/vlc
  • cwendling/vlc
  • adufou/vlc
  • ErwanAirone/vlc
  • HasinduDilshan10/vlc
  • vagrantc/vlc
  • rafiv/macos-bigsur-icon
  • Aymeriic/vlc
  • saranshg20/vlc
  • metzlove24/vlc
  • linkfanel/vlc
  • Ds886/vlc
  • metehan-arslan/vlc
  • Skantes/vlc
  • kgsandundananjaya96/vlc
  • mitchcapper/vlc
  • advaitgupta/vlc
  • StefanBruens/vlc
  • ratajs/vlc
  • T.M.F.B.3761/vlc
  • m222059/vlc
  • casemerrick/vlc
  • joshuaword2alt/vlc
  • sjwaddy/vlc
  • dima/vlc
  • Ybalrid/vlc
  • umxprime/vlc
  • eschmidt/vlc
  • vannieuwenhuysenmichelle/vlc
  • badcf00d/vlc
  • wesinator/vlc
  • louis/vlc
  • xqq/vlc
  • EmperorYP7/vlc
  • NicoLiam/vlc
  • loveleen/vlc
  • rofferom/vlc
  • rbultje/vlc
  • TheUnamed/vlc
  • pratiksharma341/vlc
  • Saurab17/vlc
  • purist.coder/vlc
  • Shuicheng/vlc
  • mdrrubel292/vlc
  • silverbleu00/vlc
  • metif12/vlc
  • asher-m/vlc
  • jeffk/vlc
  • Brandonbr1/vlc
  • beautyyuyanli/vlc
  • rego21/vlc
  • muyangren907/vlc
  • collectionbylawrencejason/vlc
  • evelez/vlc
  • GSMgeeth/vlc
  • Oneric/vlc
  • TJ5/vlc
  • XuanTung95/vlc
  • darrenjenny21/vlc
  • Trenly/vlc
  • RockyTDR/vlc
  • mjakubowski/vlc
  • caprica/vlc
  • ForteFrankie/vlc
  • seannamiller19/vlc
  • junlon2006/vlc
  • kiwiren6666/vlc
  • iuseiphonexs/vlc
  • fenngtun/vlc
  • Rajdutt999/vlc
  • typx/vlc
  • leon.vitanos/vlc
  • robertogarci0938/vlc
  • gsoc/gsoc2022/luc65r/vlc-mpd
  • skeller/vlc
  • MCJack123/vlc
  • luc65r/vlc-mpd
  • popov895/vlc
  • claucambra/vlc
  • brad/vlc
  • matthewmurua88/vlc
  • Tomas8874/vlc
  • philenotfound/vlc
  • makita-do3/vlc
  • LZXCorp/vlc
  • mar0x/vlc
  • senojetkennedy0102/vlc
  • shaneb243/vlc
  • ahmadbader/vlc
  • rajduttcse26/vlc-audio-filters
  • Juniorzito8415/vlc
  • achernyakov/vlc
  • lucasjetgroup/vlc
  • pupdoggy666/vlc
  • gmde9363/vlc
  • alexnwayne/vlc
  • bahareebrahimi781/vlc
  • hamad633666/vlc
  • umghof3112/vlc
  • joe0199771874/vlc
  • Octocats66666666/vlc
  • jjm_223/vlc
  • btech10110.19/vlc
  • sunnykfc028/vlc-audio-filters
  • loic/vlc
  • nguyenminhducmx1/vlc
  • JanekKrueger/vlc
  • bstubbington2/vlc
  • rcombs/vlc
  • Ordissimo/vlc
  • king7532/vlc
  • noobsauce101/vlc
  • schong0525/vlc
  • myQwil/vlc
  • apisbg91/vlc
  • geeboy0101017/vlc
  • kim.faughey/vlc
  • nurupo/vlc
  • yyusea/vlc
  • 0711235879.khco/vlc
  • ialo/vlc
  • iloveyeye2/vlc
  • gdtdftdqtd/vlc
  • leandroconsiglio/vlc
  • AndyHTML2012/vlc
  • ncz/vlc
  • lucenticus/vlc
  • knr1931/vlc
  • kjoonlee/vlc
  • chandrakant100/vlc-qt
  • johge42/vlc
  • polter/vlc
  • hexchain/vlc
  • Tushwrld/vlc
  • mztea928/vlc
  • jbelloncastro/vlc
  • alvinhochun/vlc
  • ghostpiratecrow/vlc
  • ujjwaltwitx/vlc
  • alexsonarin06/vlc
  • adrianbon76/vlc
  • altsod/vlc
  • damien.lucas44/vlc
  • dmytrivtaisa/vlc
  • utk202/vlc
  • aaxhrj/vlc
  • thomas.hermes/vlc
  • structurenewworldorder/vlc
  • slomo/vlc
  • wantlamy/vlc
  • musc.o3cminc/vlc
  • thebarshablog/vlc
  • kerrick/vlc
  • kratos142518/vlc
  • leogps/vlc
  • vacantron/vlc
  • luna_koly/vlc
  • Ratio2/vlc
  • anuoshemohammad/vlc
  • apsun/vlc
  • aaa1115910/vlc
  • alimotmoyo/vlc
  • Ambossmann/vlc
  • Sam-LearnsToCode/vlc
  • Chilledheart/vlc
  • Labnann/vlc
  • ktcoooot1/vlc
  • mohit-marathe/vlc
  • johnddx/vlc
  • manstabuk/vlc
  • Omar-ahmed314/vlc
  • vineethkm/vlc
  • 9Enemi86/vlc
  • radoslav.m.panteleev/vlc
  • ashishami2002/vlc
  • Corbax/vlc
  • firnasahmed/vlc
  • pelayarmalam4/vlc
  • c0ff330k/vlc
  • shikhindahikar/vlc
  • l342723951/vlc
  • christianschwandner/vlc
  • douniwan5788/vlc
  • 7damian7/vlc
  • ferdnyc/vlc
  • f.ales1/vlc
  • pandagby/vlc
  • BaaBaa/vlc
  • jewe37/vlc
  • w00drow/vlc
  • russelltg/vlc
  • ironicallygod/vlc
  • soumyaDghosh/vlc
  • linzihao1999/vlc
  • deyayush6/vlc
  • mibi88/vlc
  • newabdallah10/vlc
  • jhorbincolombia/vlc
  • rimvihaqueshupto/vlc
  • andrewkhon98/vlc
  • fab78/vlc
  • lapaz17/vlc
  • amanna13/vlc
  • mdakram28/vlc
  • 07jw1980/vlc
  • sohamgupta/vlc
  • Eson-Jia1/vlc
  • Sumou/vlc
  • vikram-kangotra/vlc
  • chalice191/vlc
  • olivercalder/vlc
  • aaasg4001/vlc
  • zipdox/vlc
  • kwizart/vlc
  • Dragon-S/vlc
  • jdemeule/vlc
  • gabriel_lt/vlc
  • locutusofborg/vlc
  • sammirata/vlc-librist
  • another/vlc
  • Benjamin_Loison/vlc
  • ahmedmoselhi/vlc
  • petergaal/vlc
  • huynhsontung/vlc
  • dariusmihut/vlc
  • tvermaashutosh/vlc
  • buti/vlc
  • Niram7777/vlc
  • rohan-here/vlc
  • balaji-sivasakthi/vlc
  • rlindner81/vlc
  • Kakadus/vlc
  • djain/vlc
  • ABBurmeister/vlc
  • craighuggins/vlc
  • orbea/vlc
  • maxos/vlc
  • aakarshmj/vlc
  • kblaschke/vlc
  • ankitm/vlc
  • advait-0/vlc
  • mohak2003/vlc
  • yselkowitz/vlc
  • AZM999/vlc-azm
  • andrey.turkin/vlc
  • Disha-Baghel/vlc
  • nowrep/vlc
  • Apeng/vlc
  • Choucroute_melba/vlc
  • autra/vlc
  • eclipseo/vlc
  • fhuber/vlc
  • olafhering/vlc
  • sdasda7777/vlc
  • 1div0/vlc
  • skosnits/vlc-extended-playlist-support
  • dnicolson/vlc
  • Timshel/vlc
  • octopols/vlc
  • MangalK/vlc
  • nima64/vlc
  • misawai/vlc
  • Alexander-Wilms/vlc
  • Maxime2/vlc-fork-for-visualizer
  • ww/vlc
  • jeske/vlc
  • sgross-emlix/vlc
  • morenonatural/vlc
  • freakingLovesVLC/vlc
  • borisgolovnev/vlc
  • mpromonet/vlc
  • diogo.simao-marques/vlc
  • masstock/vlc
  • pratikpatel8982/vlc
  • hugok79/vlc
  • longervision/vlc
  • abhiudaysurya/vlc
  • rishabhgarg/vlc
  • tumic/vlc
  • cart/vlc
  • shubham442/vlc
  • Aditya692005/vlc
  • sammirata/vlc4
  • syrykh/vlc
  • Vvorcun/macos-new-icon
  • AyaanshC/vlc
  • nasso/vlc
  • Quark/vlc
  • sebastinas/vlc
  • rhstone/vlc
  • talregev/vlc
  • Managor/vlc
403 results
Show changes
Commits on Source (7)
......@@ -98,6 +98,13 @@ T.Pane {
colorSet: ColorContext.Window
}
TextMetrics {
id: timeTextMetrics
font.pixelSize: (textPosition === ControlBar.TimeTextPosition.LeftRightSlider) ? VLCStyle.fontSize_small
: VLCStyle.fontSize_normal
text: "00--00" // Some extra space to compensate non-monospaced fonts.
}
background: Rectangle {
color: theme.bg.primary
}
......@@ -116,10 +123,16 @@ T.Pane {
readonly property list<Item> strayItems: [
T.Label {
id: mediaTime
text: Player.time.formatHMS()
Layout.preferredWidth: (textPosition === ControlBar.TimeTextPosition.LeftRightSlider) ? timeTextMetrics.width : -1
text: {
const length = Player.length
return Player.time.formatHMS(length.isSubSecond() ? length.SubSecondFormattedAsMS : 0)
}
color: theme.fg.primary
font.pixelSize: (textPosition === ControlBar.TimeTextPosition.LeftRightSlider) ? VLCStyle.fontSize_small
: VLCStyle.fontSize_normal
font: timeTextMetrics.font
horizontalAlignment: Text.AlignHCenter
anchors.left: (parent === pseudoRow) ? parent.left : undefined
anchors.verticalCenter: (parent === pseudoRow) ? parent.verticalCenter : undefined
......@@ -127,11 +140,14 @@ T.Pane {
T.Label {
id: mediaRemainingTime
Layout.preferredWidth: (textPosition === ControlBar.TimeTextPosition.LeftRightSlider) ? timeTextMetrics.width : -1
text: (MainCtx.showRemainingTime && Player.remainingTime.valid())
? "-" + Player.remainingTime.formatHMS()
: Player.length.formatHMS()
color: mediaTime.color
font.pixelSize: mediaTime.font.pixelSize
font: timeTextMetrics.font
horizontalAlignment: Text.AlignHCenter
visible: root.showRemainingTime
......
......@@ -83,10 +83,13 @@ T.ProgressBar {
text: {
let _text
const length = Player.length
if (hoverHandler.hovered)
_text = Player.length.scale(pos.x / control.width).formatHMS()
_text = length.scale(pos.x / control.width)
else
_text = Player.time.formatHMS()
_text = Player.time
_text = _text.formatHMS(length.isSubSecond() ? length.SubSecondFormattedAsMS : 0)
if (Player.hasChapters)
_text += " - " + Player.chapters.getNameAtPosition(control._tooltipPosition)
......
......@@ -250,8 +250,12 @@ AbstractButton {
text: {
if (paintOnly)
" -- / -- "
else
Player.time.formatHMS() + " / " + Player.length.formatHMS()
else {
const length = Player.length
return Player.time.formatHMS(length.isSubSecond() ? length.SubSecondFormattedAsMS : 0) +
" / " +
length.formatHMS()
}
}
color: theme.fg.secondary
}
......
......@@ -50,13 +50,18 @@ bool VLCTick::valid() const
return m_ticks != VLC_TICK_INVALID;
}
QString VLCTick::formatHMS() const
bool VLCTick::isSubSecond() const
{
return (MS_FROM_VLC_TICK(m_ticks) < 1000);
}
QString VLCTick::formatHMS(int formatFlags) const
{
if (m_ticks == VLC_TICK_INVALID)
return "--:--";
int64_t t_ms = MS_FROM_VLC_TICK(m_ticks);
if (t_ms >= 1000)
if (!isSubSecond() || !(formatFlags & SubSecondFormattedAsMS))
{
//truncate milliseconds toward 0
int64_t t_sec = t_ms / 1000;
......@@ -78,7 +83,7 @@ QString VLCTick::formatHMS() const
return qtr("%1 ms").arg(MS_FROM_VLC_TICK(m_ticks));
}
QString VLCTick::formatLong() const
QString VLCTick::formatLong(int formatFlags) const
{
if (m_ticks == VLC_TICK_INVALID)
return "--:--";
......@@ -96,7 +101,7 @@ QString VLCTick::formatLong() const
.arg(hour)
.arg(min);
}
else if (t_ms >= 1000)
else if (!isSubSecond() || !(formatFlags & SubSecondFormattedAsMS))
{
//round to the nearest second
t_ms = roundNearestMultiple(t_ms, 1000);
......@@ -115,7 +120,7 @@ QString VLCTick::formatLong() const
return qtr("%1 ms").arg(t_ms);
}
QString VLCTick::formatShort() const
QString VLCTick::formatShort(int formatFlags) const
{
if (m_ticks == VLC_TICK_INVALID)
return "--:--";
......@@ -133,7 +138,7 @@ QString VLCTick::formatShort() const
.arg(hour)
.arg(min, 2, 10, QChar('0'));
}
else if (t_ms >= 1000)
else if (!isSubSecond() || !(formatFlags & SubSecondFormattedAsMS))
{
//round to the nearest second
t_ms = roundNearestMultiple(t_ms, 1000);
......
......@@ -30,6 +30,11 @@ class VLCTick
{
Q_GADGET
public:
enum FormatFlag {
SubSecondFormattedAsMS = 1
};
Q_ENUM(FormatFlag)
VLCTick();
VLCTick(vlc_tick_t ticks);
......@@ -37,8 +42,11 @@ public:
Q_INVOKABLE bool valid() const;
Q_INVOKABLE bool isSubSecond() const;
/**
* @brief formatHMS
* @param formatFlags flags to specialize formatting, default is SubSecondFormattedAsMS for legacy reasons
* @return time as HH:MM:SS
*
* this method should be used to present running time or
......@@ -46,26 +54,28 @@ public:
*
* milliseconds will be truncated towards 0
*/
Q_INVOKABLE QString formatHMS() const;
Q_INVOKABLE QString formatHMS(int formatFlags = SubSecondFormattedAsMS) const;
/**
* @brief formatLong
* @param formatFlags flags to specialize formatting, default is SubSecondFormattedAsMS for legacy reasons
* @return time in literal form
* 1h 2min
* 5 min
* 10 sec
* 43 ms
*/
Q_INVOKABLE QString formatLong() const;
Q_INVOKABLE QString formatLong(int formatFlags = SubSecondFormattedAsMS) const;
/**
* @brief formatShort
* @param formatFlags flags to specialize formatting, default is SubSecondFormattedAsMS for legacy reasons
* @return time in literal form
* 1h02
* 02:42
* 43 ms
*/
Q_INVOKABLE QString formatShort() const;
Q_INVOKABLE QString formatShort(int formatFlags = SubSecondFormattedAsMS) const;
Q_INVOKABLE VLCTick scale(float) const;
......