linuxdcpp-team team mailing list archive
-
linuxdcpp-team team
-
Mailing list archive
-
Message #05731
[Branch ~dcplusplus-team/dcplusplus/trunk] Rev 2952: DL queue: expand newly added dirs
------------------------------------------------------------
revno: 2952
committer: poy <poy@xxxxxxxxxx>
branch nick: trunk
timestamp: Mon 2012-06-18 16:50:09 +0200
message:
DL queue: expand newly added dirs
modified:
changelog.txt
win32/QueueFrame.cpp
win32/QueueFrame.h
--
lp:dcplusplus
https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk
Your team Dcplusplus-team is subscribed to branch lp:dcplusplus.
To unsubscribe from this branch go to https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk/+edit-subscription
=== modified file 'changelog.txt'
--- changelog.txt 2012-06-17 13:28:34 +0000
+++ changelog.txt 2012-06-18 14:50:09 +0000
@@ -11,6 +11,7 @@
* [L#1007103] Correct download logging after an app restart (emtee)
* [L#1007099] Fix disabled buttons in user matching settings (poy)
* Do not automatch queue for bad/removed sources (emtee)
+* Minor DL queue tab fixes (poy)
-- 0.799 2012-05-05 --
* Add icons (iceman50)
=== modified file 'win32/QueueFrame.cpp'
--- win32/QueueFrame.cpp 2012-06-18 14:16:49 +0000
+++ win32/QueueFrame.cpp 2012-06-18 14:50:09 +0000
@@ -163,7 +163,7 @@
for(auto& i: li) {
QueueItem* aQI = i.second;
- addQueueItem(QueueItemPtr(new QueueItemInfo(*aQI)), true);
+ addQueueItem(QueueItemPtr(new QueueItemInfo(*aQI)), false);
}
// expand top-level directories.
@@ -232,7 +232,7 @@
SettingsManager::getInstance()->set(SettingsManager::QUEUEFRAME_WIDTHS, WinUtil::toString(files->getColumnWidths()));
}
-void QueueFrame::addQueueItem(QueueItemPtr&& ii, bool noSort) {
+void QueueFrame::addQueueItem(QueueItemPtr&& ii, bool single) {
if(!ii->isSet(QueueItem::FLAG_USER_LIST)) {
queueSize+=ii->getSize();
}
@@ -242,18 +242,22 @@
auto p = ii.get();
const auto& dir = p->getPath();
- bool updateDir = (directories.find(dir) == directories.end());
+ const bool newDir = directories.find(dir) == directories.end();
directories.emplace(dir, move(ii));
- if(updateDir) {
- addDirectory(dir, p->isSet(QueueItem::FLAG_USER_LIST));
+ if(newDir) {
+ auto node = addDirectory(dir, p->isSet(QueueItem::FLAG_USER_LIST));
+ if(single) {
+ dirs->ensureVisible(node);
+ }
}
+
if(!BOOLSETTING(QUEUEFRAME_SHOW_TREE) || isCurDir(dir)) {
p->update();
- if(noSort) {
- files->insert(files->size(), p);
+ if(single) {
+ files->insert(p); // sort
} else {
- files->insert(p);
+ files->insert(files->size(), p); // no sort (resort the whole list later)
}
}
}
@@ -973,7 +977,7 @@
void QueueFrame::onAdded(QueueItemInfo* ii) {
dcassert(files->find(ii) == -1);
- addQueueItem(QueueItemPtr(ii), false);
+ addQueueItem(QueueItemPtr(ii), true);
updateStatus();
}
=== modified file 'win32/QueueFrame.h'
--- win32/QueueFrame.h 2012-06-18 14:16:49 +0000
+++ win32/QueueFrame.h 2012-06-18 14:50:09 +0000
@@ -218,7 +218,7 @@
void updateStatus();
void updateFiles();
- void addQueueItem(QueueItemPtr&& ii, bool noSort);
+ void addQueueItem(QueueItemPtr&& ii, bool single);
void addQueueList(const QueueItem::StringMap& l);
HTREEITEM addDirectory(const string& dir, bool isFileList = false, HTREEITEM startAt = NULL);