VirtualBox

Changeset 71523 in vbox


Ignore:
Timestamp:
Mar 27, 2018 9:52:56 AM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
121496
Message:

FE/Qt: bugref:6699: Save/load splitter sizes in guest control dialogs

Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp

    r71437 r71523  
    191191const char *UIExtraDataDefs::GUI_InformationWindowGeometry = "GUI/InformationWindowGeometry";
    192192const char *UIExtraDataDefs::GUI_InformationWindowElements = "GUI/InformationWindowElements";
     193const char *UIExtraDataDefs::GUI_GuestSessionManagerTabSplitterHints = "GUI/GuestSessionManagerTabSplitterHints";
     194const char *UIExtraDataDefs::GUI_GuestFileManagerTabSplitterHints = "GUI/GuestFileManagerTabSplitterHints";
    193195
    194196/* Virtual Machine: Close dialog: */
     
    206208/* Virtual Machine: Log-viewer: */
    207209const char *UIExtraDataDefs::GUI_LogWindowGeometry = "GUI/LogWindowGeometry";
    208 
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h

    r71437 r71523  
    332332        /** Holds information-window elements. */
    333333        extern const char *GUI_InformationWindowElements;
     334        extern const char *GUI_GuestSessionManagerTabSplitterHints;
     335        extern const char *GUI_GuestFileManagerTabSplitterHints;
    334336    /** @} */
    335337
     
    815817
    816818#endif /* !___UIExtraDataDefs_h___ */
    817 
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp

    r71437 r71523  
    20272027           << GUI_InformationWindowGeometry
    20282028           << GUI_InformationWindowElements
     2029           << GUI_GuestSessionManagerTabSplitterHints
     2030           << GUI_GuestFileManagerTabSplitterHints
    20292031           << GUI_DefaultCloseAction << GUI_RestrictedCloseActions
    20302032           << GUI_LastCloseAction << GUI_CloseActionHook
     
    40564058    /* Re-cache corresponding extra-data: */
    40574059    setExtraDataStringList(GUI_InformationWindowGeometry, data, strID);
     4060}
     4061
     4062
     4063void UIExtraDataManager::setGuestSessionManagerTabSplitterHints(const QList<int> &hints)
     4064{
     4065    QStringList data;
     4066    data << (hints.size() > 0 ? QString::number(hints[0]) : QString());
     4067    data << (hints.size() > 1 ? QString::number(hints[1]) : QString());
     4068
     4069    /* Re-cache corresponding extra-data: */
     4070    setExtraDataStringList(GUI_GuestSessionManagerTabSplitterHints, data);
     4071}
     4072
     4073QList<int> UIExtraDataManager::guestSessionManagerTabSplitterHints()
     4074{
     4075    /* Get corresponding extra-data: */
     4076    const QStringList data = extraDataStringList(GUI_GuestSessionManagerTabSplitterHints);
     4077
     4078    /* Parse loaded data: */
     4079    QList<int> hints;
     4080    hints << (data.size() > 0 ? data[0].toInt() : 0);
     4081    hints << (data.size() > 1 ? data[1].toInt() : 0);
     4082
     4083    /* Return hints: */
     4084    return hints;
     4085}
     4086
     4087void UIExtraDataManager::setGuestFileManagerTabSplitterHints(const QList<int> &hints)
     4088{
     4089    QStringList data;
     4090    data << (hints.size() > 0 ? QString::number(hints[0]) : QString());
     4091    data << (hints.size() > 1 ? QString::number(hints[1]) : QString());
     4092
     4093    /* Re-cache corresponding extra-data: */
     4094    setExtraDataStringList(GUI_GuestFileManagerTabSplitterHints, data);
     4095}
     4096
     4097QList<int> UIExtraDataManager::guestFileManagerTabSplitterHints()
     4098{
     4099    /* Get corresponding extra-data: */
     4100    const QStringList data = extraDataStringList(GUI_GuestFileManagerTabSplitterHints);
     4101
     4102    /* Parse loaded data: */
     4103    QList<int> hints;
     4104    hints << (data.size() > 0 ? data[0].toInt() : 0);
     4105    hints << (data.size() > 1 ? data[1].toInt() : 0);
     4106
     4107    /* Return hints: */
     4108    return hints;
    40584109}
    40594110
     
    45784629
    45794630#include "UIExtraDataManager.moc"
    4580 
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h

    r71437 r71523  
    613613        /** Defines information-window @a elements. */
    614614        void setInformationWindowElements(const QMap<InformationElementType, bool> &elements);
     615        void setGuestSessionManagerTabSplitterHints(const QList<int> &hints);
     616        void setGuestFileManagerTabSplitterHints(const QList<int> &hints);
     617        QList<int> guestSessionManagerTabSplitterHints();
     618        QList<int> guestFileManagerTabSplitterHints();
    615619    /** @} */
    616620
     
    747751
    748752#endif /* !___UIExtraDataManager_h___ */
    749 
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileManager.cpp

    r71505 r71523  
    282282    prepareConnections();
    283283    retranslateUi();
     284    loadSettings();
    284285}
    285286
     
    290291    if (m_comGuestSession.isOk() && m_pQtSessionListener && m_comSessionListener.isOk())
    291292        cleanupListener(m_pQtSessionListener, m_comSessionListener, m_comGuestSession.GetEventSource());
     293    saveSettings();
    292294}
    293295
     
    680682
    681683template<typename T>
    682 QStringList   UIGuestControlFileManager::getFsObjInfoStringList(const T &fsObjectInfo) const
     684QStringList UIGuestControlFileManager::getFsObjInfoStringList(const T &fsObjectInfo) const
    683685{
    684686    QStringList objectInfo;
     
    697699}
    698700
     701void UIGuestControlFileManager::saveSettings()
     702{
     703    if (!m_pVerticalSplitter)
     704        return;
     705    gEDataManager->setGuestFileManagerTabSplitterHints(m_pVerticalSplitter->sizes());
     706}
     707
     708void UIGuestControlFileManager::loadSettings()
     709{
     710    if (!m_pVerticalSplitter)
     711        return;
     712    QList<int> splitterHints = gEDataManager->guestFileManagerTabSplitterHints();
     713    if (splitterHints.size() != 2)
     714        return;
     715    if (splitterHints[0] != 0 && splitterHints[1] != 0)
     716        m_pVerticalSplitter->setSizes(splitterHints);
     717}
     718
    699719#include "UIGuestControlFileManager.moc"
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileManager.h

    r71439 r71523  
    9494    void postSessionCreated();
    9595    void postSessionClosed();
     96    void saveSettings();
     97    void loadSettings();
    9698
    9799    template<typename T>
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlWidget.cpp

    r71355 r71523  
    179179    prepareConnections();
    180180    initGuestSessionTree();
     181    loadSettings();
     182}
     183
     184UIGuestControlWidget::~UIGuestControlWidget()
     185{
     186    saveSettings();
    181187}
    182188
     
    221227    }
    222228
    223     m_pSplitter->setStretchFactor(0, 9);
    224     m_pSplitter->setStretchFactor(1, 4);
     229    m_pSplitter->setStretchFactor(0, 2);
     230    m_pSplitter->setStretchFactor(1, 1);
    225231
    226232    updateTreeWidget();
     
    425431}
    426432
     433void UIGuestControlWidget::saveSettings()
     434{
     435    if (!m_pSplitter)
     436        return;
     437    gEDataManager->setGuestSessionManagerTabSplitterHints(m_pSplitter->sizes());
     438}
     439
     440void UIGuestControlWidget::loadSettings()
     441{
     442    if (!m_pSplitter)
     443        return;
     444    QList<int> splitterHints = gEDataManager->guestSessionManagerTabSplitterHints();
     445    if (splitterHints.size() != 2)
     446        return;
     447    if (splitterHints[0] != 0 && splitterHints[1] != 0)
     448        m_pSplitter->setSizes(splitterHints);
     449}
     450
    427451#include "UIGuestControlWidget.moc"
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlWidget.h

    r71101 r71523  
    4848
    4949    UIGuestControlWidget(QWidget *pParent, const CGuest &comGuest);
     50    ~UIGuestControlWidget();
    5051
    5152private slots:
     
    7172    void cleanupListener();
    7273    void addGuestSession(CGuestSession guestSession);
     74    void saveSettings();
     75    void loadSettings();
    7376
    7477    CGuest                    m_comGuest;
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette