From cd1628f70d3e950cb1480a904a25eebd6724fea1 Mon Sep 17 00:00:00 2001 From: Andre Heider Date: Sun, 20 Sep 2009 11:47:11 +0000 Subject: Mention mount errors on the status labels. svn-id: r44202 --- backends/fs/wii/wii-fs-factory.cpp | 21 ++++++++++++++++++++- backends/fs/wii/wii-fs-factory.h | 3 +++ backends/platform/wii/options.cpp | 28 +++++++++++++++++++--------- 3 files changed, 42 insertions(+), 10 deletions(-) (limited to 'backends') diff --git a/backends/fs/wii/wii-fs-factory.cpp b/backends/fs/wii/wii-fs-factory.cpp index 4595e93555..c06b6e5d5f 100644 --- a/backends/fs/wii/wii-fs-factory.cpp +++ b/backends/fs/wii/wii-fs-factory.cpp @@ -40,7 +40,9 @@ DECLARE_SINGLETON(WiiFilesystemFactory); WiiFilesystemFactory::WiiFilesystemFactory() : _dvdMounted(false), - _smbMounted(false) { + _smbMounted(false), + _dvdError(false), + _smbError(false) { } AbstractFSNode *WiiFilesystemFactory::makeRootFileNode() const { @@ -104,6 +106,17 @@ bool WiiFilesystemFactory::isMounted(FileSystemType type) { return false; } +bool WiiFilesystemFactory::failedToMount(FileSystemType type) { + switch (type) { + case kDVD: + return _dvdError; + case kSMB: + return _smbError; + } + + return false; +} + void WiiFilesystemFactory::mount(FileSystemType type) { switch (type) { case kDVD: @@ -126,9 +139,11 @@ void WiiFilesystemFactory::mount(FileSystemType type) { printf("mount ISO9660\n"); if (ISO9660_Mount()) { _dvdMounted = true; + _dvdError = false; printf("ISO9660 mounted\n"); } else { DI_StopMotor(); + _dvdError = true; printf("ISO9660 mount failed\n"); } #endif @@ -149,8 +164,10 @@ void WiiFilesystemFactory::mount(FileSystemType type) { if (smbInit(_smbUsername.c_str(), _smbPassword.c_str(), _smbShare.c_str(), _smbServer.c_str())) { _smbMounted = true; + _smbError = false; printf("smb mounted\n"); } else { + _smbError = true; printf("error mounting smb\n"); } #endif @@ -171,6 +188,7 @@ void WiiFilesystemFactory::umount(FileSystemType type) { DI_StopMotor(); _dvdMounted = false; + _dvdError = false; #endif break; @@ -187,6 +205,7 @@ void WiiFilesystemFactory::umount(FileSystemType type) { printf("error umounting smb\n"); _smbMounted = false; + _smbError = false; #endif break; } diff --git a/backends/fs/wii/wii-fs-factory.h b/backends/fs/wii/wii-fs-factory.h index 0e7f87a783..42795ebf33 100644 --- a/backends/fs/wii/wii-fs-factory.h +++ b/backends/fs/wii/wii-fs-factory.h @@ -57,6 +57,7 @@ public: #endif bool isMounted(FileSystemType type); + bool failedToMount(FileSystemType type); void mount(FileSystemType type); void umount(FileSystemType type); @@ -72,6 +73,8 @@ private: bool _dvdMounted; bool _smbMounted; + bool _dvdError; + bool _smbError; #ifdef USE_WII_SMB String _smbServer; diff --git a/backends/platform/wii/options.cpp b/backends/platform/wii/options.cpp index 0ae94b1e49..a23829782b 100644 --- a/backends/platform/wii/options.cpp +++ b/backends/platform/wii/options.cpp @@ -72,7 +72,7 @@ WiiOptionsDialog::WiiOptionsDialog(bool doubleStrike) : new StaticTextWidget(_tab, 16, 16, 64, 16, "Status:", Graphics::kTextAlignRight); - _textDVDStatus = new StaticTextWidget(_tab, 96, 16, 192, 16, "Unknown", + _textDVDStatus = new StaticTextWidget(_tab, 96, 16, 272, 16, "Unknown", Graphics::kTextAlignLeft); new ButtonWidget(_tab, 16, 48, 108, 24, "Mount DVD", 'mdvd'); @@ -84,7 +84,7 @@ WiiOptionsDialog::WiiOptionsDialog(bool doubleStrike) : new StaticTextWidget(_tab, 16, 16, 64, 16, "Status:", Graphics::kTextAlignRight); - _textSMBStatus = new StaticTextWidget(_tab, 96, 16, 192, 16, "Unknown", + _textSMBStatus = new StaticTextWidget(_tab, 96, 16, 272, 16, "Unknown", Graphics::kTextAlignLeft); new StaticTextWidget(_tab, 16, 52, 64, 16, @@ -124,10 +124,14 @@ void WiiOptionsDialog::handleTickle() { #ifdef USE_WII_DI if (tab == _tabDVD) { - if (fsf.isMounted(WiiFilesystemFactory::kDVD)) - _textDVDStatus->setLabel("Mounted"); - else - _textDVDStatus->setLabel("Not mounted"); + if (fsf.isMounted(WiiFilesystemFactory::kDVD)) { + _textDVDStatus->setLabel("DVD Mounted successfully"); + } else { + if (fsf.failedToMount(kDVD)) + _textDVDStatus->setLabel("Error while mounting the DVD"); + else + _textDVDStatus->setLabel("DVD not mounted"); + } } #endif @@ -138,10 +142,16 @@ void WiiOptionsDialog::handleTickle() { switch (status) { case 0: - if (fsf.isMounted(WiiFilesystemFactory::kSMB)) + if (fsf.isMounted(WiiFilesystemFactory::kSMB)) { label = "Network up, share mounted"; - else - label = "Network up, share not mounted"; + } else { + label = "Network up"; + + if (fsf.failedToMount(WiiFilesystemFactory::kSMB)) + label += ", error while mounting the share"; + else + label += ", share not mounted"; + } break; -- cgit v1.2.3