Changeset 47523 in vbox for trunk/src/VBox/Frontends/VirtualBox
- Timestamp:
- Aug 2, 2013 1:11:24 PM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 87713
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIPopupCenter.cpp
r47511 r47523 73 73 void UIPopupCenter::prepare() 74 74 { 75 /* Embedded by default: */76 m_type = UIPopupIntegrationType_Embedded;77 75 } 78 76 79 77 void UIPopupCenter::cleanup() 80 78 { 79 /* Make sure all the popup-stack types destroyed: */ 80 foreach (const QString &strPopupStackTypeID, m_stackTypes.keys()) 81 m_stackTypes.remove(strPopupStackTypeID); 81 82 /* Make sure all the popup-stacks destroyed: */ 82 83 foreach (const QString &strPopupStackID, m_stacks.keys()) … … 87 88 } 88 89 89 void UIPopupCenter::setStackIntegrationType(UIPopupIntegrationType type) 90 { 91 /* Make sure type changed: */ 92 if (m_type == type) 93 return; 94 95 /* Assign new type: */ 96 m_type = type; 90 void UIPopupCenter::showPopupStack(QWidget *pParent) 91 { 92 /* Make sure parent is set! */ 93 AssertMsg(pParent, ("Parent is NULL!")); 94 if (!pParent) 95 return; 96 97 /* Make sure corresponding popup-stack *exists*: */ 98 const QString strPopupStackID(popupStackID(pParent)); 99 if (!m_stacks.contains(strPopupStackID)) 100 return; 101 102 /* Assign stack with passed parent: */ 103 UIPopupStack *pPopupStack = m_stacks[strPopupStackID]; 104 assignPopupStackParent(pPopupStack, pParent, m_stackTypes[strPopupStackID]); 105 pPopupStack->show(); 106 } 107 108 void UIPopupCenter::hidePopupStack(QWidget *pParent) 109 { 110 /* Make sure parent is set! */ 111 AssertMsg(pParent, ("Parent is NULL!")); 112 if (!pParent) 113 return; 114 115 /* Make sure corresponding popup-stack *exists*: */ 116 const QString strPopupStackID(popupStackID(pParent)); 117 if (!m_stacks.contains(strPopupStackID)) 118 return; 119 120 /* Unassign stack with passed parent: */ 121 UIPopupStack *pPopupStack = m_stacks[strPopupStackID]; 122 pPopupStack->hide(); 123 unassignPopupStackParent(pPopupStack, pParent); 124 } 125 126 void UIPopupCenter::setPopupStackType(QWidget *pParent, UIPopupStackType newStackType) 127 { 128 /* Make sure parent is set! */ 129 AssertMsg(pParent, ("Parent is NULL!")); 130 if (!pParent) 131 return; 132 133 /* Composing corresponding popup-stack: */ 134 const QString strPopupStackID(popupStackID(pParent)); 135 136 /* Looking for current popup-stack type, create if it doesn't exists: */ 137 UIPopupStackType &stackType = m_stackTypes[strPopupStackID]; 138 139 /* Make sure stack-type has changed: */ 140 if (stackType == newStackType) 141 return; 142 143 /* Remember new stack type: */ 144 LogRelFlow(("UIPopupCenter::setPopupStackType: Changing type of popup-stack with ID = '%s' from '%s' to '%s'.\n", 145 strPopupStackID.toAscii().constData(), 146 stackType == UIPopupStackType_Separate ? "separate window" : "embedded widget", 147 newStackType == UIPopupStackType_Separate ? "separate window" : "embedded widget")); 148 stackType = newStackType; 97 149 } 98 150 … … 201 253 } 202 254 203 /* Looking for thecorresponding popup-stack: */255 /* Looking for corresponding popup-stack: */ 204 256 const QString strPopupStackID(popupStackID(pParent)); 205 257 UIPopupStack *pPopupStack = 0; 206 /* I s there already popup-stack with the same ID?*/258 /* If there is already popup-stack with such ID: */ 207 259 if (m_stacks.contains(strPopupStackID)) 208 260 { 209 /* Get existing one: */261 /* Just get existing one: */ 210 262 pPopupStack = m_stacks[strPopupStackID]; 211 263 } 212 /* There is no popup-stack with the same ID?*/264 /* If there is no popup-stack with such ID: */ 213 265 else 214 266 { 215 267 /* Create new one: */ 216 pPopupStack = m_stacks[strPopupStackID] = new UIPopupStack ;268 pPopupStack = m_stacks[strPopupStackID] = new UIPopupStack(strPopupStackID); 217 269 /* Attach popup-stack connections: */ 218 270 connect(pPopupStack, SIGNAL(sigPopupPaneDone(QString, int)), this, SLOT(sltPopupPaneDone(QString, int))); 219 connect(pPopupStack, SIGNAL(sigRemove( )), this, SLOT(sltRemovePopupStack()));271 connect(pPopupStack, SIGNAL(sigRemove(QString)), this, SLOT(sltRemovePopupStack(QString))); 220 272 /* Show popup-stack: */ 221 273 showPopupStack(pParent); 222 274 } 223 275 224 /* Looking for the corresponding popup-pane: */276 /* If there is already popup-pane with such ID: */ 225 277 if (pPopupStack->exists(strPopupPaneID)) 226 278 { 227 /* Update existing one: */279 /* Just update existing one: */ 228 280 pPopupStack->updatePopupPane(strPopupPaneID, strMessage, strDetails); 229 281 } 282 /* If there is no popup-pane with such ID: */ 230 283 else 231 284 { … … 263 316 } 264 317 265 void UIPopupCenter::showPopupStack(QWidget *pParent) 266 { 267 /* Make sure passed parent is valid: */ 268 if (!pParent) 269 { 270 AssertMsgFailed(("Passed parent is NULL")); 271 return; 272 } 273 274 /* Do we have a stack for passed parent? */ 275 const QString strPopupStackID(popupStackID(pParent)); 318 void UIPopupCenter::sltPopupPaneDone(QString strPopupPaneID, int iResultCode) 319 { 320 /* Was the result auto-confirmated? */ 321 if (iResultCode & AlertOption_AutoConfirmed) 322 { 323 /* Remember auto-confirmation fact: */ 324 QStringList confirmedPopupList = vboxGlobal().virtualBox().GetExtraData(GUI_SuppressMessages).split(','); 325 confirmedPopupList << strPopupPaneID; 326 vboxGlobal().virtualBox().SetExtraData(GUI_SuppressMessages, confirmedPopupList.join(",")); 327 } 328 329 /* Notify listeners: */ 330 emit sigPopupPaneDone(strPopupPaneID, iResultCode); 331 } 332 333 void UIPopupCenter::sltRemovePopupStack(QString strPopupStackID) 334 { 335 /* Make sure corresponding popup-stack *exists*: */ 276 336 if (!m_stacks.contains(strPopupStackID)) 277 return; 278 279 /* Assign stack with passed parent: */ 280 UIPopupStack *pPopupStack = m_stacks[strPopupStackID]; 281 assignPopupStackParent(pPopupStack, pParent); 282 pPopupStack->show(); 283 } 284 285 void UIPopupCenter::hidePopupStack(QWidget *pParent) 286 { 287 /* Make sure passed parent is valid: */ 288 if (!pParent) 289 { 290 AssertMsgFailed(("Passed parent is NULL")); 291 return; 292 } 293 294 /* Do we have a stack for passed parent? */ 295 const QString strPopupStackID(popupStackID(pParent)); 296 if (!m_stacks.contains(strPopupStackID)) 297 return; 298 299 /* Unassign stack with passed parent: */ 300 UIPopupStack *pPopupStack = m_stacks[strPopupStackID]; 301 pPopupStack->hide(); 302 unassignPopupStackParent(pPopupStack, pParent); 303 } 304 305 void UIPopupCenter::reinstallPopupStack(QWidget *pParent, bool fAsTopLevel) 306 { 307 /* Make sure passed parent is valid: */ 308 if (!pParent) 309 return; 310 311 /* Do we have a stack for passed parent? */ 312 const QString strPopupStackID(popupStackID(pParent)); 313 if (!m_stacks.contains(strPopupStackID)) 314 return; 315 316 /* Make sure we should really reinstall stack: */ 317 if ((fAsTopLevel && m_type == UIPopupIntegrationType_Toplevel) || 318 (!fAsTopLevel && m_type == UIPopupIntegrationType_Embedded)) 319 return; 320 321 LogRelFlow(("UIPopupCenter::reinstallPopupStack: Reinstalling popup-stack as %s.\n", 322 fAsTopLevel ? "top level window" : "embedded widget")); 323 324 /* Remove stack: */ 325 hidePopupStack(pParent); 326 327 /* Make sure integration type is correct: */ 328 setStackIntegrationType(fAsTopLevel ? UIPopupIntegrationType_Toplevel : UIPopupIntegrationType_Embedded); 329 330 /* Return stack again: */ 331 showPopupStack(pParent); 332 } 333 334 void UIPopupCenter::assignPopupStackParent(UIPopupStack *pPopupStack, QWidget *pParent) 335 { 336 /* Make sure parent is not NULL: */ 337 AssertMsg(pParent, ("Invalid parent passed!")); 337 { 338 AssertMsgFailed(("Popup-stack already destroyed!")); 339 return; 340 } 341 342 /* Delete popup-stack: */ 343 delete m_stacks[strPopupStackID]; 344 m_stacks.remove(strPopupStackID); 345 } 346 347 /* static */ 348 QString UIPopupCenter::popupStackID(QWidget *pParent) 349 { 350 /* Make sure parent is set! */ 351 AssertMsg(pParent, ("Parent is NULL!")); 352 if (!pParent) 353 return QString(); 354 355 /* Special handling for Runtime UI: */ 356 if (qobject_cast<UIMachineWindow*>(pParent)) 357 return QString("UIMachineWindow"); 358 359 /* Common handling for other cases: */ 360 return pParent->metaObject()->className(); 361 } 362 363 /* static */ 364 void UIPopupCenter::assignPopupStackParent(UIPopupStack *pPopupStack, QWidget *pParent, UIPopupStackType stackType) 365 { 366 /* Make sure parent is set! */ 367 AssertMsg(pParent, ("Parent is NULL!")); 368 if (!pParent) 369 return; 338 370 339 371 /* Assign event-filter: */ 340 372 pParent->installEventFilter(pPopupStack); 341 373 342 /* Assign parent depending on *integration* type: */343 switch ( m_type)344 { 345 case UIPopup IntegrationType_Embedded:374 /* Assign parent depending on passed *stack* type: */ 375 switch (stackType) 376 { 377 case UIPopupStackType_Embedded: 346 378 { 347 379 pPopupStack->setParent(pParent); 348 380 break; 349 381 } 350 case UIPopup IntegrationType_Toplevel:382 case UIPopupStackType_Separate: 351 383 { 352 384 pPopupStack->setParent(pParent, Qt::Tool | Qt::FramelessWindowHint); … … 357 389 } 358 390 391 /* static */ 359 392 void UIPopupCenter::unassignPopupStackParent(UIPopupStack *pPopupStack, QWidget *pParent) 360 393 { 361 /* Make sure parent is not NULL: */ 362 AssertMsg(pParent, ("Invalid parent passed!")); 394 /* Make sure parent is set! */ 395 AssertMsg(pParent, ("Parent is NULL!")); 396 if (!pParent) 397 return; 363 398 364 399 /* Unassign parent: */ … … 367 402 /* Unassign event-filter: */ 368 403 pParent->removeEventFilter(pPopupStack); 369 }370 371 void UIPopupCenter::sltPopupPaneDone(QString strPopupPaneID, int iResultCode)372 {373 /* Was the result auto-confirmated? */374 if (iResultCode & AlertOption_AutoConfirmed)375 {376 /* Remember auto-confirmation fact: */377 QStringList confirmedPopupList = vboxGlobal().virtualBox().GetExtraData(GUI_SuppressMessages).split(',');378 confirmedPopupList << strPopupPaneID;379 vboxGlobal().virtualBox().SetExtraData(GUI_SuppressMessages, confirmedPopupList.join(","));380 }381 382 /* Notify listeners: */383 emit sigPopupPaneDone(strPopupPaneID, iResultCode);384 }385 386 void UIPopupCenter::sltShowPopupStack()387 {388 showPopupStack(vboxGlobal().activeMachineWindow());389 }390 391 void UIPopupCenter::sltHidePopupStack()392 {393 hidePopupStack(vboxGlobal().activeMachineWindow());394 }395 396 void UIPopupCenter::sltReinstallPopupStack(bool fAsTopLevel)397 {398 reinstallPopupStack(vboxGlobal().activeMachineWindow(), fAsTopLevel);399 }400 401 void UIPopupCenter::sltRemovePopupStack()402 {403 /* Make sure the sender is the popup-stack: */404 UIPopupStack *pPopupStack = qobject_cast<UIPopupStack*>(sender());405 if (!pPopupStack)406 {407 AssertMsgFailed(("Should be called by popup-stack only!"));408 return;409 }410 411 /* Make sure the popup-stack still exists: */412 const QString strPopupStackID(m_stacks.key(pPopupStack, QString()));413 if (strPopupStackID.isNull())414 {415 AssertMsgFailed(("Popup-stack already destroyed!"));416 return;417 }418 419 /* Cleanup the popup-stack: */420 m_stacks.remove(strPopupStackID);421 delete pPopupStack;422 }423 424 /* static */425 QString UIPopupCenter::popupStackID(QWidget *pParent)426 {427 /* Make sure passed parent is always valid: */428 if (!pParent)429 {430 AssertMsgFailed(("Passed parent is NULL"));431 return QString();432 }433 434 /* Special handling for Runtime UI: */435 if (qobject_cast<UIMachineWindow*>(pParent))436 return QString("UIMachineWindow");437 438 /* Common handling for other cases: */439 return pParent->metaObject()->className();440 404 } 441 405 -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIPopupCenter.h
r47511 r47523 29 29 class UIPopupStack; 30 30 31 /* Popup integrationtypes: */32 enum UIPopup IntegrationType31 /* Popup-stack types: */ 32 enum UIPopupStackType 33 33 { 34 UIPopup IntegrationType_Embedded,35 UIPopup IntegrationType_Toplevel34 UIPopupStackType_Embedded, 35 UIPopupStackType_Separate 36 36 }; 37 37 … … 52 52 static void destroy(); 53 53 54 /* API: Stack layout stuff: */ 55 void setStackIntegrationType(UIPopupIntegrationType type); 54 /* API: Popup-stack stuff: */ 55 void showPopupStack(QWidget *pParent); 56 void hidePopupStack(QWidget *pParent); 57 void setPopupStackType(QWidget *pParent, UIPopupStackType newStackType); 56 58 57 59 /* API: Main message function. … … 113 115 void sltPopupPaneDone(QString strPopupPaneID, int iResultCode); 114 116 115 /* Handlers: Popup-stack stuff: */ 116 void sltShowPopupStack(); 117 void sltHidePopupStack(); 118 void sltReinstallPopupStack(bool fAsTopLevel); 119 void sltRemovePopupStack(); 117 /* Handler: Popup-stack stuff: */ 118 void sltRemovePopupStack(QString strPopupStackID); 120 119 121 120 private: … … 137 136 void hidePopupPane(QWidget *pParent, const QString &strPopupPaneID); 138 137 139 /* Helpers: Popup-stack stuff: */140 void showPopupStack(QWidget *pParent);141 void hidePopupStack(QWidget *pParent);142 void reinstallPopupStack(QWidget *pParent, bool fAsTopLevel);143 void assignPopupStackParent(UIPopupStack *pPopupStack, QWidget *pParent);144 void unassignPopupStackParent(UIPopupStack *pPopupStack, QWidget *pParent);145 146 138 /* Static helper: Popup-stack stuff: */ 147 139 static QString popupStackID(QWidget *pParent); 140 static void assignPopupStackParent(UIPopupStack *pPopupStack, QWidget *pParent, UIPopupStackType stackType); 141 static void unassignPopupStackParent(UIPopupStack *pPopupStack, QWidget *pParent); 148 142 149 /* Variable : Popup-stack stuff: */150 UIPopupIntegrationType m_type;143 /* Variables: Popup-stack stuff: */ 144 QMap<QString, UIPopupStackType> m_stackTypes; 151 145 QMap<QString, QPointer<UIPopupStack> > m_stacks; 152 146 -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp
r47493 r47523 353 353 void UIMachineLogic::notifyAbout3DOverlayVisibilityChange(bool fVisible) 354 354 { 355 /* Notify listener about 3D overlay visibility change: */ 356 emit sigNotifyAbout3DOverlayVisibilityChange(fVisible); 355 /* If active machine-window is defined now: */ 356 if (activeMachineWindow()) 357 { 358 /* Reinstall corresponding popup-stack according 3D overlay visibility status: */ 359 popupCenter().hidePopupStack(activeMachineWindow()); 360 popupCenter().setPopupStackType(activeMachineWindow(), fVisible ? UIPopupStackType_Separate : UIPopupStackType_Embedded); 361 popupCenter().showPopupStack(activeMachineWindow()); 362 } 357 363 } 358 364 … … 544 550 #endif /* Q_WS_MAC */ 545 551 { 546 /* Register popup-center connections: */547 connect(this, SIGNAL(sigMachineWindowsCreated()),548 &popupCenter(), SLOT(sltShowPopupStack()));549 connect(this, SIGNAL(sigMachineWindowsDestroyed()),550 &popupCenter(), SLOT(sltHidePopupStack()));551 connect(this, SIGNAL(sigNotifyAbout3DOverlayVisibilityChange(bool)),552 &popupCenter(), SLOT(sltReinstallPopupStack(bool)));553 }554 555 UIMachineLogic::~UIMachineLogic()556 {557 /* Unregister popup-center connections: */558 disconnect(this, SIGNAL(sigMachineWindowsCreated()),559 &popupCenter(), SLOT(sltShowPopupStack()));560 disconnect(this, SIGNAL(sigMachineWindowsDestroyed()),561 &popupCenter(), SLOT(sltHidePopupStack()));562 disconnect(this, SIGNAL(sigNotifyAbout3DOverlayVisibilityChange(bool)),563 &popupCenter(), SLOT(sltReinstallPopupStack(bool)));564 552 } 565 553 … … 573 561 if (!fIsWindowsCreated) 574 562 { 575 /* We emit this signal*before* the remembering new value563 /* We ask popup-center to hide corresponding popup-stack *before* the remembering new value 576 564 * because we want UIMachineLogic::activeMachineWindow() to be yet alive. */ 577 emit sigMachineWindowsDestroyed();565 popupCenter().hidePopupStack(activeMachineWindow()); 578 566 } 579 567 … … 584 572 if (fIsWindowsCreated) 585 573 { 586 /* We emit this signal*after* the remembering new value574 /* We ask popup-center to show corresponding popup-stack *after* the remembering new value 587 575 * because we want UIMachineLogic::activeMachineWindow() to be already alive. */ 588 emit sigMachineWindowsCreated(); 576 popupCenter().setPopupStackType(activeMachineWindow(), 577 visualStateType() == UIVisualStateType_Seamless ? 578 UIPopupStackType_Separate : UIPopupStackType_Embedded); 579 popupCenter().showPopupStack(activeMachineWindow()); 589 580 } 590 581 } … … 663 654 # endif /* VBOX_WITH_ICHAT_THEATER */ 664 655 #endif /* Q_WS_MAC */ 665 666 /* Switch popup-center into default integration mode: */667 popupCenter().setStackIntegrationType(UIPopupIntegrationType_Embedded);668 656 } 669 657 -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.h
r47507 r47523 53 53 Q_OBJECT; 54 54 55 signals:56 57 /* Notifiers: Machine-window(s) stuff: */58 void sigMachineWindowsCreated();59 void sigMachineWindowsDestroyed();60 void sigNotifyAbout3DOverlayVisibilityChange(bool fVisible);61 62 55 public: 63 56 … … 122 115 protected: 123 116 124 /* Constructor /destructor: */117 /* Constructor: */ 125 118 UIMachineLogic(QObject *pParent, UISession *pSession, UIVisualStateType visualStateType); 126 ~UIMachineLogic();127 119 128 120 /* Protected getters/setters: */ -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineLogicSeamless.cpp
r47507 r47523 91 91 void UIMachineLogicSeamless::notifyAbout3DOverlayVisibilityChange(bool) 92 92 { 93 /* Ignore this event in seamless mode. 94 * We have to keep popup-stack integration type 'top-level'. 95 * S.A. UIMachineLogicSeamless::prepareRequiredFeatures(). */ 93 /* If active machine-window is defined now: */ 94 if (activeMachineWindow()) 95 { 96 /* Reinstall corresponding popup-stack and make sure it has proper type: */ 97 popupCenter().hidePopupStack(activeMachineWindow()); 98 popupCenter().setPopupStackType(activeMachineWindow(), UIPopupStackType_Separate); 99 popupCenter().showPopupStack(activeMachineWindow()); 100 } 96 101 } 97 102 … … 118 123 /* Call to base-class: */ 119 124 UIMachineLogic::sltHostScreenCountChanged(cScreenCount); 120 }121 122 void UIMachineLogicSeamless::prepareRequiredFeatures()123 {124 /* Call to base-class: */125 UIMachineLogic::prepareRequiredFeatures();126 127 /* Switch popup-center into 'top-level' integration mode: */128 popupCenter().setStackIntegrationType(UIPopupIntegrationType_Toplevel);129 125 } 130 126 -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless/UIMachineLogicSeamless.h
r47507 r47523 55 55 56 56 /* Prepare helpers: */ 57 void prepareRequiredFeatures();58 57 void prepareActionGroups(); 59 58 void prepareMachineWindows(); … … 64 63 void cleanupMachineWindows(); 65 64 void cleanupActionGroups(); 66 //void cleanupRequiredFeatures();67 65 68 66 /* Variables: */ -
trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupStack.cpp
r47462 r47523 30 30 #include "UIPopupStackViewport.h" 31 31 32 UIPopupStack::UIPopupStack() 33 : m_pScrollArea(0) 32 UIPopupStack::UIPopupStack(const QString &strID) 33 : m_strID(strID) 34 , m_pScrollArea(0) 34 35 , m_pScrollViewport(0) 35 36 , m_iParentMenuBarHeight(0) … … 138 139 if (parentWidget()) 139 140 parentWidget()->setFocus(); 141 } 142 143 void UIPopupStack::sltPopupPanesRemoved() 144 { 145 /* Ask popup-center to remove us: */ 146 emit sigRemove(m_strID); 140 147 } 141 148 … … 194 201 connect(m_pScrollViewport, SIGNAL(sigPopupPaneRemoved(QString)), 195 202 this, SLOT(sltPopupPaneRemoved(QString))); 196 connect(m_pScrollViewport, SIGNAL(sig Remove()),197 this, S IGNAL(sigRemove()));203 connect(m_pScrollViewport, SIGNAL(sigPopupPanesRemoved()), 204 this, SLOT(sltPopupPanesRemoved())); 198 205 } 199 206 /* Assign scroll-viewport to scroll-area: */ -
trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupStack.h
r47461 r47523 43 43 44 44 /* Notifier: Popup-stack stuff: */ 45 void sigRemove( );45 void sigRemove(QString strID); 46 46 47 47 public: 48 48 49 49 /* Constructor: */ 50 UIPopupStack( );50 UIPopupStack(const QString &strID); 51 51 52 52 /* API: Popup-pane stuff: */ … … 69 69 void sltAdjustGeometry(); 70 70 71 /* Handler : Popuyp-pane stuff: */71 /* Handlers: Popup-pane stuff: */ 72 72 void sltPopupPaneRemoved(QString strPopupPaneID); 73 void sltPopupPanesRemoved(); 73 74 74 75 private: … … 91 92 static int parentStatusBarHeight(QWidget *pParent); 92 93 94 /* Variable: General stuff: */ 95 QString m_strID; 96 93 97 /* Variables: Widget stuff: */ 94 98 QVBoxLayout *m_pMainLayout; -
trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupStackViewport.cpp
r47461 r47523 155 155 156 156 /* Notify listeners about popup-stack: */ 157 emit sig Remove();157 emit sigPopupPanesRemoved(); 158 158 } 159 159 -
trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupStackViewport.h
r47462 r47523 41 41 void sigPopupPaneDone(QString strPopupPaneID, int iResultCode); 42 42 void sigPopupPaneRemoved(QString strPopupPaneID); 43 44 /* Notifier: Popup-stack stuff: */ 45 void sigRemove(); 43 void sigPopupPanesRemoved(); 46 44 47 45 public:
Note:
See TracChangeset
for help on using the changeset viewer.