From 45ab8cca233a226f1e5acb36ab1d474b624e0487 Mon Sep 17 00:00:00 2001 From: jacob1 Date: Fri, 14 Sep 2012 18:31:59 -0400 Subject: Add icons back to search buttons, fix positioning of them, disable my own / fav buttons when still loading saves 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()) { -- cgit v0.9.2-21-gd62e