Date:2011-10-23 09:11:06 (12 years 5 months ago)
Author:Maarten ter Huurne
Commit:ccf55e5d61143cd00a94431c16904088ca203f70
Message:BrowseDialog: simplify code using InputManager::waitForPressedButton().

Files: src/browsedialog.cpp (1 diff)
src/browsedialog.h (1 diff)

Change Details

src/browsedialog.cpp
7373    return result;
7474}
7575
76BrowseDialog::Action BrowseDialog::getAction(InputManager::ButtonEvent *event)
76BrowseDialog::Action BrowseDialog::getAction(InputManager::Button button)
7777{
78    BrowseDialog::Action action;
79
80    switch(event->button) {
81        case InputManager::MENU:
82            action = BrowseDialog::ACT_CLOSE;
83            break;
84        case InputManager::UP:
85            action = BrowseDialog::ACT_UP;
86            break;
87        case InputManager::DOWN:
88            action = BrowseDialog::ACT_DOWN;
89            break;
90        case InputManager::ALTLEFT:
91            action = BrowseDialog::ACT_SCROLLUP;
92            break;
93        case InputManager::ALTRIGHT:
94            action = BrowseDialog::ACT_SCROLLDOWN;
95            break;
96        case InputManager::LEFT:
97        case InputManager::CANCEL:
98            action = BrowseDialog::ACT_GOUP;
99            break;
100        case InputManager::ACCEPT:
101            action = BrowseDialog::ACT_SELECT;
102            break;
103        case InputManager::SETTINGS:
104            action = BrowseDialog::ACT_CONFIRM;
105            break;
106        default:
107            action = BrowseDialog::ACT_NONE;
108            break;
109    }
110
111    return action;
78    switch (button) {
79        case InputManager::MENU:
80            return BrowseDialog::ACT_CLOSE;
81        case InputManager::UP:
82            return BrowseDialog::ACT_UP;
83        case InputManager::DOWN:
84            return BrowseDialog::ACT_DOWN;
85        case InputManager::ALTLEFT:
86            return BrowseDialog::ACT_SCROLLUP;
87        case InputManager::ALTRIGHT:
88            return BrowseDialog::ACT_SCROLLDOWN;
89        case InputManager::LEFT:
90        case InputManager::CANCEL:
91            return BrowseDialog::ACT_GOUP;
92        case InputManager::ACCEPT:
93            return BrowseDialog::ACT_SELECT;
94        case InputManager::SETTINGS:
95            return BrowseDialog::ACT_CONFIRM;
96        default:
97            return BrowseDialog::ACT_NONE;
98    }
11299}
113100
114101void BrowseDialog::handleInput()
115102{
116    BrowseDialog::Action action;
117    InputManager::ButtonEvent event;
118
119    do {
120        gmenu2x->input.waitForEvent(&event);
121    } while (event.state != InputManager::PRESSED);
103    InputManager::Button button = gmenu2x->input.waitForPressedButton();
122104
105    BrowseDialog::Action action;
123106    if (ts_pressed && !gmenu2x->ts.pressed()) {
124107        action = BrowseDialog::ACT_SELECT;
125108        ts_pressed = false;
126109    } else {
127        action = getAction(&event);
110        action = getAction(button);
128111    }
129112
130113    if (gmenu2x->ts.initialized() && gmenu2x->ts.pressed() && !gmenu2x->ts.inRect(touchRect)) ts_pressed = false;
src/browsedialog.h
7676
7777    ButtonBox buttonBox;
7878
79    Action getAction(InputManager::ButtonEvent *event);
79    Action getAction(InputManager::Button button);
8080    void handleInput();
8181
8282    void paint();

Archive Download the corresponding diff file



interactive