summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjacob1 <jfu614@gmail.com>2012-09-14 22:31:59 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-09-16 11:06:53 (GMT)
commit45ab8cca233a226f1e5acb36ab1d474b624e0487 (patch)
treeb48ad10e750a04a2c062686e4bd431162153af16 /src
parent8f58c61c69eaac8655d8894efd30433cc0f2a653 (diff)
downloadpowder-45ab8cca233a226f1e5acb36ab1d474b624e0487.zip
powder-45ab8cca233a226f1e5acb36ab1d474b624e0487.tar.gz
Add icons back to search buttons, fix positioning of them, disable my own / fav buttons when still loading saves
Diffstat (limited to 'src')
-rw-r--r--src/graphics/Graphics.cpp43
-rw-r--r--src/graphics/Graphics.h2
-rw-r--r--src/search/SearchView.cpp34
3 files changed, 65 insertions, 14 deletions
diff --git a/src/graphics/Graphics.cpp b/src/graphics/Graphics.cpp
index dde2701..2f83b78 100644
--- a/src/graphics/Graphics.cpp
+++ b/src/graphics/Graphics.cpp
@@ -865,16 +865,49 @@ void Graphics::draw_icon(int x, int y, Icon icon, unsigned char alpha, bool inve
break;
case IconClose:
if(invert)
- drawchar(x, y, 0xAA, 20, 20, 20, alpha);
+ drawchar(x, y, 0xAA, 20, 20, 20, alpha);
else
- drawchar(x, y, 0xAA, 230, 230, 230, alpha);
+ drawchar(x, y, 0xAA, 230, 230, 230, alpha);
break;
case IconVoteSort:
+ if (invert)
+ {
+ drawchar(x, y, 0xA9, 44, 48, 32, alpha);
+ drawchar(x, y, 0xA8, 32, 44, 32, alpha);
+ drawchar(x, y, 0xA7, 128, 128, 128, alpha);
+ }
+ else
+ {
+ drawchar(x, y, 0xA9, 144, 48, 32, alpha);
+ drawchar(x, y, 0xA8, 32, 144, 32, alpha);
+ drawchar(x, y, 0xA7, 255, 255, 255, alpha);
+ }
+ break;
case IconDateSort:
- case IconFolder:
+ if (invert)
+ {
+ drawchar(x, y, 0xA6, 32, 32, 32, alpha);
+ }
+ else
+ {
+ drawchar(x, y, 0xA6, 255, 255, 255, alpha);
+ }
+ break;
+ case IconMyOwn:
+ if (invert)
+ {
+ drawchar(x, y, 0x94, 192, 160, 64, alpha);
+ drawchar(x, y, 0x93, 32, 32, 32, alpha);
+ }
+ else
+ {
+ drawchar(x, y, 0x94, 192, 160, 64, alpha);
+ drawchar(x, y, 0x93, 255, 255, 255, alpha);
+ }
+ break;
case IconSearch:
- drawchar(x, y+1, 0x8E, 30, 30, 180, alpha);
- drawchar(x, y+1, 0x8F, 255, 255, 255, alpha);
+ drawchar(x, y, 0x8E, 30, 30, 180, alpha);
+ drawchar(x, y, 0x8F, 255, 255, 255, alpha);
break;
case IconDelete:
if(invert)
diff --git a/src/graphics/Graphics.h b/src/graphics/Graphics.h
index 0bb6cb6..2fab43a 100644
--- a/src/graphics/Graphics.h
+++ b/src/graphics/Graphics.h
@@ -74,8 +74,8 @@ enum Icon
IconPause,
IconVoteSort,
IconDateSort,
+ IconMyOwn,
IconFavourite,
- IconFolder,
IconSearch,
IconDelete,
IconAdd,
diff --git a/src/search/SearchView.cpp b/src/search/SearchView.cpp
index 0825888..90ca6b7 100644
--- a/src/search/SearchView.cpp
+++ b/src/search/SearchView.cpp
@@ -34,7 +34,7 @@ SearchView::SearchView():
v->doSearch();
}
};
- searchField = new ui::Textbox(ui::Point(60, 10), ui::Point((XRES+BARSIZE)-239, 16), "", "[search]");
+ searchField = new ui::Textbox(ui::Point(60, 10), ui::Point((XRES+BARSIZE)-238, 17), "", "[search]");
searchField->Appearance.icon = IconSearch;
searchField->Appearance.HorizontalAlign = ui::Appearance::AlignLeft;
searchField->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
@@ -51,7 +51,8 @@ SearchView::SearchView():
v->c->ChangeSort();
}
};
- sortButton = new ui::Button(ui::Point(XRES+BARSIZE-140, 10), ui::Point(60, 16), "Sort");
+ sortButton = new ui::Button(ui::Point(XRES+BARSIZE-140, 10), ui::Point(61, 17), "Sort");
+ sortButton->SetIcon(IconVoteSort);
sortButton->SetActionCallback(new SortAction(this));
sortButton->Appearance.HorizontalAlign = ui::Appearance::AlignCentre;
sortButton->Appearance.VerticalAlign = ui::Appearance::AlignMiddle;
@@ -67,7 +68,8 @@ SearchView::SearchView():
v->c->ShowOwn(sender->GetToggleState());
}
};
- ownButton = new ui::Button(ui::Point(XRES+BARSIZE-70, 10), ui::Point(60, 16), "My Own");
+ ownButton = new ui::Button(ui::Point(XRES+BARSIZE-70, 10), ui::Point(61, 17), "My Own");
+ ownButton->SetIcon(IconMyOwn);
ownButton->SetTogglable(true);
ownButton->SetActionCallback(new MyOwnAction(this));
ownButton->Appearance.HorizontalAlign = ui::Appearance::AlignCentre;
@@ -84,7 +86,7 @@ SearchView::SearchView():
v->c->ShowFavourite(sender->GetToggleState());
}
};
- favButton = new ui::Button(searchField->Position+ui::Point(searchField->Size.X+14, 0), ui::Point(16, 16), "");
+ favButton = new ui::Button(searchField->Position+ui::Point(searchField->Size.X+15, 0), ui::Point(17, 17), "");
favButton->SetIcon(IconFavourite);
favButton->SetTogglable(true);
favButton->Appearance.Margin.Left+=2;
@@ -104,7 +106,7 @@ SearchView::SearchView():
v->clearSearch();
}
};
- ui::Button * clearSearchButton = new ui::Button(searchField->Position+ui::Point(searchField->Size.X-1, 0), ui::Point(16, 16), "");
+ ui::Button * clearSearchButton = new ui::Button(searchField->Position+ui::Point(searchField->Size.X-1, 0), ui::Point(17, 17), "");
clearSearchButton->SetIcon(IconClose);
clearSearchButton->SetActionCallback(new ClearSearchAction(this));
clearSearchButton->Appearance.Margin.Left+=2;
@@ -263,9 +265,15 @@ void SearchView::Search(std::string query)
void SearchView::NotifySortChanged(SearchModel * sender)
{
if(sender->GetSort() == "best")
+ {
sortButton->SetText("By votes");
+ sortButton->SetIcon(IconVoteSort);
+ }
else
+ {
sortButton->SetText("By date");
+ sortButton->SetIcon(IconDateSort);
+ }
}
void SearchView::NotifyShowOwnChanged(SearchModel * sender)
@@ -429,7 +437,7 @@ void SearchView::NotifyTagListChanged(SearchModel * sender)
tagsLabel->Position.Y = tagYOffset-16;
AddComponent(motdLabel);
- motdLabel->Position.Y = tagYOffset-28;
+ motdLabel->Position.Y = tagYOffset-30;
}
class TagAction: public ui::ButtonAction
@@ -516,13 +524,23 @@ void SearchView::NotifySaveListChanged(SearchModel * sender)
{
nextButton->Enabled = false;
previousButton->Enabled = false;
- sortButton->Enabled = false;
+ favButton->Enabled = false;
}
else
{
- sortButton->Enabled = true;
nextButton->Enabled = true;
previousButton->Enabled = true;
+ favButton->Enabled = true;
+ }
+ if (!sender->GetSavesLoaded() || favButton->GetToggleState())
+ {
+ ownButton->Enabled = false;
+ sortButton->Enabled = false;
+ }
+ else
+ {
+ ownButton->Enabled = true;
+ sortButton->Enabled = true;
}
if(!saves.size())
{