summaryrefslogtreecommitdiff
path: root/src/search
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-01-21 22:48:37 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-01-21 22:48:37 (GMT)
commitdea70befcf770a767f1cbeecdd149930f6d4c0b8 (patch)
treed7262fed954074b5f60b2a75307ff50c8038c25d /src/search
parent984d39f8cc6e2fd54c1a1b4aa217334f04a5e479 (diff)
downloadpowder-dea70befcf770a767f1cbeecdd149930f6d4c0b8.zip
powder-dea70befcf770a767f1cbeecdd149930f6d4c0b8.tar.gz
Basic skeleton for save preview
Diffstat (limited to 'src/search')
-rw-r--r--src/search/SearchController.cpp15
-rw-r--r--src/search/SearchController.h3
-rw-r--r--src/search/SearchView.cpp11
3 files changed, 28 insertions, 1 deletions
diff --git a/src/search/SearchController.cpp b/src/search/SearchController.cpp
index 7103591..46a353c 100644
--- a/src/search/SearchController.cpp
+++ b/src/search/SearchController.cpp
@@ -3,8 +3,10 @@
#include "SearchModel.h"
#include "SearchView.h"
#include "interface/Panel.h"
+#include "preview/PreviewController.h"
-SearchController::SearchController()
+SearchController::SearchController():
+ activePreview(NULL)
{
searchModel = new SearchModel();
searchView = new SearchView();
@@ -19,6 +21,11 @@ SearchController::SearchController()
SearchController::~SearchController()
{
+ if(activePreview)
+ {
+ ui::Engine::Ref().CloseWindow();
+ delete activePreview;
+ }
delete searchModel;
delete searchView;
}
@@ -54,5 +61,11 @@ void SearchController::ChangeSort()
void SearchController::ShowOwn(bool show)
{
+ //TODO: Implement
+}
+void SearchController::OpenSave(int saveID)
+{
+ activePreview = new PreviewController(saveID);
+ ui::Engine::Ref().ShowWindow(activePreview->GetView());
}
diff --git a/src/search/SearchController.h b/src/search/SearchController.h
index c9fdb21..d67743e 100644
--- a/src/search/SearchController.h
+++ b/src/search/SearchController.h
@@ -4,6 +4,7 @@
#include "interface/Panel.h"
#include "SearchModel.h"
#include "SearchView.h"
+#include "preview/PreviewController.h"
class SearchView;
class SearchModel;
class SearchController
@@ -11,6 +12,7 @@ class SearchController
private:
SearchModel * searchModel;
SearchView * searchView;
+ PreviewController * activePreview;
public:
SearchController();
~SearchController();
@@ -20,6 +22,7 @@ public:
void PrevPage();
void ChangeSort();
void ShowOwn(bool show);
+ void OpenSave(int saveID);
};
#endif // SEARCHCONTROLLER_H
diff --git a/src/search/SearchView.cpp b/src/search/SearchView.cpp
index ca848b5..4a61099 100644
--- a/src/search/SearchView.cpp
+++ b/src/search/SearchView.cpp
@@ -178,6 +178,16 @@ void SearchView::NotifySaveListChanged(SearchModel * sender)
buttonAreaHeight = Size.Y - buttonYOffset - 18;
buttonWidth = (buttonAreaWidth/savesX) - buttonPadding*2;
buttonHeight = (buttonAreaHeight/savesY) - buttonPadding*2;
+ class SaveOpenAction: public ui::SaveButtonAction
+ {
+ SearchView * v;
+ public:
+ SaveOpenAction(SearchView * _v) { v = _v; }
+ virtual void ActionCallback(ui::SaveButton * sender)
+ {
+ v->c->OpenSave(sender->GetSave()->GetID());
+ }
+ };
for(i = 0; i < saves.size(); i++)
{
if(saveX == savesX)
@@ -195,6 +205,7 @@ void SearchView::NotifySaveListChanged(SearchModel * sender)
),
ui::Point(buttonWidth, buttonHeight),
saves[i]);
+ saveButton->SetActionCallback(new SaveOpenAction(this));
saveButtons.push_back(saveButton);
AddComponent(saveButton);
saveX++;