VirtualBox

Ignore:
Timestamp:
Oct 30, 2018 3:07:55 PM (6 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:6699. Several modifications to file manager

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileManager.cpp

    r75136 r75184  
    7575{
    7676    delete m_pInstance;
     77    m_pInstance = 0;
     78}
     79
     80 UIGuestControlFileManagerSettings::~UIGuestControlFileManagerSettings()
     81{
     82
    7783}
    7884
     
    671677        return false;
    672678    }
    673 
    674679    return true;
    675680}
  • trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileManager.h

    r75136 r75184  
    6161private:
    6262    UIGuestControlFileManagerSettings();
    63 
     63    ~UIGuestControlFileManagerSettings();
    6464
    6565    static UIGuestControlFileManagerSettings *m_pInstance;
  • trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileTable.cpp

    r75162 r75184  
    12091209    Q_UNUSED(deselected);
    12101210    setSelectionDependentActionsEnabled(m_pView->hasSelection());
    1211 }
    1212 
    1213 void UIGuestControlFileTable::prepareActionConnections()
    1214 {
    1215     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_GoUp), &QAction::triggered,
    1216             this, &UIGuestControlFileTable::sltGoUp);
    1217     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_GoUp), &QAction::triggered,
    1218             this, &UIGuestControlFileTable::sltGoUp);
    1219     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_GoHome), &QAction::triggered,
    1220             this, &UIGuestControlFileTable::sltGoHome);
    1221     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_GoHome), &QAction::triggered,
    1222             this, &UIGuestControlFileTable::sltGoHome);
    1223     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Refresh), &QAction::triggered,
    1224             this, &UIGuestControlFileTable::sltRefresh);
    1225     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_Refresh), &QAction::triggered,
    1226             this, &UIGuestControlFileTable::sltRefresh);
    1227     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Delete), &QAction::triggered,
    1228             this, &UIGuestControlFileTable::sltDelete);
    1229     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_Delete), &QAction::triggered,
    1230             this, &UIGuestControlFileTable::sltDelete);
    1231     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Rename), &QAction::triggered,
    1232             this, &UIGuestControlFileTable::sltRename);
    1233     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_Rename), &QAction::triggered,
    1234             this, &UIGuestControlFileTable::sltRename);
    1235     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Copy), &QAction::triggered,
    1236             this, &UIGuestControlFileTable::sltCopy);
    1237     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_Copy), &QAction::triggered,
    1238             this, &UIGuestControlFileTable::sltCopy);
    1239     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Cut), &QAction::triggered,
    1240             this, &UIGuestControlFileTable::sltCut);
    1241     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_Cut), &QAction::triggered,
    1242             this, &UIGuestControlFileTable::sltCut);
    1243     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Paste), &QAction::triggered,
    1244             this, &UIGuestControlFileTable::sltPaste);
    1245     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_Paste), &QAction::triggered,
    1246             this, &UIGuestControlFileTable::sltPaste);
    1247     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_SelectAll), &QAction::triggered,
    1248             this, &UIGuestControlFileTable::sltSelectAll);
    1249     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_SelectAll), &QAction::triggered,
    1250             this, &UIGuestControlFileTable::sltSelectAll);
    1251     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_InvertSelection), &QAction::triggered,
    1252             this, &UIGuestControlFileTable::sltInvertSelection);
    1253     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_InvertSelection), &QAction::triggered,
    1254             this, &UIGuestControlFileTable::sltInvertSelection);
    1255     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_ShowProperties), &QAction::triggered,
    1256             this, &UIGuestControlFileTable::sltShowProperties);
    1257     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_ShowProperties), &QAction::triggered,
    1258             this, &UIGuestControlFileTable::sltShowProperties);
    1259     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_CreateNewDirectory), &QAction::triggered,
    1260             this, &UIGuestControlFileTable::sltCreateNewDirectory);
    1261     connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_CreateNewDirectory), &QAction::triggered,
    1262             this, &UIGuestControlFileTable::sltCreateNewDirectory);
    12631211}
    12641212
  • trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileTable.h

    r75162 r75184  
    294294    CGuestFsObjInfo  guestFsObjectInfo(const QString& path, CGuestSession &comGuestSession) const;
    295295    void             setSelectionDependentActionsEnabled(bool fIsEnabled);
    296     void             prepareActionConnections();
    297 
    298296
    299297    UIFileTableItem         *m_pRootItem;
     
    309307    QSet<QAction*> m_selectionDependentActions;
    310308
    311 protected slots:
     309public slots:
    312310
    313311    void sltReceiveDirectoryStatistics(UIDirectoryStatistics statictics);
    314312    void sltCreateNewDirectory();
    315 
    316 private slots:
    317 
    318313    /* index is passed by the item view and represents the double clicked object's 'proxy' model index */
    319314    void sltItemDoubleClicked(const QModelIndex &index);
     
    328323    void sltPaste();
    329324    void sltShowProperties();
    330 
    331325    void sltSelectionChanged(const QItemSelection & selected, const QItemSelection & deselected);
    332326    void sltLocationComboCurrentChange(const QString &strLocation);
  • trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestFileTable.cpp

    r75162 r75184  
    2121
    2222/* Qt includes: */
    23 // # include <QAction>
    2423# include <QDateTime>
    2524# include <QFileInfo>
     
    3029# include "UIErrorString.h"
    3130# include "UIGuestFileTable.h"
     31# include "UIMessageCenter.h"
    3232# include "UIToolBar.h"
    3333
     
    310310}
    311311
    312 void UIGuestFileTable::copyGuestToHost(const QString& hostDestinationPath)
    313 {
    314     QStringList selectedPathList = selectedItemPathList();
    315     for (int i = 0; i < selectedPathList.size(); ++i)
    316         copyGuestToHost(selectedPathList.at(i), hostDestinationPath);
    317 }
    318 
    319312void UIGuestFileTable::copyHostToGuest(const QStringList &hostSourcePathList)
    320313{
     
    322315    QVector<QString>  aFilters;
    323316    QVector<QString>  aFlags;
    324     m_comGuestSession.CopyToGuest(sourcePaths, aFilters, aFlags, currentDirectoryPath());
    325     if (!m_comGuestSession.isOk())
    326         emit sigLogOutput(UIErrorString::formatErrorInfo(m_comGuestSession));
     317    CProgress progress = m_comGuestSession.CopyToGuest(sourcePaths, aFilters, aFlags, currentDirectoryPath());
     318    if (!m_comGuestSession.isOk())
     319    {
     320        emit sigLogOutput(UIErrorString::formatErrorInfo(m_comGuestSession));
     321        //msgCenter().cannotRemoveMachine(machine);
     322        return;
     323    }
     324
     325    msgCenter().showModalProgressDialog(progress, "copying", ":/progress_delete_90px.png");
     326    if (!progress.isOk() || progress.GetResultCode() != 0)
     327    {
     328        emit sigLogOutput(UIErrorString::formatErrorInfo(progress));
     329        return;
     330    }
     331
    327332    else
    328333        refresh();
    329334}
    330335
    331 bool UIGuestFileTable::copyGuestToHost(const QString &guestSourcePath, const QString& hostDestinationPath)
    332 {
    333     if (m_comGuestSession.isNull())
    334         return false;
    335 
    336     /* Currently API expects a path including a file name for file copy*/
    337     CGuestFsObjInfo fileInfo = guestFsObjectInfo(guestSourcePath, m_comGuestSession);
    338     KFsObjType objectType = fileInfo.GetType();
    339     if (objectType == KFsObjType_File)
    340     {
    341         QVector<KFileCopyFlag> flags(KFileCopyFlag_FollowLinks);
    342         /* API expects a full file path as destionation: */
    343         QString destinatioFilePath =  UIPathOperations::addTrailingDelimiters(hostDestinationPath);
    344         /** @todo listen to CProgress object to monitor copy operation: */
    345         /*CProgress comProgress =*/ m_comGuestSession.FileCopyFromGuest(guestSourcePath, destinatioFilePath, flags);
    346 
    347     }
    348     else if (objectType == KFsObjType_Directory)
    349     {
    350         QVector<KDirectoryCopyFlag> aFlags(KDirectoryCopyFlag_CopyIntoExisting);
    351         QString destinatioFilePath =  UIPathOperations::addTrailingDelimiters(hostDestinationPath);
    352         QString sourceWithDelimiter =  UIPathOperations::addTrailingDelimiters(guestSourcePath);
    353 
    354         /** @todo listen to CProgress object to monitor copy operation: */
    355         /*CProgress comProgress = */
    356         // m_comGuestSession.DirectoryCopyFromGuest(guestSourcePath, hostDestinationPath/*destinatioFilePath*/ , aFlags);
    357         // m_comGuestSession.DirectoryCopyFromGuest(guestSourcePath, destinatioFilePath , aFlags);
    358         // m_comGuestSession.DirectoryCopyFromGuest(sourceWithDelimiter, destinatioFilePath , aFlags);
    359         // m_comGuestSession.DirectoryCopyFromGuest(sourceWithDelimiter, hostDestinationPath , aFlags);
    360 
    361     }
    362     if (!m_comGuestSession.isOk())
    363     {
    364         emit sigLogOutput(UIErrorString::formatErrorInfo(m_comGuestSession));
    365         return false;
    366     }
    367 
    368     return true;
    369 }
    370 
    371 // bool UIGuestFileTable::copyHostToGuest(const QString &hostSourcePath, const QString &guestDestinationPath)
    372 // {
    373 //     if (m_comGuestSession.isNull())
    374 //         return false;
    375 //     QFileInfo hostFileInfo(hostSourcePath);
    376 //     if (!hostFileInfo.exists())
    377 //         return false;
    378 //     CProgress comProgress;
    379 //     /* Currently API expects a path including a file name for file copy*/
    380 //     if (hostFileInfo.isFile() || hostFileInfo.isSymLink())
    381 //     {
    382 //         QVector<KFileCopyFlag> flags(KFileCopyFlag_FollowLinks);
    383 //         QString destinationFilePath =  UIPathOperations::addTrailingDelimiters(guestDestinationPath);
    384 //         /** @todo listen to CProgress object to monitor copy operation: */
    385 //         comProgress = m_comGuestSession.FileCopyToGuest(hostSourcePath, destinationFilePath, flags);
    386 //     }
    387 //     else if(hostFileInfo.isDir())
    388 //     {
    389 
    390 //         QVector<KDirectoryCopyFlag> aFlags(KDirectoryCopyFlag_CopyIntoExisting);
    391 //         QString destinationFilePath =  UIPathOperations::addTrailingDelimiters(guestDestinationPath);
    392 //         /** @todo listen to CProgress object to monitor copy operation: */
    393 //         comProgress = m_comGuestSession.DirectoryCopyToGuest(hostSourcePath, destinationFilePath, aFlags);
    394 //     }
    395 //     /** @todo currently I cannot get an errorfrom CProgress: */
    396 //     if (m_comGuestSession.isOk())
    397 //     {
    398 //         if (!comProgress.isOk() || comProgress.GetResultCode() != 0)
    399 //         {
    400 //             emit sigLogOutput(UIErrorString::formatErrorInfo(comProgress));
    401 //             return false;
    402 //         }
    403 //     }
    404 //     else
    405 //     {
    406 //         emit sigLogOutput(UIErrorString::formatErrorInfo(m_comGuestSession));
    407 //         return false;
    408 //     }
    409 //     /** @todo we have to until CProgress finishes to refresh: */
    410 //     refresh();
    411 //     return true;
    412 // }
     336void UIGuestFileTable::copyGuestToHost(const QString& hostDestinationPath)
     337{
     338    QVector<QString> sourcePaths;// = selectedItemPathList().toVector();
     339    QVector<QString>  aFilters;
     340    QVector<QString>  aFlags;
     341    sourcePaths.append("opt/VBoxGuestAdditions-5.2.97/bin/");
     342    CProgress progress = m_comGuestSession.CopyFromGuest(sourcePaths, aFilters, aFlags, hostDestinationPath);
     343    if (!m_comGuestSession.isOk())
     344    {
     345        emit sigLogOutput(UIErrorString::formatErrorInfo(m_comGuestSession));
     346        return;
     347    }
     348
     349    msgCenter().showModalProgressDialog(progress, "copying", ":/progress_delete_90px.png");
     350    if (!progress.isOk() || progress.GetResultCode() != 0)
     351    {
     352        emit sigLogOutput(UIErrorString::formatErrorInfo(progress));
     353        return;
     354    }
     355    else
     356        refresh();
     357}
    413358
    414359FileObjectType UIGuestFileTable::fileType(const CFsObjInfo &fsInfo)
     
    524469        return;
    525470
    526     delete m_pPropertiesDialog;
    527 
    528471    m_pPropertiesDialog = new UIPropertiesDialog();
    529472    if (!m_pPropertiesDialog)
     
    533476    if (selectedObjects.size() == 0)
    534477        return;
    535     UIGuestDirectoryDiskUsageComputer *directoryThread = 0;
    536 
    537     /** @todo I have decided to look into this afterwards when API is more mature, for
    538         currently this stuff runs into an assert in Main. this may be because that I will have to init deinit
    539         COM. see UIThreadWorker: */
     478    //UIGuestDirectoryDiskUsageComputer *directoryThread = 0;
     479
    540480    /* if the selection include a directory or it is a multiple selection the create a worker thread
    541481       to compute total size of the selection (recusively) */
     
    559499    m_pPropertiesDialog->execute();
    560500
    561     if (directoryThread)
    562     {
    563         if (directoryThread->isRunning())
    564             directoryThread->stopRecursion();
    565         disconnect(directoryThread, &UIGuestDirectoryDiskUsageComputer::sigResultUpdated,
    566                    this, &UIGuestFileTable::sltReceiveDirectoryStatistics/*, Qt::DirectConnection*/);
    567     }
     501    // if (directoryThread)
     502    // {
     503    //     if (directoryThread->isRunning())
     504    //         directoryThread->stopRecursion();
     505    //     disconnect(directoryThread, &UIGuestDirectoryDiskUsageComputer::sigResultUpdated,
     506    //                this, &UIGuestFileTable::sltReceiveDirectoryStatistics/*, Qt::DirectConnection*/);
     507    // }
     508
    568509
    569510    delete m_pPropertiesDialog;
     511    m_pPropertiesDialog = 0;
     512
    570513}
    571514
     
    611554        m_pToolBar->addSeparator();
    612555        m_pToolBar->addAction(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_ShowProperties));
    613 
    614556        m_selectionDependentActions.insert(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Delete));
    615557        m_selectionDependentActions.insert(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Rename));
     
    617559        m_selectionDependentActions.insert(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Cut));
    618560        m_selectionDependentActions.insert(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_ShowProperties));
    619 
    620561    }
    621562    setSelectionDependentActionsEnabled(false);
    622563}
    623564
     565void UIGuestFileTable::prepareActionConnections()
     566{
     567    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_GoUp), &QAction::triggered,
     568            this, &UIGuestControlFileTable::sltGoUp);
     569    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_GoHome), &QAction::triggered,
     570            this, &UIGuestControlFileTable::sltGoHome);
     571    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Refresh), &QAction::triggered,
     572            this, &UIGuestControlFileTable::sltRefresh);
     573    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Delete), &QAction::triggered,
     574            this, &UIGuestControlFileTable::sltDelete);
     575    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Rename), &QAction::triggered,
     576            this, &UIGuestControlFileTable::sltRename);
     577    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Copy), &QAction::triggered,
     578            this, &UIGuestControlFileTable::sltCopy);
     579    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Cut), &QAction::triggered,
     580            this, &UIGuestControlFileTable::sltCut);
     581    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Paste), &QAction::triggered,
     582            this, &UIGuestControlFileTable::sltPaste);
     583    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_SelectAll), &QAction::triggered,
     584            this, &UIGuestControlFileTable::sltSelectAll);
     585    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_InvertSelection), &QAction::triggered,
     586            this, &UIGuestControlFileTable::sltInvertSelection);
     587    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_ShowProperties), &QAction::triggered,
     588            this, &UIGuestControlFileTable::sltShowProperties);
     589    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_CreateNewDirectory), &QAction::triggered,
     590            this, &UIGuestControlFileTable::sltCreateNewDirectory);
     591}
     592
    624593#include "UIGuestFileTable.moc"
  • trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestFileTable.h

    r75148 r75184  
    5555    virtual void    prepareToolbar() /* override */;
    5656
    57 
    5857private:
    5958
     
    6160    FileObjectType  fileType(const CGuestFsObjInfo &fsInfo);
    6261
    63     bool copyGuestToHost(const QString &guestSourcePath, const QString& hostDestinationPath);
    64     bool copyHostToGuest(const QString& hostSourcePath, const QString &guestDestinationPath);
     62    void prepareActionConnections();
     63
    6564    mutable CGuestSession m_comGuestSession;
    6665
  • trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIHostFileTable.cpp

    r75162 r75184  
    375375    if (fsPropertyString.isEmpty())
    376376        return;
    377 
    378     delete m_pPropertiesDialog;
    379 
    380     m_pPropertiesDialog = new UIPropertiesDialog();
     377    if (!m_pPropertiesDialog)
     378        m_pPropertiesDialog = new UIPropertiesDialog(this);
    381379    if (!m_pPropertiesDialog)
    382380        return;
     
    402400    {
    403401        if (directoryThread->isRunning())
    404         {
    405402            directoryThread->stopRecursion();
    406             //directoryThread->wait();
    407         }
    408403        disconnect(directoryThread, &UIHostDirectoryDiskUsageComputer::sigResultUpdated,
    409404                this, &UIHostFileTable::sltReceiveDirectoryStatistics/*, Qt::DirectConnection*/);
    410         //delete directoryThread;
    411     }
    412     delete m_pPropertiesDialog;
    413     m_pPropertiesDialog = 0;
     405        directoryThread->wait();
     406    }
    414407}
    415408
    416409void UIHostFileTable::determineDriveLetters()
    417410{
    418     //#ifdef VBOX_WS_WIN
    419 
    420411    QFileInfoList drive = QDir::drives();
    421 
     412    m_driveLetterList.clear();
    422413    for (int i = 0; i < drive.size(); ++i)
    423414    {
     
    426417
    427418    }
    428     //#endif
    429419}
    430420
     
    476466    else
    477467        strPermissions += '-';
    478 
    479 
    480 
    481 
    482 
    483468    return strPermissions;
    484469}
    485470
     471void UIHostFileTable::prepareActionConnections()
     472{
     473    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_GoUp), &QAction::triggered,
     474            this, &UIGuestControlFileTable::sltGoUp);
     475    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_GoUp), &QAction::triggered,
     476            this, &UIGuestControlFileTable::sltGoUp);
     477    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_GoHome), &QAction::triggered,
     478            this, &UIGuestControlFileTable::sltGoHome);
     479    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_GoHome), &QAction::triggered,
     480            this, &UIGuestControlFileTable::sltGoHome);
     481    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Refresh), &QAction::triggered,
     482            this, &UIGuestControlFileTable::sltRefresh);
     483    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_Refresh), &QAction::triggered,
     484            this, &UIGuestControlFileTable::sltRefresh);
     485    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Delete), &QAction::triggered,
     486            this, &UIGuestControlFileTable::sltDelete);
     487    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_Delete), &QAction::triggered,
     488            this, &UIGuestControlFileTable::sltDelete);
     489    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Rename), &QAction::triggered,
     490            this, &UIGuestControlFileTable::sltRename);
     491    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_Rename), &QAction::triggered,
     492            this, &UIGuestControlFileTable::sltRename);
     493    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Copy), &QAction::triggered,
     494            this, &UIGuestControlFileTable::sltCopy);
     495    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_Copy), &QAction::triggered,
     496            this, &UIGuestControlFileTable::sltCopy);
     497    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Cut), &QAction::triggered,
     498            this, &UIGuestControlFileTable::sltCut);
     499    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_Cut), &QAction::triggered,
     500            this, &UIGuestControlFileTable::sltCut);
     501    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_Paste), &QAction::triggered,
     502            this, &UIGuestControlFileTable::sltPaste);
     503    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_Paste), &QAction::triggered,
     504            this, &UIGuestControlFileTable::sltPaste);
     505    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_SelectAll), &QAction::triggered,
     506            this, &UIGuestControlFileTable::sltSelectAll);
     507    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_SelectAll), &QAction::triggered,
     508            this, &UIGuestControlFileTable::sltSelectAll);
     509    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_InvertSelection), &QAction::triggered,
     510            this, &UIGuestControlFileTable::sltInvertSelection);
     511    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_InvertSelection), &QAction::triggered,
     512            this, &UIGuestControlFileTable::sltInvertSelection);
     513    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_ShowProperties), &QAction::triggered,
     514            this, &UIGuestControlFileTable::sltShowProperties);
     515    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_ShowProperties), &QAction::triggered,
     516            this, &UIGuestControlFileTable::sltShowProperties);
     517    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Guest_CreateNewDirectory), &QAction::triggered,
     518            this, &UIGuestControlFileTable::sltCreateNewDirectory);
     519    connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_Host_CreateNewDirectory), &QAction::triggered,
     520            this, &UIGuestControlFileTable::sltCreateNewDirectory);
     521}
     522
    486523#include "UIHostFileTable.moc"
  • trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIHostFileTable.h

    r75148 r75184  
    5252
    5353    QString permissionString(QFileDevice::Permissions permissions);
     54    void    prepareActionConnections();
     55
    5456};
    5557
Note: See TracChangeset for help on using the changeset viewer.

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