Changeset 48269 in vbox for trunk/src/VBox/Frontends/VirtualBox
- Timestamp:
- Sep 4, 2013 2:34:13 PM (11 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
r48264 r48269 964 964 { 965 965 /* Search for corresponding UI medium: */ 966 UIMedium uimedium ;967 if (! medium(cmedium, uimedium))968 { 969 /* UI medium may be new and not in medium 966 UIMedium uimedium = cmedium.isNull() ? UIMedium() : medium(cmedium.GetId()); 967 if (!cmedium.isNull() && uimedium.isNull()) 968 { 969 /* UI medium may be new and not in medium-list, request enumeration: */ 970 970 startMediumEnumeration(); 971 971 972 972 /* Search for corresponding UI medium again: */ 973 if (!medium(cmedium, uimedium)) 973 uimedium = medium(cmedium.GetId()); 974 if (uimedium.isNull()) 974 975 { 975 976 /* Medium might be deleted already, return null string: */ … … 1800 1801 } 1801 1802 1802 bool VBoxGlobal::medium(const CMedium &cmedium, UIMedium &uimedium) const1803 {1804 for (VBoxMediaList::ConstIterator it = m_mediums.begin(); it != m_mediums.end(); ++it)1805 {1806 if (((*it).medium().isNull() && cmedium.isNull()) ||1807 (!(*it).medium().isNull() && !cmedium.isNull() && (*it).medium().GetId() == cmedium.GetId()))1808 {1809 uimedium = (*it);1810 return true;1811 }1812 }1813 return false;1814 }1815 1816 UIMedium VBoxGlobal::medium(const QString &strMediumID) const1817 {1818 for (VBoxMediaList::ConstIterator it = m_mediums.begin(); it != m_mediums.end(); ++it)1819 if ((*it).id() == strMediumID)1820 return *it;1821 return UIMedium();1822 }1823 1824 1803 /* Open some external medium using file open dialog 1825 1804 * and temporary cache (enumerate) it in GUI inner mediums cache: */ … … 1938 1917 { 1939 1918 /* Prepare vbox medium wrapper: */ 1940 UIMedium uimedium ;1919 UIMedium uimedium = medium(cmedium.GetId()); 1941 1920 1942 1921 /* First of all we should test if that medium already opened: */ 1943 if ( !vboxGlobal().medium(cmedium, uimedium))1922 if (uimedium.isNull()) 1944 1923 { 1945 1924 /* And create new otherwise: */ … … 2036 2015 2037 2016 /* Make sure enumeration is not already started: */ 2038 if ( m_pMediumEnumerationThread)2017 if (isMediumEnumerationInProgress()) 2039 2018 return; 2040 2019 … … 2114 2093 } 2115 2094 2095 UIMedium VBoxGlobal::medium(const QString &strMediumID) const 2096 { 2097 for (VBoxMediaList::ConstIterator it = m_mediums.begin(); it != m_mediums.end(); ++it) 2098 if ((*it).id() == strMediumID) 2099 return *it; 2100 return UIMedium(); 2101 } 2102 2116 2103 /** 2117 2104 * Native language name of the currently installed translation. … … 2190 2177 Assert (!mErrorIcon.isNull()); 2191 2178 2192 /* refresh media properties since they contain some translations too */ 2193 for (VBoxMediaList::iterator it = m_mediums.begin(); 2194 it != m_mediums.end(); ++ it) 2195 it->refresh(); 2179 /* Re-enumerate uimedium since they contain some translations too: */ 2180 if (mValid) 2181 startMediumEnumeration(); 2196 2182 2197 2183 #ifdef Q_WS_X11 -
trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h
r48264 r48269 246 246 void updateMedium(const UIMedium &medium); 247 247 void deleteMedium(const QString &strMediumID); 248 bool medium(const CMedium &cmedium, UIMedium &uimedium) const; 249 UIMedium medium(const QString &strMediumID) const; 248 QString openMediumWithFileOpenDialog(UIMediumType mediumType, QWidget *pParent = 0, 249 const QString &strDefaultFolder = QString(), bool fUseLastFolder = true); 250 QString openMedium(UIMediumType mediumType, QString strMediumLocation, QWidget *pParent = 0); 250 251 251 252 /* API: Medium-enumeration stuff: */ 252 253 void startMediumEnumeration(bool fForceStart = true); 253 254 bool agressiveCaching() const { return mAgressiveCaching; } 254 bool isMediaEnumerationStarted() const { return !!m_pMediumEnumerationThread; } 255 bool isMediumEnumerationInProgress() const { return !!m_pMediumEnumerationThread; } 256 UIMedium medium(const QString &strMediumID) const; 255 257 const VBoxMediaList ¤tMediaList() const { return m_mediums; } 256 257 QString openMediumWithFileOpenDialog(UIMediumType mediumType, QWidget *pParent = 0,258 const QString &strDefaultFolder = QString(), bool fUseLastFolder = true);259 QString openMedium(UIMediumType mediumType, QString strMediumLocation, QWidget *pParent = 0);260 258 261 259 /* various helpers */ -
trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp
r48264 r48269 332 332 /* If the media enumeration process is not started we have to select the 333 333 * newly added item as the current one for the case of new image was added or created */ 334 if (!vboxGlobal().isMedi aEnumerationStarted())334 if (!vboxGlobal().isMediumEnumerationInProgress()) 335 335 setCurrentItem(treeWidget(medium.type()), pMediumItem); 336 336 … … 680 680 681 681 /* Update action availability: */ 682 bool fNotInEnumeration = !vboxGlobal().isMedi aEnumerationStarted();682 bool fNotInEnumeration = !vboxGlobal().isMediumEnumerationInProgress(); 683 683 bool fActionEnabledCopy = currentTreeWidgetType() == UIMediumType_HardDisk && 684 684 fNotInEnumeration && pMediumItem && checkMediumFor(pMediumItem, Action_Copy); … … 1150 1150 { 1151 1151 /* If refresh was requested and enumeration was not yet started: */ 1152 if (m_fRefresh && !vboxGlobal().isMedi aEnumerationStarted())1152 if (m_fRefresh && !vboxGlobal().isMediumEnumerationInProgress()) 1153 1153 { 1154 1154 /* Just start medium-enumeration: */ … … 1172 1172 /* Finally, emulate enumeration finish, 1173 1173 * if enumeration already finished or wasn't started: */ 1174 if (!vboxGlobal().isMedi aEnumerationStarted())1174 if (!vboxGlobal().isMediumEnumerationInProgress()) 1175 1175 sltHandleMediumEnumerationFinish(); 1176 1176 } -
trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsStorage.cpp
r48264 r48269 1962 1962 storageAttachmentData.m_fAttachmentNonRotational = attachment.GetNonRotational(); 1963 1963 CMedium cmedium = attachment.GetMedium(); 1964 UIMedium uimedium; 1965 vboxGlobal().medium(cmedium, uimedium); 1964 UIMedium uimedium = cmedium.isNull() ? UIMedium() : vboxGlobal().medium(cmedium.GetId()); 1966 1965 storageAttachmentData.m_strAttachmentMediumId = uimedium.id(); 1967 1966 } -
trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxMediaComboBox.cpp
r48265 r48269 89 89 void VBoxMediaComboBox::repopulate() 90 90 { 91 if (!vboxGlobal().isMedi aEnumerationStarted())91 if (!vboxGlobal().isMediumEnumerationInProgress()) 92 92 vboxGlobal().startMediumEnumeration(); 93 93 else
Note:
See TracChangeset
for help on using the changeset viewer.