예제 #1
0
			// Delete focused folder in the file tree (archetype, package, world).
			void CMainWindow::DeleteFolder()
			{
				QTreeWidgetItem *pCurrentItem = ui->projectsTreeWidget->currentItem();
				CFolder *pFolder = pCurrentItem->data(0, Qt::UserRole).value<CFolder*>();

				SAM_ASSERT(pFolder && pFolder->GetDir().exists(), "Current directory doesn't exist!");

				QString sMessage = "Are you sure you want to delete ";
				if(pCurrentItem->parent() == m_pTreePackages)
				{
					sMessage += "the package '";
				}
				else
				{
					sMessage += "the folder '";
				}

				// Ask the user to be sure.
				switch(CSamBox::Message(sMessage + pFolder->GetDir().dirName() + "' ?"))
				{
				case QMessageBox::No:
				case QMessageBox::Cancel:
					return;
				}

				// Delete the content.
				pFolder->GetDir().removeRecursively();
				delete pCurrentItem;
				SAM_DELETE pFolder;
			}
예제 #2
0
			void CMainWindow::OnFolderSelected(QTreeWidgetItem *p_pItem, int)
			{
				//ui->folderViewer->SetFolder(p_pItem->data(0, Qt::UserRole).value<CFolder*>());
				CFolder *pFolder = p_pItem->data(0, Qt::UserRole).value<CFolder*>();
				QString sPath = pFolder->GetDir().absolutePath();
				QFileSystemModel *pModel = (QFileSystemModel *)ui->folderViewer->model();
				pModel->setRootPath(sPath);
				ui->folderViewer->setRootIndex(pModel->index(sPath));
			}