diff options
| author | Tannin <devnull@localhost> | 2013-06-05 10:05:29 +0200 |
|---|---|---|
| committer | Tannin <devnull@localhost> | 2013-06-05 10:05:29 +0200 |
| commit | 97111de1409a59eea9e7ab5050ab70f4d01ddb8e (patch) | |
| tree | 6d3ed6dd899573d23bef15adb2519173cd844b76 /src/syncoverwritedialog.cpp | |
| parent | 280691ebc36d34c803a5bd8e01616680b0d2fafb (diff) | |
| parent | 1606c1366f5d0ba304334b0e57680fb99feb88b9 (diff) | |
Merge
Diffstat (limited to 'src/syncoverwritedialog.cpp')
| -rw-r--r-- | src/syncoverwritedialog.cpp | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/src/syncoverwritedialog.cpp b/src/syncoverwritedialog.cpp index aae0fd7c..be9d06c2 100644 --- a/src/syncoverwritedialog.cpp +++ b/src/syncoverwritedialog.cpp @@ -37,7 +37,7 @@ SyncOverwriteDialog::SyncOverwriteDialog(const QString &path, DirectoryEntry *di ui(new Ui::SyncOverwriteDialog), m_SourcePath(path), m_DirectoryStructure(directoryStructure) { ui->setupUi(this); - refresh(path, directoryStructure); + refresh(path); QHeaderView *headerView = ui->syncTree->header(); #if QT_VERSION >= 0x050000 @@ -56,6 +56,14 @@ SyncOverwriteDialog::~SyncOverwriteDialog() } +static void addToComboBox(QComboBox *box, const QString &name, const QVariant &userData) +{ + if (QString::compare(name, "overwrite", Qt::CaseInsensitive) != 0) { + box->addItem(name, userData); + } +} + + void SyncOverwriteDialog::readTree(const QString &path, DirectoryEntry *directoryStructure, QTreeWidgetItem *subTree) { QDir overwrite(path); @@ -86,9 +94,12 @@ void SyncOverwriteDialog::readTree(const QString &path, DirectoryEntry *director QComboBox* combo = new QComboBox(ui->syncTree); combo->addItem(tr("<don't sync>"), -1); if (entry != NULL) { + bool ignore; + int origin = entry->getOrigin(ignore); + addToComboBox(combo, ToQString(m_DirectoryStructure->getOriginByID(origin).getName()), origin); const std::vector<int> &alternatives = entry->getAlternatives(); for (std::vector<int>::const_iterator iter = alternatives.begin(); iter != alternatives.end(); ++iter) { - combo->addItem(ToQString(m_DirectoryStructure->getOriginByID(*iter).getName()), *iter); + addToComboBox(combo, ToQString(m_DirectoryStructure->getOriginByID(*iter).getName()), *iter); } combo->setCurrentIndex(combo->count() - 1); } else { @@ -103,10 +114,10 @@ void SyncOverwriteDialog::readTree(const QString &path, DirectoryEntry *director } -void SyncOverwriteDialog::refresh(const QString &path, DirectoryEntry *directoryStructure) +void SyncOverwriteDialog::refresh(const QString &path) { QTreeWidgetItem *rootItem = new QTreeWidgetItem(ui->syncTree, QStringList("<data>")); - readTree(path, directoryStructure, rootItem); + readTree(path, m_DirectoryStructure, rootItem); ui->syncTree->addTopLevelItem(rootItem); ui->syncTree->expandAll(); } @@ -141,6 +152,11 @@ void SyncOverwriteDialog::applyTo(QTreeWidgetItem *item, const QString &path, co } } } + + QDir dir(m_SourcePath + "/" + path); + if ((path.length() > 0) && (dir.count() == 2)) { + dir.rmpath("."); + } } |
