diff options
Diffstat (limited to 'src/preview/PreviewModel.cpp')
| -rw-r--r-- | src/preview/PreviewModel.cpp | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/src/preview/PreviewModel.cpp b/src/preview/PreviewModel.cpp index bf51ff0..0e03490 100644 --- a/src/preview/PreviewModel.cpp +++ b/src/preview/PreviewModel.cpp @@ -6,21 +6,54 @@ */ #include "PreviewModel.h" +#include "client/Client.h" PreviewModel::PreviewModel(): - save(NULL) + save(NULL), + savePreview(NULL) { // TODO Auto-generated constructor stub } -void PreviewModel::UpdateSave(int saveID) +void PreviewModel::UpdateSave(int saveID, int saveDate) { + save = Client::Ref().GetSave(saveID, saveDate); + notifySaveChanged(); + savePreview = Client::Ref().GetPreview(saveID, saveDate); + notifyPreviewChanged(); +} + +Thumbnail * PreviewModel::GetPreview() +{ + return savePreview; +} +Save * PreviewModel::GetSave() +{ + return save; +} + +void PreviewModel::notifyPreviewChanged() +{ + for(int i = 0; i < observers.size(); i++) + { + observers[i]->NotifyPreviewChanged(this); + } +} + +void PreviewModel::notifySaveChanged() +{ + for(int i = 0; i < observers.size(); i++) + { + observers[i]->NotifySaveChanged(this); + } } void PreviewModel::AddObserver(PreviewView * observer) { observers.push_back(observer); + observer->NotifyPreviewChanged(this); + observer->NotifySaveChanged(this); } PreviewModel::~PreviewModel() { |
