diff options
author | Underground78 <underground78@users.sourceforge.net> | 2012-04-08 18:13:55 +0400 |
---|---|---|
committer | Underground78 <underground78@users.sourceforge.net> | 2012-04-08 18:13:55 +0400 |
commit | ef24936e856d6d6fdd6e1b8b48725ece7e82c596 (patch) | |
tree | e4143a78ad85a838e27af4bd74da5c3fa6500711 | |
parent | 5934ef3357bc12f25aed277c1af68440e8393804 (diff) |
Improve the "Save As" dialog: the dialog is updated more regularly and the units for the sizes and the speed are now automatically adapted to the values.
This commit fixes ticket #2163.
git-svn-id: https://mpc-hc.svn.sourceforge.net/svnroot/mpc-hc/trunk@4295 10f7b99b-c216-0410-bff0-8a66a9350fd8
49 files changed, 41 insertions, 17 deletions
diff --git a/docs/Changelog.txt b/docs/Changelog.txt index b49ea0687..b081395d8 100644 --- a/docs/Changelog.txt +++ b/docs/Changelog.txt @@ -15,6 +15,8 @@ Legend: filenames are now correctly handled when using an ini file
* Ticket #1733/#2029, Include subfolders when opening a folder using the command
line or via the explorer context menu
+* Ticket #2163, Improve the "Save As" dialog: the dialog is updated more regularly and
+ the units for the sizes and the speed are now automatically adapted to the values
* Reduced the maximum number of packets in the Queue, except for AVI. This will
reduce the amount of memory consumed by the player
* Improved the 'Open directory' dialog: the checkbox will now use only one line
diff --git a/src/apps/mplayerc/SaveDlg.cpp b/src/apps/mplayerc/SaveDlg.cpp index 4b82a0cb5..a080f39cc 100644 --- a/src/apps/mplayerc/SaveDlg.cpp +++ b/src/apps/mplayerc/SaveDlg.cpp @@ -2,7 +2,7 @@ * $Id$
*
* (C) 2003-2006 Gabest
- * (C) 2006-2011 see AUTHORS
+ * (C) 2006-2012 see AUTHORS
*
* This file is part of mplayerc.
*
@@ -189,7 +189,7 @@ BOOL CSaveDlg::OnInitDialog() pMC->Run();
- m_nIDTimerEvent = SetTimer(1, 1000, NULL);
+ m_nIDTimerEvent = SetTimer(1, 500, NULL);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
@@ -222,23 +222,45 @@ LRESULT CSaveDlg::OnGraphNotify(WPARAM wParam, LPARAM lParam) return 0;
}
+static unsigned int AdaptUnit(double& val, size_t unitsNb)
+{
+ unsigned int unit = 0;
+
+ while (val > 1024 && unit < unitsNb) {
+ val /= 1024;
+ unit++;
+ }
+
+ return unit;
+}
+
void CSaveDlg::OnTimer(UINT_PTR nIDEvent)
{
- if (nIDEvent == m_nIDTimerEvent && pGB) {
- if (pMS) {
- CString str;
- REFERENCE_TIME pos = 0, dur = 0;
- pMS->GetCurrentPosition(&pos);
- pMS->GetDuration(&dur);
- REFERENCE_TIME time = 0;
- CComQIPtr<IMediaSeeking>(pGB)->GetCurrentPosition(&time);
- REFERENCE_TIME speed = time > 0 ? pos*10000000/time / 1024 : 0i64;
- str.Format(_T("%I64d/%I64d KB, %I64d KB/s, %I64d s"),
- pos/1024, dur/1024, speed, speed > 0 ? (dur-pos)/1024 / speed : 0);
- m_report.SetWindowText(str);
-
- m_progress.SetPos(dur > 0 ? (int)(100*pos/dur) : 0);
- }
+ static UINT sizeUnits[] = { IDS_SIZE_UNIT_K, IDS_SIZE_UNIT_M, IDS_SIZE_UNIT_G };
+ static UINT speedUnits[] = { IDS_SPEED_UNIT_K, IDS_SPEED_UNIT_M, IDS_SPEED_UNIT_G };
+
+ if (nIDEvent == m_nIDTimerEvent && pGB && pMS) {
+ CString str;
+ REFERENCE_TIME pos = 0, dur = 0;
+ pMS->GetCurrentPosition(&pos);
+ pMS->GetDuration(&dur);
+ REFERENCE_TIME time = 0;
+ CComQIPtr<IMediaSeeking>(pGB)->GetCurrentPosition(&time);
+ REFERENCE_TIME speed = time > 0 ? pos*10000000/time : 0;
+
+ double dPos = pos / 1024.;
+ unsigned int unitPos = AdaptUnit(dPos, countof(sizeUnits));
+ double dDur = dur / 1024.;
+ unsigned int unitDur = AdaptUnit(dDur, countof(sizeUnits));
+ double dSpeed = speed / 1024.;
+ unsigned int unitSpeed = AdaptUnit(dSpeed, countof(speedUnits));
+
+ str.Format(_T("%.2lf %s / %.2lf %s, %.2lf %s, %I64d s"),
+ dPos, ResStr(sizeUnits[unitPos]), dDur, ResStr(sizeUnits[unitDur]),
+ dSpeed, ResStr(speedUnits[unitSpeed]), speed > 0 ? (dur-pos) / speed : 0);
+ m_report.SetWindowText(str);
+
+ m_progress.SetPos(dur > 0 ? (int)(100*pos/dur) : 0);
}
CCmdUIDialog::OnTimer(nIDEvent);
diff --git a/src/apps/mplayerc/mpcresources/mplayerc.br.rc b/src/apps/mplayerc/mpcresources/mplayerc.br.rc Binary files differindex 4d981ff95..0b2287466 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.br.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.br.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.by.rc b/src/apps/mplayerc/mpcresources/mplayerc.by.rc Binary files differindex 846598618..abc087448 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.by.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.by.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.ca.rc b/src/apps/mplayerc/mpcresources/mplayerc.ca.rc Binary files differindex 9fb0b325b..b34bcd674 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.ca.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.ca.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.cz.rc b/src/apps/mplayerc/mpcresources/mplayerc.cz.rc Binary files differindex 45c9ef27a..060daaa9d 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.cz.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.cz.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.de.rc b/src/apps/mplayerc/mpcresources/mplayerc.de.rc Binary files differindex dd626dad8..af109403e 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.de.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.de.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.es.rc b/src/apps/mplayerc/mpcresources/mplayerc.es.rc Binary files differindex ad87090a9..20568a5d7 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.es.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.es.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.fr.rc b/src/apps/mplayerc/mpcresources/mplayerc.fr.rc Binary files differindex 690060846..0787b71cf 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.fr.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.fr.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.he.rc b/src/apps/mplayerc/mpcresources/mplayerc.he.rc Binary files differindex 3f24eba21..18841b0f2 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.he.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.he.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.hu.rc b/src/apps/mplayerc/mpcresources/mplayerc.hu.rc Binary files differindex b41fb5996..ad1a34f80 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.hu.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.hu.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.hy.rc b/src/apps/mplayerc/mpcresources/mplayerc.hy.rc Binary files differindex 1f4e17a44..19152ee08 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.hy.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.hy.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.it.rc b/src/apps/mplayerc/mpcresources/mplayerc.it.rc Binary files differindex 0549dccb3..26241552a 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.it.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.it.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.ja.rc b/src/apps/mplayerc/mpcresources/mplayerc.ja.rc Binary files differindex 0b58ce419..1ecf3664a 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.ja.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.ja.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.kr.rc b/src/apps/mplayerc/mpcresources/mplayerc.kr.rc Binary files differindex 71bb1f55c..3aaeb190a 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.kr.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.kr.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.nl.rc b/src/apps/mplayerc/mpcresources/mplayerc.nl.rc Binary files differindex 9ecff19e5..b547f36c7 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.nl.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.nl.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.pl.rc b/src/apps/mplayerc/mpcresources/mplayerc.pl.rc Binary files differindex 2cf8027cc..d94206000 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.pl.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.pl.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.ru.rc b/src/apps/mplayerc/mpcresources/mplayerc.ru.rc Binary files differindex 40df8a612..4b1adf4fd 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.ru.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.ru.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.sc.rc b/src/apps/mplayerc/mpcresources/mplayerc.sc.rc Binary files differindex b526f7f5b..94b213753 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.sc.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.sc.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.sk.rc b/src/apps/mplayerc/mpcresources/mplayerc.sk.rc Binary files differindex 7a95103b9..9067282c1 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.sk.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.sk.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.sv.rc b/src/apps/mplayerc/mpcresources/mplayerc.sv.rc Binary files differindex a207a72bc..e0855eeec 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.sv.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.sv.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.tc.rc b/src/apps/mplayerc/mpcresources/mplayerc.tc.rc Binary files differindex eacd9fd93..498bb1a6f 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.tc.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.tc.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.tr.rc b/src/apps/mplayerc/mpcresources/mplayerc.tr.rc Binary files differindex b10316caa..44f0b6c33 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.tr.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.tr.rc diff --git a/src/apps/mplayerc/mpcresources/mplayerc.ua.rc b/src/apps/mplayerc/mpcresources/mplayerc.ua.rc Binary files differindex 9361cc755..a1cc2509c 100644 --- a/src/apps/mplayerc/mpcresources/mplayerc.ua.rc +++ b/src/apps/mplayerc/mpcresources/mplayerc.ua.rc diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.br.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.br.rc.txt Binary files differindex c6454e9d0..0c154cb11 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.br.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.br.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.by.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.by.rc.txt Binary files differindex 30266ef6c..bc6ff7b6e 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.by.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.by.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.ca.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.ca.rc.txt Binary files differindex dffff429d..7f44c0eea 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.ca.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.ca.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.cz.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.cz.rc.txt Binary files differindex e61bac486..5eb1b218f 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.cz.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.cz.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.de.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.de.rc.txt Binary files differindex a735f615d..b4a651911 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.de.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.de.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.es.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.es.rc.txt Binary files differindex 636bea5ba..4c76b611c 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.es.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.es.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.fr.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.fr.rc.txt Binary files differindex 405b5a494..975daa441 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.fr.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.fr.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.he.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.he.rc.txt Binary files differindex 51ec6f0bc..dbe2285dd 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.he.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.he.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.hu.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.hu.rc.txt Binary files differindex 2a08b7f2b..6c72a8d22 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.hu.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.hu.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.hy.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.hy.rc.txt Binary files differindex 7a7202d75..ad516bcb8 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.hy.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.hy.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.it.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.it.rc.txt Binary files differindex b2b9ee070..20d8cead0 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.it.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.it.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.ja.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.ja.rc.txt Binary files differindex 39300ee6d..2c302cd41 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.ja.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.ja.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.kr.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.kr.rc.txt Binary files differindex 9b660aa45..f500f538e 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.kr.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.kr.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.nl.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.nl.rc.txt Binary files differindex 4d411ba7a..b8c2156eb 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.nl.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.nl.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.pl.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.pl.rc.txt Binary files differindex 93acdbb83..61454f4c8 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.pl.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.pl.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.rc.txt Binary files differindex b7c05d6e2..1192d4b12 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.ru.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.ru.rc.txt Binary files differindex 7e61c9425..4df2e9cdd 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.ru.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.ru.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.sc.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.sc.rc.txt Binary files differindex dff10fae8..793c09640 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.sc.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.sc.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.sk.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.sk.rc.txt Binary files differindex 85f733277..c5a516ca1 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.sk.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.sk.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.sv.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.sv.rc.txt Binary files differindex a22cecac5..60e141bfa 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.sv.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.sv.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.tc.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.tc.rc.txt Binary files differindex bde19dcac..6a2df0c7f 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.tc.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.tc.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.tr.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.tr.rc.txt Binary files differindex 46588eb11..93714bb6f 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.tr.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.tr.rc.txt diff --git a/src/apps/mplayerc/mpcresources/text/mplayerc.ua.rc.txt b/src/apps/mplayerc/mpcresources/text/mplayerc.ua.rc.txt Binary files differindex 3099f8e28..b7aa885f9 100644 --- a/src/apps/mplayerc/mpcresources/text/mplayerc.ua.rc.txt +++ b/src/apps/mplayerc/mpcresources/text/mplayerc.ua.rc.txt diff --git a/src/apps/mplayerc/mplayerc.rc b/src/apps/mplayerc/mplayerc.rc Binary files differindex aa3197f5b..2ba258699 100644 --- a/src/apps/mplayerc/mplayerc.rc +++ b/src/apps/mplayerc/mplayerc.rc diff --git a/src/apps/mplayerc/resource.h b/src/apps/mplayerc/resource.h Binary files differindex cc2d8d59e..ec5a82b4f 100644 --- a/src/apps/mplayerc/resource.h +++ b/src/apps/mplayerc/resource.h |