Changeset 71509 in vbox
- Timestamp:
- Mar 26, 2018 12:16:37 PM (7 years ago)
- svn:sync-xref-src-repo-rev:
- 121482
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIComboBox.h
r71027 r71509 128 128 129 129 #endif /* !___QIComboBox_h___ */ 130 -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.cpp
r71505 r71509 22 22 /* Qt includes: */ 23 23 # include <QAction> 24 # include <QComboBox> 24 25 # include <QDateTime> 25 26 # include <QDir> … … 649 650 , m_pPaste(0) 650 651 , m_pMainLayout(0) 651 , m_p CurrentLocationEdit(0)652 , m_pLocationComboBox(0) 652 653 , m_pToolBar(0) 653 654 , m_pGoUp(0) … … 676 677 if (m_pModel) 677 678 m_pModel->endReset(); 678 if (m_pCurrentLocationEdit) 679 m_pCurrentLocationEdit->clear(); 679 if (m_pLocationComboBox) 680 { 681 disconnect(m_pLocationComboBox, static_cast<void(QComboBox::*)(const QString&)>(&QComboBox::currentIndexChanged), 682 this, &UIGuestControlFileTable::sltLocationComboCurrentChange); 683 m_pLocationComboBox->clear(); 684 connect(m_pLocationComboBox, static_cast<void(QComboBox::*)(const QString&)>(&QComboBox::currentIndexChanged), 685 this, &UIGuestControlFileTable::sltLocationComboCurrentChange); 686 } 680 687 } 681 688 … … 706 713 } 707 714 708 m_pCurrentLocationEdit = new QILineEdit; 709 if (m_pCurrentLocationEdit) 710 { 711 m_pMainLayout->addWidget(m_pCurrentLocationEdit, 1, 1, 1, 4); 712 m_pCurrentLocationEdit->setReadOnly(true); 713 } 715 m_pLocationComboBox = new QComboBox; 716 if (m_pLocationComboBox) 717 { 718 m_pMainLayout->addWidget(m_pLocationComboBox, 1, 1, 1, 4); 719 m_pLocationComboBox->setEditable(false); 720 connect(m_pLocationComboBox, static_cast<void(QComboBox::*)(const QString&)>(&QComboBox::currentIndexChanged), 721 this, &UIGuestControlFileTable::sltLocationComboCurrentChange); 722 } 723 714 724 715 725 m_pModel = new UIGuestControlFileModel(this); … … 860 870 void UIGuestControlFileTable::updateCurrentLocationEdit(const QString& strLocation) 861 871 { 862 if (!m_pCurrentLocationEdit) 863 return; 864 m_pCurrentLocationEdit->setText(strLocation); 872 if (!m_pLocationComboBox) 873 return; 874 int itemIndex = m_pLocationComboBox->findText(strLocation, 875 Qt::MatchExactly | Qt::MatchCaseSensitive); 876 if (itemIndex == -1) 877 { 878 m_pLocationComboBox->insertItem(m_pLocationComboBox->count(), strLocation); 879 itemIndex = m_pLocationComboBox->count() - 1; 880 } 881 m_pLocationComboBox->setCurrentIndex(itemIndex); 865 882 } 866 883 … … 885 902 reset(); 886 903 904 const QString startPath("/"); 887 905 QList<QVariant> headData; 888 906 headData << "Name" << "Size" << "Change Time" << "Owner"; 889 907 m_pRootItem = new UIFileTableItem(headData, 0, FileObjectType_Directory); 890 908 QList<QVariant> startDirData; 891 startDirData << "/"<< 4096 << QDateTime() << "";909 startDirData << startPath << 4096 << QDateTime() << ""; 892 910 UIFileTableItem* startItem = new UIFileTableItem(startDirData, m_pRootItem, FileObjectType_Directory); 893 911 894 startItem->setPath( "/");912 startItem->setPath(startPath); 895 913 m_pRootItem->appendChild(startItem); 896 914 897 915 startItem->setIsOpened(false); 898 916 /* Read the root directory and get the list: */ 899 readDirectory( "/", startItem, true);917 readDirectory(startPath, startItem, true); 900 918 m_pView->setRootIndex(m_pModel->rootIndex()); 901 919 m_pModel->signalUpdate(); 902 920 updateCurrentLocationEdit(startPath); 903 921 } 904 922 … … 1151 1169 } 1152 1170 1171 void UIGuestControlFileTable::sltLocationComboCurrentChange(const QString &strLocation) 1172 { 1173 QString comboLocation(UIPathOperations::sanitize(strLocation)); 1174 if (comboLocation == currentDirectoryPath()) 1175 return; 1176 1177 QList<QString> pathList = comboLocation.split(UIPathOperations::delimiter, QString::SkipEmptyParts); 1178 goIntoDirectory(pathList); 1179 } 1180 1153 1181 void UIGuestControlFileTable::deleteByIndex(const QModelIndex &itemIndex) 1154 1182 { -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestControlFileTable.h
r71505 r71509 35 35 class QFileInfo; 36 36 37 class QComboBox; 37 38 class QILabel; 38 39 class QILineEdit; … … 258 259 void sltCreateNewDirectory(); 259 260 void sltSelectionChanged(const QItemSelection & selected, const QItemSelection & deselected); 261 void sltLocationComboCurrentChange(const QString &strLocation); 260 262 261 263 private: … … 271 273 void disableSelectionDependentActions(); 272 274 QGridLayout *m_pMainLayout; 273 Q ILineEdit *m_pCurrentLocationEdit;275 QComboBox *m_pLocationComboBox; 274 276 UIToolBar *m_pToolBar; 275 277 QAction *m_pGoUp; -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIGuestFileTable.cpp
r71505 r71509 116 116 insertItemsToTree(directories, parent, true, isStartDir); 117 117 insertItemsToTree(files, parent, false, isStartDir); 118 updateCurrentLocationEdit(strPath);118 //updateCurrentLocationEdit(strPath); 119 119 } 120 120 directory.Close(); -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/guestctrl/UIHostFileTable.cpp
r71505 r71509 198 198 insertItemsToTree(directories, parent, true, isStartDir); 199 199 insertItemsToTree(files, parent, false, isStartDir); 200 updateCurrentLocationEdit(strPath);200 //updateCurrentLocationEdit(strPath); 201 201 } 202 202
Note:
See TracChangeset
for help on using the changeset viewer.