From 98e4abb7b46078b692ac746c23687bc3d9b332f4 Mon Sep 17 00:00:00 2001 From: Claudio Valerio Date: Thu, 27 Mar 2014 14:56:36 +0100 Subject: [PATCH] removed document mode --- resources/etc/OpenBoard.css | 6 - resources/forms/documents.ui | 30 +-- src/document/UBDocumentController.cpp | 288 ++++++++++---------------- src/document/UBDocumentController.h | 10 - src/document/UBDocumentProxy.cpp | 2 +- src/gui/UBDocumentTreeWidget.cpp | 124 ++--------- src/gui/UBDocumentTreeWidget.h | 11 - 7 files changed, 138 insertions(+), 333 deletions(-) diff --git a/resources/etc/OpenBoard.css b/resources/etc/OpenBoard.css index 891f767e..35245152 100644 --- a/resources/etc/OpenBoard.css +++ b/resources/etc/OpenBoard.css @@ -380,9 +380,3 @@ QLineEdit#ubWebBrowserLineEdit padding: 2 2px; background: white; } - -QSplitter -{ - background-color: #b3b3b3; - width : 15px; - diff --git a/resources/forms/documents.ui b/resources/forms/documents.ui index 0d62d5c2..af48a648 100644 --- a/resources/forms/documents.ui +++ b/resources/forms/documents.ui @@ -40,15 +40,8 @@ 0 - + - - - Qt::Horizontal - - - false - @@ -72,17 +65,11 @@ - + 0 0 - - - 250 - 0 - - @@ -116,6 +103,8 @@ + + @@ -126,12 +115,6 @@ - - - 250 - 0 - - Qt::NoContextMenu @@ -241,7 +224,6 @@ - @@ -261,6 +243,8 @@
gui/UBDocumentTreeWidget.h
- + + + diff --git a/src/document/UBDocumentController.cpp b/src/document/UBDocumentController.cpp index 94ec0188..795b42a4 100644 --- a/src/document/UBDocumentController.cpp +++ b/src/document/UBDocumentController.cpp @@ -103,9 +103,7 @@ void UBDocumentController::createNewDocument() if (group) { - QString path = group->buildEntirePath(); - - UBDocumentProxy *document = UBPersistenceManager::persistenceManager()->createDocument(path); + UBDocumentProxy *document = UBPersistenceManager::persistenceManager()->createDocument(group->groupName()); selectDocument(document); } @@ -189,38 +187,21 @@ void UBDocumentController::selectDocument(UBDocumentProxy* proxy, bool setAsCurr } } - -bool bullshitcode = true; - void UBDocumentController::createNewDocumentGroup() { - if(bullshitcode){ - mDocumentUI->documentTreeWidget->selectedItems().at(0)->setSelected(false); - mDocumentUI->documentTreeWidget->topLevelItem(0)->setSelected(true); - } - UBDocumentGroupTreeItem* docGroupItem = new UBDocumentGroupTreeItem(0); // deleted by the tree widget int i = 1; QString newFolderName = tr("New Folder"); while (allGroupNames().contains(newFolderName)) + { newFolderName = tr("New Folder") + " " + QVariant(i++).toString(); + } docGroupItem->setGroupName(newFolderName); int trashIndex = mDocumentUI->documentTreeWidget->indexOfTopLevelItem(mTrashTi); - UBDocumentGroupTreeItem* selected = selectedDocumentGroupTreeItem(); - - QString parentGroupName(""); - if(selected->groupName().contains(mDefaultDocumentGroupName)) - mDocumentUI->documentTreeWidget->insertTopLevelItem(trashIndex, docGroupItem); - else - selected->addChild(docGroupItem); - parentGroupName = docGroupItem->buildEntirePath(); - - mMapOfPaths.insert(parentGroupName,docGroupItem); - - + mDocumentUI->documentTreeWidget->insertTopLevelItem(trashIndex, docGroupItem); mDocumentUI->documentTreeWidget->setCurrentItem(docGroupItem); mDocumentUI->documentTreeWidget->expandItem(docGroupItem); } @@ -312,7 +293,8 @@ void UBDocumentController::setupViews() mDocumentUI->documentZoomSlider->setValue(thumbWidth); mDocumentUI->thumbnailWidget->setThumbnailWidth(thumbWidth); - connect(mDocumentUI->documentZoomSlider, SIGNAL(valueChanged(int)), this, SLOT(documentZoomSliderValueChanged(int))); + connect(mDocumentUI->documentZoomSlider, SIGNAL(valueChanged(int)), this, + SLOT(documentZoomSliderValueChanged(int))); connect(mMainWindow->actionOpen, SIGNAL(triggered()), this, SLOT(openSelectedItem())); connect(mMainWindow->actionNewFolder, SIGNAL(triggered()), this, SLOT(createNewDocumentGroup())); @@ -630,38 +612,6 @@ void UBDocumentController::moveDocumentToTrash(UBDocumentGroupTreeItem* groupTi, proxyTi->setFlags(proxyTi->flags() ^ Qt::ItemIsEditable); } - -QList UBDocumentController::getProxies(QTreeWidgetItem* groupItem) -{ - QList result; - - for(int i = 0; i < groupItem->childCount(); i += 1){ - UBDocumentProxyTreeItem* docProxy = dynamic_cast(groupItem->child(i)); - if(docProxy) - result.append(docProxy); - else - result << getProxies(groupItem->child(i)); - } - - return result; -} - - -QList UBDocumentController::getGroupTreeItem(QTreeWidgetItem* groupItem) -{ - QList result; - - for(int i = 0; i < groupItem->childCount(); i += 1){ - UBDocumentGroupTreeItem* group = dynamic_cast(groupItem->child(i)); - if(group) - result.append(group); - else - result << getGroupTreeItem(groupItem->child(i)); - } - - return result; -} - void UBDocumentController::moveFolderToTrash(UBDocumentGroupTreeItem* groupTi) { bool changeCurrentDocument = false; @@ -675,9 +625,15 @@ void UBDocumentController::moveFolderToTrash(UBDocumentGroupTreeItem* groupTi) } } + QList toBeDeleted; - QList toBeDeleted = getProxies(groupTi); + for (int i = 0; i < groupTi->childCount(); i++) + { + UBDocumentProxyTreeItem* proxyTi = dynamic_cast(groupTi->child(i)); + if (proxyTi && proxyTi->proxy()) + toBeDeleted << proxyTi; + } for (int i = 0; i < toBeDeleted.count(); i++) { @@ -689,38 +645,21 @@ void UBDocumentController::moveFolderToTrash(UBDocumentGroupTreeItem* groupTi) proxyTi->proxy()->setMetaData(UBSettings::documentGroupName, UBSettings::trashedDocumentGroupNamePrefix + oldGroupName); UBPersistenceManager::persistenceManager()->persistDocumentMetadata(proxyTi->proxy()); - UBDocumentGroupTreeItem* parentDirectory = dynamic_cast(mMapOfPaths.value(oldGroupName)); - parentDirectory->removeChild(proxyTi); + groupTi->removeChild(proxyTi); mTrashTi->addChild(proxyTi); proxyTi->setFlags(proxyTi->flags() ^ Qt::ItemIsEditable); showMessage(QString("%1 deleted").arg(groupTi->groupName())); } - - QList dirToDelete = getGroupTreeItem(groupTi); - for(int i = dirToDelete.count() - 1; i >= 0 ; i -= 1){ - UBDocumentGroupTreeItem* parent = dynamic_cast(dirToDelete.at(i)->parent()); - if(parent){ - mMapOfPaths.remove(dirToDelete.at(i)->buildEntirePath()); - parent->removeChild(dirToDelete.at(i)); - } - } - - // dont remove default group if (!groupTi->isDefaultFolder()) { int index = mDocumentUI->documentTreeWidget->indexOfTopLevelItem(groupTi); if (index >= 0) + { mDocumentUI->documentTreeWidget->takeTopLevelItem(index); - else { - UBDocumentGroupTreeItem* parent = dynamic_cast(groupTi->parent()); - if(parent){ - mMapOfPaths.remove(groupTi->buildEntirePath()); - parent->removeChild(groupTi); - } } } @@ -871,90 +810,109 @@ void UBDocumentController::documentZoomSliderValueChanged (int value) } -UBDocumentGroupTreeItem* UBDocumentController::getCommonGroupItem(QString &path) -{ - QList paths = mMapOfPaths.keys(); - - if(paths.count() == 0) - return NULL; - - QString commonPath = path; - do{ - if(paths.contains(commonPath)) - return mMapOfPaths.value(commonPath); - else{ - int lastSeparatorIndex = commonPath.lastIndexOf("/"); - if(lastSeparatorIndex>0) - commonPath = commonPath.left(lastSeparatorIndex); - else - commonPath = ""; - } - }while(commonPath.length() > 0); - - return NULL; -} - void UBDocumentController::loadDocumentProxies() { QList > proxies = UBPersistenceManager::persistenceManager()->documentProxies; + QStringList emptyGroupNames = UBSettings::settings()->value("Document/EmptyGroupNames", QStringList()).toStringList(); mDocumentUI->documentTreeWidget->clear(); - UBDocumentGroupTreeItem* emptyGroupNameTi = new UBDocumentGroupTreeItem(0, false); - emptyGroupNameTi->setGroupName(mDefaultDocumentGroupName); - emptyGroupNameTi->setIcon(0, QIcon(":/images/toolbar/documents.png")); - mMapOfPaths.insert(mDefaultDocumentGroupName,emptyGroupNameTi); + QMap groupNamesMap; + + UBDocumentGroupTreeItem* emptyGroupNameTi = 0; mTrashTi = new UBDocumentGroupTreeItem(0, false); // deleted by the tree widget mTrashTi->setGroupName(mDocumentTrashGroupName); mTrashTi->setIcon(0, QIcon(":/images/trash.png")); - mMapOfPaths.insert(mDocumentTrashGroupName,mTrashTi); - - mDocumentUI->documentTreeWidget->addTopLevelItem(emptyGroupNameTi); - mDocumentUI->documentTreeWidget->addTopLevelItem(mTrashTi); - foreach (QPointer proxy, proxies) { if (proxy) { - addDocumentInTree(proxy); + QString docGroup = proxy->metaData(UBSettings::documentGroupName).toString(); + + + bool isEmptyGroupName = false; + bool isInTrash = false; + + if (docGroup.isEmpty()) // #see https://trac.assembla.com/uniboard/ticket/426 + { + docGroup = mDefaultDocumentGroupName; + isEmptyGroupName = true; } + else if (docGroup.startsWith(UBSettings::trashedDocumentGroupNamePrefix)) + { + isInTrash = true; } + QString docName = proxy->metaData(UBSettings::documentName).toString(); + + if (emptyGroupNames.contains(docGroup)) + emptyGroupNames.removeAll(docGroup); + + if (!groupNamesMap.contains(docGroup) && !isInTrash) + { + UBDocumentGroupTreeItem* docGroupItem = new UBDocumentGroupTreeItem(0, !isEmptyGroupName); // deleted by the tree widget + groupNamesMap.insert(docGroup, docGroupItem); + docGroupItem->setGroupName(docGroup); + + if (isEmptyGroupName) + emptyGroupNameTi = docGroupItem; } + UBDocumentGroupTreeItem* docGroupItem; + if (isInTrash) + docGroupItem = mTrashTi; + else + docGroupItem = groupNamesMap.value(docGroup); + + QTreeWidgetItem* docItem = new UBDocumentProxyTreeItem(docGroupItem, proxy, !isInTrash); + docItem->setText(0, docName); -void UBDocumentController::itemClicked(QTreeWidgetItem * item, int column ) + if (mBoardController->selectedDocument() == proxy) { - Q_UNUSED(item); - Q_UNUSED(column); + mDocumentUI->documentTreeWidget->expandItem(docGroupItem); + mDocumentUI->documentTreeWidget->setCurrentItem(docGroupItem); + } + } + } - selectDocument(selectedDocumentProxy(), false); - itemSelectionChanged(); + foreach (const QString emptyGroupName, emptyGroupNames) + { + UBDocumentGroupTreeItem* docGroupItem = new UBDocumentGroupTreeItem(0); // deleted by the tree widget + groupNamesMap.insert(emptyGroupName, docGroupItem); + docGroupItem->setGroupName(emptyGroupName); } + QList groupNamesList = groupNamesMap.keys(); + qSort(groupNamesList); -void UBDocumentController::treeGroupItemRenamed(QString& oldPath,QString& newPath) + foreach (const QString groupName, groupNamesList) { - if(oldPath.isEmpty() || newPath.isEmpty()) - return; + UBDocumentGroupTreeItem* ti = groupNamesMap.value(groupName); - QList keys = mMapOfPaths.keys(); - for(int i = 0; i < keys.count(); i += 1){ - QString key = keys.at(i); - if(key.startsWith(oldPath)){ - UBDocumentGroupTreeItem* value = mMapOfPaths.take(key); - key = key.remove(0,oldPath.size()); - mMapOfPaths.insert(key.prepend(newPath),value); + if (ti != emptyGroupNameTi) + mDocumentUI->documentTreeWidget->addTopLevelItem(ti); } + if (emptyGroupNameTi) + mDocumentUI->documentTreeWidget->addTopLevelItem(emptyGroupNameTi); + + mDocumentUI->documentTreeWidget->addTopLevelItem(mTrashTi); } +void UBDocumentController::itemClicked(QTreeWidgetItem * item, int column ) +{ + Q_UNUSED(item); + Q_UNUSED(column); + + selectDocument(selectedDocumentProxy(), false); + itemSelectionChanged(); } void UBDocumentController::itemChanged(QTreeWidgetItem * item, int column) { UBDocumentProxyTreeItem* proxyItem = dynamic_cast(item); - disconnect(UBPersistenceManager::persistenceManager(), SIGNAL(documentMetadataChanged(UBDocumentProxy*)) , this, SLOT(updateDocumentInTree(UBDocumentProxy*))); + disconnect(UBPersistenceManager::persistenceManager(), SIGNAL(documentMetadataChanged(UBDocumentProxy*)) + , this, SLOT(updateDocumentInTree(UBDocumentProxy*))); if (proxyItem) { @@ -986,7 +944,8 @@ void UBDocumentController::itemChanged(QTreeWidgetItem * item, int column) } } - connect(UBPersistenceManager::persistenceManager(), SIGNAL(documentMetadataChanged(UBDocumentProxy*)), this, SLOT(updateDocumentInTree(UBDocumentProxy*))); + connect(UBPersistenceManager::persistenceManager(), SIGNAL(documentMetadataChanged(UBDocumentProxy*)), + this, SLOT(updateDocumentInTree(UBDocumentProxy*))); } @@ -1375,48 +1334,42 @@ void UBDocumentController::addToDocument() QApplication::restoreOverrideCursor(); } - -UBDocumentGroupTreeItem* UBDocumentController::getParentTreeItem(QString& documentGroup) -{ - QString pathNotYetCreated = documentGroup; - UBDocumentGroupTreeItem* result = getCommonGroupItem(documentGroup); - if(result) - pathNotYetCreated = pathNotYetCreated.remove(0,result->buildEntirePath().size()); - - if(pathNotYetCreated.startsWith("/")) pathNotYetCreated = pathNotYetCreated.remove(0,1); - QString completePath = result ? result->groupName() + "/" : ""; - - QStringList folders = pathNotYetCreated.split("/"); - for(int i = 0; i < folders.count(); i += 1 ){ - if(!folders.at(i).isEmpty()){ - completePath = completePath + folders.at(i); - UBDocumentGroupTreeItem* newTreeItem = new UBDocumentGroupTreeItem(result, true); - newTreeItem->setGroupName(folders.at(i)); - if(completePath.indexOf("/") == -1) - mDocumentUI->documentTreeWidget->insertTopLevelItem(0,newTreeItem); - mMapOfPaths.insert(completePath,newTreeItem); - result = newTreeItem; - completePath += "/"; - } - } - - return result; -} - void UBDocumentController::addDocumentInTree(UBDocumentProxy* pDocument) { QString documentName = pDocument->name(); QString documentGroup = pDocument->groupName(); if (documentGroup.isEmpty()) + { documentGroup = mDefaultDocumentGroupName; - UBDocumentGroupTreeItem* group = NULL; + } + UBDocumentGroupTreeItem* group = 0; if (documentGroup.startsWith(UBSettings::trashedDocumentGroupNamePrefix)) + { group = mTrashTi; + } else - group = getParentTreeItem(documentGroup); + { + for (int i = 0; i < mDocumentUI->documentTreeWidget->topLevelItemCount(); i++) + { + QTreeWidgetItem* item = mDocumentUI->documentTreeWidget->topLevelItem(i); + UBDocumentGroupTreeItem* groupItem = dynamic_cast(item); + if (groupItem->groupName() == documentGroup) + { + group = groupItem; + break; + } + } + } + + if (group == 0) + { + group = new UBDocumentGroupTreeItem(0); // deleted by the tree widget + group->setGroupName(documentGroup); + mDocumentUI->documentTreeWidget->addTopLevelItem(group); + } UBDocumentProxyTreeItem *ti = new UBDocumentProxyTreeItem(group, pDocument, !group->isTrashFolder()); ti->setText(0, documentName); @@ -1445,24 +1398,11 @@ QStringList UBDocumentController::allGroupNames() { QStringList result; - UBDocumentGroupTreeItem* selectedGroup = selectedDocumentGroupTreeItem(); - if(selectedGroup->isDefaultFolder()){ - - for (int i = 0; i < mDocumentUI->documentTreeWidget->topLevelItemCount(); i++) - { - QTreeWidgetItem* item = mDocumentUI->documentTreeWidget->topLevelItem(i); - UBDocumentGroupTreeItem* groupItem = dynamic_cast(item); - result << groupItem->groupName(); - } - } - else{ - for (int i = 0; i < selectedGroup->childCount(); i++) - { - QTreeWidgetItem* item = selectedGroup->child(i); - UBDocumentGroupTreeItem* groupItem = dynamic_cast(item); - if(groupItem) - result << groupItem->groupName(); - } + for (int i = 0; i < mDocumentUI->documentTreeWidget->topLevelItemCount(); i++) + { + QTreeWidgetItem* item = mDocumentUI->documentTreeWidget->topLevelItem(i); + UBDocumentGroupTreeItem* groupItem = dynamic_cast(item); + result << groupItem->groupName(); } return result; diff --git a/src/document/UBDocumentController.h b/src/document/UBDocumentController.h index 0b68ee5c..786d2829 100644 --- a/src/document/UBDocumentController.h +++ b/src/document/UBDocumentController.h @@ -66,8 +66,6 @@ class UBDocumentController : public UBDocumentContainer QString documentTrashGroupName(){ return mDocumentTrashGroupName;} QString defaultDocumentGroupName(){ return mDefaultDocumentGroupName;} - void treeGroupItemRenamed(QString& oldPath,QString& newPath); - signals: void exportDone(); @@ -130,14 +128,6 @@ class UBDocumentController : public UBDocumentContainer QString mDocumentTrashGroupName; QString mDefaultDocumentGroupName; - UBDocumentGroupTreeItem *getCommonGroupItem(QString& path); - QMap mMapOfPaths; - UBDocumentGroupTreeItem* getParentTreeItem(QString& documentGroup); - QList getProxies(QTreeWidgetItem *groupItem); - QList getGroupTreeItem(QTreeWidgetItem* groupItem); - - - private slots: void documentZoomSliderValueChanged (int value); void loadDocumentProxies(); diff --git a/src/document/UBDocumentProxy.cpp b/src/document/UBDocumentProxy.cpp index d7b9d969..d5d54d6d 100644 --- a/src/document/UBDocumentProxy.cpp +++ b/src/document/UBDocumentProxy.cpp @@ -56,7 +56,7 @@ void UBDocumentProxy::init() setMetaData(UBSettings::documentGroupName, ""); QDateTime now = QDateTime::currentDateTime(); - setMetaData(UBSettings::documentName, now.toString(Qt::ISODate)); + setMetaData(UBSettings::documentName, now.toString(Qt::SystemLocaleShortDate)); setUuid(QUuid::createUuid()); diff --git a/src/gui/UBDocumentTreeWidget.cpp b/src/gui/UBDocumentTreeWidget.cpp index f2bde64d..42210db9 100644 --- a/src/gui/UBDocumentTreeWidget.cpp +++ b/src/gui/UBDocumentTreeWidget.cpp @@ -33,9 +33,6 @@ #include "core/UBMimeData.h" #include "core/UBApplicationController.h" #include "core/UBDocumentManager.h" - -#include "gui/UBMainWindow.h" - #include "document/UBDocumentController.h" #include "adaptors/UBThumbnailAdaptor.h" @@ -44,23 +41,22 @@ #include "core/memcheck.h" -#include - UBDocumentTreeWidget::UBDocumentTreeWidget(QWidget * parent) : QTreeWidget(parent) , mSelectedProxyTi(0) , mDropTargetProxyTi(0) - , mLastItemCompletePath("") { setDragDropMode(QAbstractItemView::InternalMove); setAutoScroll(true); mScrollTimer = new QTimer(this); - connect(UBDocumentManager::documentManager(), SIGNAL(documentUpdated(UBDocumentProxy*)), this, SLOT(documentUpdated(UBDocumentProxy*))); + connect(UBDocumentManager::documentManager(), SIGNAL(documentUpdated(UBDocumentProxy*)) + , this, SLOT(documentUpdated(UBDocumentProxy*))); - connect(this, SIGNAL(itemChanged(QTreeWidgetItem *, int)) , this, SLOT(itemChangedValidation(QTreeWidgetItem *, int))); - connect(mScrollTimer, SIGNAL(timeout()) , this, SLOT(autoScroll())); - connect(this,SIGNAL(itemPressed(QTreeWidgetItem*,int)),this,SLOT(onItemPressed(QTreeWidgetItem*,int))); + connect(this, SIGNAL(itemChanged(QTreeWidgetItem *, int)) + , this, SLOT(itemChangedValidation(QTreeWidgetItem *, int))); + connect(mScrollTimer, SIGNAL(timeout()) + , this, SLOT(autoScroll())); } @@ -69,91 +65,33 @@ UBDocumentTreeWidget::~UBDocumentTreeWidget() // NOOP } - -void UBDocumentTreeWidget::onItemPressed(QTreeWidgetItem* item, int column) -{ - Q_UNUSED(column) - - UBDocumentGroupTreeItem* group = dynamic_cast(item); - if(group){ - mLastItemCompletePath = group->buildEntirePath(); - mLastItemName = group->groupName(); - } -} - void UBDocumentTreeWidget::itemChangedValidation(QTreeWidgetItem * item, int column) { - QString emptyNameWarningTitle = tr("Empty name"); - QString emptyNameWarningText = tr("The name should not be empty. Please enter a valid name."); - QString alreadyExistsNameWarningTitle = tr("Name already used"); - QString alreadyExistsNameWarningText = tr("The actual name is in conflict with and existing. Please choose another one."); - - - UBDocumentProxyTreeItem* treeItem = dynamic_cast< UBDocumentProxyTreeItem *>(item); - if (treeItem) + if (column == 0) { - QString name = treeItem->text(column); - if(name.isEmpty()){ - mFailedValidationForTreeItem = item; - mFailedValidationItemColumn = column; - UBApplication::mainWindow->warning(emptyNameWarningTitle,emptyNameWarningText); - QTimer::singleShot(100,this,SLOT(validationFailed())); - return; - } - } + UBDocumentGroupTreeItem* group = dynamic_cast(item); if(group) { - QString name = group->text(column); - if(name.isEmpty()){ - mFailedValidationForTreeItem = item; - mFailedValidationItemColumn = column; - UBApplication::mainWindow->warning(emptyNameWarningTitle,emptyNameWarningText); - QTimer::singleShot(100,this,SLOT(validationFailed())); - return; - } + QString name = group->text(0); - if(group->parent()){ - for(int i = 0; i < group->parent()->childCount(); i++) + for(int i = 0; i < topLevelItemCount (); i++) { - QTreeWidgetItem* childAtPosition = group->parent()->child(i); - - if (childAtPosition != item && childAtPosition->text(column) == name){ - UBApplication::mainWindow->warning(alreadyExistsNameWarningTitle,alreadyExistsNameWarningText); - mFailedValidationForTreeItem = item; - mFailedValidationItemColumn = column; - QTimer::singleShot(100,this,SLOT(validationFailed())); - return; - } - } - } - else{ - // We are looking at the top level items; - for(int i = 0; i < topLevelItemCount(); i += 1){ - if(topLevelItem(i) != item && dynamic_cast(topLevelItem(i))->groupName() == group->groupName()){ - UBApplication::mainWindow->warning(tr("Name already in use"),tr("Please choose another name for the directory. The chosed name is already used.")); - mFailedValidationForTreeItem = item; - mFailedValidationItemColumn = column; - QTimer::singleShot(100,this,SLOT(validationFailed())); - return; - } + QTreeWidgetItem *someTopLevelItem = topLevelItem(i); + if (someTopLevelItem != group && + someTopLevelItem->text(0) == name) + { + group->setText(0, tr("%1 (copy)").arg(name)); + } } } - QString newPath = group->buildEntirePath(); - group->updateChildrenPath(column, mLastItemCompletePath, newPath); - UBApplication::documentController->treeGroupItemRenamed(mLastItemCompletePath, newPath); } } -void UBDocumentTreeWidget::validationFailed() -{ - editItem(mFailedValidationForTreeItem,mFailedValidationItemColumn); -} - Qt::DropActions UBDocumentTreeWidget::supportedDropActions() const { return Qt::MoveAction | Qt::CopyAction; @@ -509,36 +447,6 @@ QString UBDocumentGroupTreeItem::groupName() const return text(0); } -QString UBDocumentGroupTreeItem::buildEntirePath() -{ - QString result(groupName()); - UBDocumentGroupTreeItem* item = this; - while(item->parent()){ - item = dynamic_cast(item->parent()); - result = item->groupName() + "/" + result; - } - - return result; -} - -void UBDocumentGroupTreeItem::updateChildrenPath(int column, QString& previousText, const QString& text) -{ - for(int i = 0; i < childCount(); i += 1){ - UBDocumentGroupTreeItem* groupTreeItem = dynamic_cast(child(i)); - if(groupTreeItem) - groupTreeItem->updateChildrenPath(column, previousText,text); - else{ - UBDocumentProxyTreeItem* docProxyItem = dynamic_cast(child(i)); - QString groupName = docProxyItem->proxy()->metaData(UBSettings::documentGroupName).toString(); - groupName = groupName.remove(0,previousText.length()); - groupName = text + groupName; - docProxyItem->proxy()->setMetaData(UBSettings::documentGroupName, groupName); - UBPersistenceManager::persistenceManager()->persistDocumentMetadata(docProxyItem->proxy()); - } - } -} - - bool UBDocumentGroupTreeItem::isTrashFolder() const { return (0 == (flags() & Qt::ItemIsEditable)) && UBApplication::app()->documentController && (groupName() == UBApplication::app()->documentController->documentTrashGroupName()); diff --git a/src/gui/UBDocumentTreeWidget.h b/src/gui/UBDocumentTreeWidget.h index a31c9f71..2f336307 100644 --- a/src/gui/UBDocumentTreeWidget.h +++ b/src/gui/UBDocumentTreeWidget.h @@ -54,9 +54,7 @@ class UBDocumentTreeWidget : public QTreeWidget void documentUpdated(UBDocumentProxy *pDocument); void itemChangedValidation(QTreeWidgetItem * item, int column); - void onItemPressed(QTreeWidgetItem* item, int column); void autoScroll(); - void validationFailed(); private: UBDocumentProxyTreeItem *mSelectedProxyTi; @@ -64,10 +62,6 @@ class UBDocumentTreeWidget : public QTreeWidget QBrush mBackground; QTimer* mScrollTimer; int mScrollMagnitude; - QTreeWidgetItem* mFailedValidationForTreeItem; - int mFailedValidationItemColumn; - QString mLastItemCompletePath; - QString mLastItemName; }; @@ -98,11 +92,6 @@ class UBDocumentGroupTreeItem : public QTreeWidgetItem bool isTrashFolder() const; bool isDefaultFolder() const; - - QString buildEntirePath(); - - - void updateChildrenPath(int column, QString& previousText, const QString &text); }; #endif /* UBDOCUMENTTREEWIDGET_H_ */