@@ -49,36 +49,22 @@ bool SearchHistoryPopup::init(SearchHistoryCallback callback) {
4949 m_scrollLayer->setID (" scroll-layer" );
5050 m_mainLayer->addChild (m_scrollLayer);
5151
52- m_prevButton = CCMenuItemExt::createSpriteExtraWithFrameName (" GJ_arrow_01_001.png" , 1 .0f , [this ](auto ) {
53- page (m_page - 1 );
54- });
52+ auto prevButtonSprite = CCSprite::createWithSpriteFrameName (" GJ_arrow_01_001.png" );
53+ m_prevButton = CCMenuItemSpriteExtra::create (prevButtonSprite, this , menu_selector (SearchHistoryPopup::onPrevPage));
5554 m_prevButton->setPosition ({ -34 .5f , 145 .0f });
5655 m_prevButton->setID (" prev-button" );
5756 m_buttonMenu->addChild (m_prevButton);
5857
5958 auto nextButtonSprite = CCSprite::createWithSpriteFrameName (" GJ_arrow_01_001.png" );
6059 nextButtonSprite->setFlipX (true );
61- m_nextButton = CCMenuItemExt::createSpriteExtra (nextButtonSprite, [this ](auto ) {
62- page (m_page + 1 );
63- });
60+ m_nextButton = CCMenuItemSpriteExtra::create (nextButtonSprite, this , menu_selector (SearchHistoryPopup::onNextPage));
6461 m_nextButton->setPosition ({ 474 .5f , 145 .0f });
6562 m_nextButton->setID (" next-button" );
6663 m_buttonMenu->addChild (m_nextButton);
6764
68- auto clearButton = CCMenuItemExt::createSpriteExtraWithFrameName (" GJ_deleteBtn_001.png" , 0 .6f , [this ](auto ) {
69- createQuickPopup (
70- " Clear History" ,
71- " Are you sure you want to clear your search history?" ,
72- " No" ,
73- " Yes" ,
74- [this ](auto , bool btn2) {
75- if (btn2) {
76- SearchHistory::history.clear ();
77- page (0 );
78- }
79- }
80- );
81- });
65+ auto clearSprite = CCSprite::createWithSpriteFrameName (" GJ_deleteBtn_001.png" );
66+ clearSprite->setScale (0 .6f );
67+ auto clearButton = CCMenuItemSpriteExtra::create (clearSprite, this , menu_selector (SearchHistoryPopup::onClear));
8268 clearButton->setPosition ({ 420 .0f , 270 .0f });
8369 clearButton->setID (" clear-button" );
8470 m_buttonMenu->addChild (clearButton);
@@ -103,13 +89,7 @@ bool SearchHistoryPopup::init(SearchHistoryCallback callback) {
10389 auto filterSprite = ButtonSprite::create (
10490 CCSprite::createWithSpriteFrameName (" GJ_filterIcon_001.png" ), 32 , false , 32 .0f , " GJ_button_01.png" , 1 .0f );
10591 filterSprite->setScale (0 .7f );
106- m_filterButton = CCMenuItemExt::createSpriteExtra (filterSprite, [this , filterSprite](auto ) {
107- SearchFilterPopup::create (m_searchFilter, [this , filterSprite](SearchHistoryObject filter) {
108- m_searchFilter = std::move (filter);
109- filterSprite->updateBGImage (m_searchFilter.empty () ? " GJ_button_01.png" : " GJ_button_02.png" );
110- page (0 );
111- })->show ();
112- });
92+ m_filterButton = CCMenuItemSpriteExtra::create (filterSprite, this , menu_selector (SearchHistoryPopup::onFilter));
11393 m_filterButton->setPosition ({ 405 .0f , 235 .0f });
11494 m_filterButton->setID (" filter-button" );
11595 m_buttonMenu->addChild (m_filterButton);
@@ -119,6 +99,41 @@ bool SearchHistoryPopup::init(SearchHistoryCallback callback) {
11999 return true ;
120100}
121101
102+ void SearchHistoryPopup::onPrevPage (CCObject* sender) {
103+ page (m_page - 1 );
104+ }
105+
106+ void SearchHistoryPopup::onNextPage (CCObject* sender) {
107+ page (m_page + 1 );
108+ }
109+
110+ void SearchHistoryPopup::onClear (CCObject* sender) {
111+ FLAlertLayer::create (
112+ this ,
113+ " Clear History" ,
114+ " Are you sure you want to clear your search history?" ,
115+ " No" ,
116+ " Yes" ,
117+ 350 .0f
118+ )->show ();
119+ }
120+
121+ void SearchHistoryPopup::FLAlert_Clicked (FLAlertLayer* layer, bool btn2) {
122+ if (btn2) {
123+ SearchHistory::history.clear ();
124+ page (0 );
125+ }
126+ }
127+
128+ void SearchHistoryPopup::onFilter (CCObject* sender) {
129+ SearchFilterPopup::create (m_searchFilter, [this ](SearchHistoryObject filter) {
130+ m_searchFilter = std::move (filter);
131+ static_cast <ButtonSprite*>(m_filterButton->getNormalImage ())->updateBGImage (
132+ m_searchFilter.empty () ? " GJ_button_01.png" : " GJ_button_02.png" );
133+ page (0 );
134+ })->show ();
135+ }
136+
122137void SearchHistoryPopup::page (int p) {
123138 m_scrollLayer->m_contentLayer ->removeAllChildren ();
124139
0 commit comments