diff options
Diffstat (limited to 'client-qt/udm-client-qt/udm_main.cpp')
-rw-r--r-- | client-qt/udm-client-qt/udm_main.cpp | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/client-qt/udm-client-qt/udm_main.cpp b/client-qt/udm-client-qt/udm_main.cpp index 48ff7c8..ab9b898 100644 --- a/client-qt/udm-client-qt/udm_main.cpp +++ b/client-qt/udm-client-qt/udm_main.cpp @@ -369,10 +369,26 @@ void udm_main::server_message_received(server_msg msg) switch(i.state()) { case SUBSCRIPTION_DOWNLOAD_STATE::SDS_STARTED: - //TODO: + for(auto d = downloads.begin(), end = downloads.end(); d != end; ++d) + { + if(d->id() == i.download_id()) + { + d->set_state(1); //TODO: use human readable enum for states ? + mdl_downloads->refresh(); //TODO: udapte only changed item + break; + } + } break; case SUBSCRIPTION_DOWNLOAD_STATE::SDS_STOPPED: - //TODO: + for(auto d = downloads.begin(), end = downloads.end(); d != end; ++d) + { + if(d->id() == i.download_id()) + { + d->set_state(0); //TODO: use human readable enum for states ? + mdl_downloads->refresh(); //TODO: udapte only changed item + break; + } + } break; case SUBSCRIPTION_DOWNLOAD_STATE::SDS_DELETED: { @@ -391,7 +407,6 @@ void udm_main::server_message_received(server_msg msg) BOOST_LOG_TRIVIAL(error)<<"error: deleted download which is not exist\n"<<msg.DebugString(); } } - //TODO: break; default: BOOST_LOG_TRIVIAL(error)<<"error: unhandled download state in server message message\n"<<msg.DebugString(); |