diff options
Diffstat (limited to 'client-qt/udm-client-qt/udm_main.cpp')
-rw-r--r-- | client-qt/udm-client-qt/udm_main.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/client-qt/udm-client-qt/udm_main.cpp b/client-qt/udm-client-qt/udm_main.cpp index ee58834..b822163 100644 --- a/client-qt/udm-client-qt/udm_main.cpp +++ b/client-qt/udm-client-qt/udm_main.cpp @@ -220,9 +220,14 @@ void udm_main::server_message_received(server_msg msg) break; case SERVER_MSG_TYPE::SERVER_DOWNLOADS_LIST_REPLY: { - downloads.clear(); //TODO: something better + if(!downloads.empty()) + { + mdl_downloads->removeRows(0, downloads.size()); + downloads.clear(); //TODO: something better + } for(auto i : msg.downloads()) downloads.push_back(i.download()); + mdl_downloads->insertRows(0, downloads.size()); mdl_downloads->refresh(); } break; @@ -233,6 +238,7 @@ void udm_main::server_message_received(server_msg msg) { if(i.id() == msg.download().download().id()) { + //TODO: merge download, not replace i = msg.download().download(); found = true; break; @@ -240,6 +246,7 @@ void udm_main::server_message_received(server_msg msg) } if(!found) downloads.push_back(msg.download().download()); + mdl_downloads->insertRows(downloads.size(), 1); mdl_downloads->refresh(); } break; |