- Timestamp:
- Mar 16, 2015 5:16:38 PM (10 years ago)
- svn:sync-xref-src-repo-rev:
- 98989
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp
r54463 r54794 46 46 # include "UIActionPool.h" 47 47 # include "UIConverter.h" 48 # include "UISettingsDefs.h" 49 # include "UIMessageCenter.h" 48 50 # ifdef DEBUG 49 51 # include "VBoxUtils.h" 50 # include "UIMessageCenter.h"51 52 # include "UIVirtualBoxEventHandler.h" 52 53 # include "UIIconPool.h" … … 76 77 /* Namespaces: */ 77 78 using namespace UIExtraDataDefs; 79 using namespace UISettingsDefs; 78 80 79 81 … … 1913 1915 /* Update global extra-data: */ 1914 1916 vbox.SetExtraData(strKey, strValue); 1917 if (!vbox.isOk()) 1918 msgCenter().cannotSetExtraData(vbox, strKey, strValue); 1915 1919 } 1916 1920 /* Machine extra-data: */ … … 1919 1923 /* Search for corresponding machine: */ 1920 1924 CVirtualBox vbox = vboxGlobal().virtualBox(); 1921 CMachine machine = vbox.FindMachine(strID);1925 const CMachine machine = vbox.FindMachine(strID); 1922 1926 AssertReturnVoid(vbox.isOk() && !machine.isNull()); 1927 /* Check the configuration access-level: */ 1928 const KMachineState machineState = machine.GetState(); 1929 const KSessionState sessionState = machine.GetSessionState(); 1930 const ConfigurationAccessLevel cLevel = configurationAccessLevel(sessionState, machineState); 1931 /* Prepare machine session: */ 1932 CSession session; 1933 if (cLevel == ConfigurationAccessLevel_Full) 1934 session = vboxGlobal().openSession(strID); 1935 else 1936 session = vboxGlobal().openExistingSession(strID); 1937 AssertReturnVoid(!session.isNull()); 1938 /* Get machine from that session: */ 1939 CMachine sessionMachine = session.GetMachine(); 1923 1940 /* Update machine extra-data: */ 1924 machine.SetExtraData(strKey, strValue); 1941 sessionMachine.SetExtraData(strKey, strValue); 1942 if (!sessionMachine.isOk()) 1943 msgCenter().cannotSetExtraData(sessionMachine, strKey, strValue); 1944 session.UnlockMachine(); 1925 1945 } 1926 1946 } … … 1944 1964 } 1945 1965 1946 void UIExtraDataManager::setExtraDataStringList(const QString &strKey, const QStringList & strValue, const QString &strID /* = GlobalID */)1966 void UIExtraDataManager::setExtraDataStringList(const QString &strKey, const QStringList &value, const QString &strID /* = GlobalID */) 1947 1967 { 1948 1968 /* Make sure VBoxSVC is available: */ … … 1958 1978 1959 1979 /* [Re]cache passed value: */ 1960 data[strKey] = strValue.join(",");1980 data[strKey] = value.join(","); 1961 1981 1962 1982 /* Global extra-data: */ … … 1966 1986 CVirtualBox vbox = vboxGlobal().virtualBox(); 1967 1987 /* Update global extra-data: */ 1968 vbox.SetExtraDataStringList(strKey, strValue); 1988 vbox.SetExtraDataStringList(strKey, value); 1989 if (!vbox.isOk()) 1990 msgCenter().cannotSetExtraData(vbox, strKey, value.join(",")); 1969 1991 } 1970 1992 /* Machine extra-data: */ … … 1973 1995 /* Search for corresponding machine: */ 1974 1996 CVirtualBox vbox = vboxGlobal().virtualBox(); 1975 CMachine machine = vbox.FindMachine(strID);1997 const CMachine machine = vbox.FindMachine(strID); 1976 1998 AssertReturnVoid(vbox.isOk() && !machine.isNull()); 1999 /* Check the configuration access-level: */ 2000 const KMachineState machineState = machine.GetState(); 2001 const KSessionState sessionState = machine.GetSessionState(); 2002 const ConfigurationAccessLevel cLevel = configurationAccessLevel(sessionState, machineState); 2003 /* Prepare machine session: */ 2004 CSession session; 2005 if (cLevel == ConfigurationAccessLevel_Full) 2006 session = vboxGlobal().openSession(strID); 2007 else 2008 session = vboxGlobal().openExistingSession(strID); 2009 AssertReturnVoid(!session.isNull()); 2010 /* Get machine from that session: */ 2011 CMachine sessionMachine = session.GetMachine(); 1977 2012 /* Update machine extra-data: */ 1978 machine.SetExtraDataStringList(strKey, strValue); 2013 sessionMachine.SetExtraDataStringList(strKey, value); 2014 if (!sessionMachine.isOk()) 2015 msgCenter().cannotSetExtraData(sessionMachine, strKey, value.join(",")); 2016 session.UnlockMachine(); 1979 2017 } 1980 2018 } -
trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h
r54463 r54794 124 124 * If valid @a strID is set => applies to machine extra-data, otherwise => to global one. */ 125 125 QStringList extraDataStringList(const QString &strKey, const QString &strID = GlobalID); 126 /** Defines extra-data value corresponding to passed @a strKey as strValue.126 /** Defines extra-data value corresponding to passed @a strKey as value. 127 127 * If valid @a strID is set => applies to machine extra-data, otherwise => to global one. */ 128 void setExtraDataStringList(const QString &strKey, const QStringList & strValue, const QString &strID = GlobalID);128 void setExtraDataStringList(const QString &strKey, const QStringList &value, const QString &strID = GlobalID); 129 129 /** @} */ 130 130 -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
r54731 r54794 514 514 "Make sure your desktop environment can properly handle URLs of this type.") 515 515 .arg(strUrl)); 516 } 517 518 void UIMessageCenter::cannotSetExtraData(const CVirtualBox &vbox, const QString &strKey, const QString &strValue) 519 { 520 error(0, MessageType_Error, 521 tr("Failed to set the global VirtualBox extra data for key <i>%1</i> to value <i>{%2}</i>.") 522 .arg(strKey, strValue), 523 formatErrorInfo(vbox)); 524 } 525 526 void UIMessageCenter::cannotSetExtraData(const CMachine &machine, const QString &strKey, const QString &strValue) 527 { 528 error(0, MessageType_Error, 529 tr("Failed to set the extra data for key <i>%1</i> of machine <i>%2</i> to value <i>{%3}</i>.") 530 .arg(strKey, CMachine(machine).GetName(), strValue), 531 formatErrorInfo(machine)); 516 532 } 517 533 -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.h
r54731 r54794 171 171 void cannotGetMediaAccessibility(const UIMedium &medium) const; 172 172 void cannotOpenURL(const QString &strUrl) const; 173 void cannotSetExtraData(const CVirtualBox &vbox, const QString &strKey, const QString &strValue); 174 void cannotSetExtraData(const CMachine &machine, const QString &strKey, const QString &strValue); 173 175 174 176 /* API: Selector warnings: */
Note:
See TracChangeset
for help on using the changeset viewer.