[vlc-commits] Qt: probe the complete names for Volume in Disc open
Jean-Baptiste Kempf
git at videolan.org
Tue Apr 19 07:38:29 CEST 2011
vlc/vlc-1.1 | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Wed Mar 16 23:01:07 2011 +0100| [24f65be38dd574c78eaef18b428898f45418f121] | committer: Jean-Baptiste Kempf
Qt: probe the complete names for Volume in Disc open
This gets quite useful, when you have many drives
(cherry picked from commit 83602675734db0687dbc5afa2a3a6c420f7556dd)
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc/vlc-1.1.git/?a=commit;h=24f65be38dd574c78eaef18b428898f45418f121
---
modules/gui/qt4/components/open_panels.cpp | 21 ++++++++++++++++-----
1 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/modules/gui/qt4/components/open_panels.cpp b/modules/gui/qt4/components/open_panels.cpp
index e76c59f..6a71477 100644
--- a/modules/gui/qt4/components/open_panels.cpp
+++ b/modules/gui/qt4/components/open_panels.cpp
@@ -36,6 +36,9 @@
#include "dialogs_provider.hpp" /* Open Subtitle file */
#include "util/qt_dirs.hpp"
#include <vlc_intf_strings.h>
+#ifdef WIN32
+ #include <vlc_charset.h> /* FromWide for Win32 */
+#endif
#include <QFileDialog>
#include <QDialogButtonBox>
@@ -295,17 +298,25 @@ DiscOpenPanel::DiscOpenPanel( QWidget *_parent, intf_thread_t *_p_intf ) :
ui.deviceCombo->setToolTip( qtr(I_DEVICE_TOOLTIP) );
#ifdef WIN32 /* Disc drives probing for Windows */
- char szDrives[512];
+ wchar_t szDrives[512];
szDrives[0] = '\0';
- if( GetLogicalDriveStringsA( sizeof( szDrives ) - 1, szDrives ) )
+ if( GetLogicalDriveStringsW( sizeof( szDrives ) - 1, szDrives ) )
{
- char *drive = szDrives;
+ wchar_t *drive = szDrives;
UINT oldMode = SetErrorMode( SEM_FAILCRITICALERRORS );
while( *drive )
{
- if( GetDriveTypeA(drive) == DRIVE_CDROM )
+ if( GetDriveTypeW(drive) == DRIVE_CDROM )
{
- ui.deviceCombo->addItem( drive );
+ wchar_t psz_name[512] = L"";
+ GetVolumeInformationW( drive, psz_name, 511, NULL, NULL, NULL, NULL, 0 );
+
+ QString displayName = FromWide( drive );
+ if( !EMPTY_STR(psz_name) ) {
+ displayName = displayName + " - " + FromWide( psz_name );
+ }
+
+ ui.deviceCombo->addItem( displayName, FromWide( drive ) );
}
/* go to next drive */
More information about the vlc-commits
mailing list