summaryrefslogtreecommitdiff
path: root/src/gui/preview
diff options
context:
space:
mode:
authorjacob1 <jfu614@gmail.com>2013-07-25 23:43:25 (GMT)
committer jacob1 <jfu614@gmail.com>2013-07-25 23:43:25 (GMT)
commitbfc1cf99cabd5b75f70a8de39cc4b00c408fc6b8 (patch)
tree644bbe8435b3f31c738325cf55419860dd9fa6f4 /src/gui/preview
parentbeff3db8d291b00b47fc13a1b936fa4419e3d78d (diff)
downloadpowder-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.cpp9
-rw-r--r--src/gui/preview/PreviewController.h4
-rw-r--r--src/gui/preview/PreviewModel.cpp15
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);
+ }
}
}