diff options
| author | jacob1 <jfu614@gmail.com> | 2013-07-25 23:43:25 (GMT) |
|---|---|---|
| committer | jacob1 <jfu614@gmail.com> | 2013-07-25 23:43:25 (GMT) |
| commit | bfc1cf99cabd5b75f70a8de39cc4b00c408fc6b8 (patch) | |
| tree | 644bbe8435b3f31c738325cf55419860dd9fa6f4 /src/gui/preview | |
| parent | beff3db8d291b00b47fc13a1b936fa4419e3d78d (diff) | |
| download | powder-bfc1cf99cabd5b75f70a8de39cc4b00c408fc6b8.zip powder-bfc1cf99cabd5b75f70a8de39cc4b00c408fc6b8.tar.gz | |
instant save option option, hold ctrl when clicking a save in the save preview to skip the entire preview and not load the comments
Diffstat (limited to 'src/gui/preview')
| -rw-r--r-- | src/gui/preview/PreviewController.cpp | 9 | ||||
| -rw-r--r-- | src/gui/preview/PreviewController.h | 4 | ||||
| -rw-r--r-- | src/gui/preview/PreviewModel.cpp | 15 |
3 files changed, 16 insertions, 12 deletions
diff --git a/src/gui/preview/PreviewController.cpp b/src/gui/preview/PreviewController.cpp index 3a7961a..f63c623 100644 --- a/src/gui/preview/PreviewController.cpp +++ b/src/gui/preview/PreviewController.cpp @@ -8,7 +8,7 @@ #include "gui/login/LoginController.h" #include "Controller.h" -PreviewController::PreviewController(int saveID, int saveDate, ControllerCallback * callback): +PreviewController::PreviewController(int saveID, int saveDate, bool instant, ControllerCallback * callback): HasExited(false), saveId(saveID), saveDate(saveDate), @@ -18,6 +18,7 @@ PreviewController::PreviewController(int saveID, int saveDate, ControllerCallbac previewView = new PreviewView(); previewModel->AddObserver(previewView); previewView->AttachController(this); + previewModel->SetDoOpen(instant); previewModel->UpdateSave(saveID, saveDate); @@ -31,7 +32,7 @@ PreviewController::PreviewController(int saveID, int saveDate, ControllerCallbac this->callback = callback; } -PreviewController::PreviewController(int saveID, ControllerCallback * callback): +PreviewController::PreviewController(int saveID, bool instant, ControllerCallback * callback): HasExited(false), saveId(saveID), saveDate(0), @@ -164,7 +165,7 @@ void PreviewController::OpenInBrowser() bool PreviewController::NextCommentPage() { - if(previewModel->GetCommentsPageNum() < previewModel->GetCommentsPageCount() && previewModel->GetCommentsLoaded()) + if(previewModel->GetCommentsPageNum() < previewModel->GetCommentsPageCount() && previewModel->GetCommentsLoaded() && !previewModel->GetDoOpen()) { previewModel->UpdateComments(previewModel->GetCommentsPageNum()+1); return true; @@ -174,7 +175,7 @@ bool PreviewController::NextCommentPage() bool PreviewController::PrevCommentPage() { - if(previewModel->GetCommentsPageNum()>1 && previewModel->GetCommentsLoaded()) + if(previewModel->GetCommentsPageNum() > 1 && previewModel->GetCommentsLoaded() && !previewModel->GetDoOpen()) { previewModel->UpdateComments(previewModel->GetCommentsPageNum()-1); return true; diff --git a/src/gui/preview/PreviewController.h b/src/gui/preview/PreviewController.h index c5a4306..223d846 100644 --- a/src/gui/preview/PreviewController.h +++ b/src/gui/preview/PreviewController.h @@ -22,8 +22,8 @@ public: inline int SaveID() { return saveId; }; bool HasExited; - PreviewController(int saveID, ControllerCallback * callback); - PreviewController(int saveID, int saveDate, ControllerCallback * callback); + PreviewController(int saveID, bool instant, ControllerCallback * callback); + PreviewController(int saveID, int saveDate, bool instant, ControllerCallback * callback); void Exit(); void DoOpen(); void OpenInBrowser(); diff --git a/src/gui/preview/PreviewModel.cpp b/src/gui/preview/PreviewModel.cpp index 88b281b..6776445 100644 --- a/src/gui/preview/PreviewModel.cpp +++ b/src/gui/preview/PreviewModel.cpp @@ -139,13 +139,16 @@ void PreviewModel::UpdateSave(int saveID, int saveDate) pthread_create(&updateSaveInfoThread, 0, &PreviewModel::updateSaveInfoT, updateSaveInfoInfo); } - if (!updateSaveCommentsInfo) - updateSaveCommentsInfo = new threadInfo(saveID, commentsPageNumber); - if (updateSaveCommentsInfo->threadFinished) + if (!GetDoOpen()) { - commentsLoaded = false; - updateSaveCommentsInfo->threadFinished = false; - pthread_create(&updateSaveCommentsThread, 0, &PreviewModel::updateSaveCommentsT, updateSaveCommentsInfo); + if (!updateSaveCommentsInfo) + updateSaveCommentsInfo = new threadInfo(saveID, commentsPageNumber); + if (updateSaveCommentsInfo->threadFinished) + { + commentsLoaded = false; + updateSaveCommentsInfo->threadFinished = false; + pthread_create(&updateSaveCommentsThread, 0, &PreviewModel::updateSaveCommentsT, updateSaveCommentsInfo); + } } } |
