mirror of https://github.com/xzeldon/htop.git
Let mouseclicks tick/untick checkboxes
This commit is contained in:
parent
23615d63a8
commit
15ab0ad706
|
@ -11,6 +11,7 @@ static HandlerResult AffinityPanel_eventHandler(Panel* this, int ch) {
|
||||||
HandlerResult result = IGNORED;
|
HandlerResult result = IGNORED;
|
||||||
CheckItem* selected = (CheckItem*) Panel_getSelected(this);
|
CheckItem* selected = (CheckItem*) Panel_getSelected(this);
|
||||||
switch(ch) {
|
switch(ch) {
|
||||||
|
case KEY_MOUSE:
|
||||||
case ' ':
|
case ' ':
|
||||||
CheckItem_set(selected, ! (CheckItem_get(selected)) );
|
CheckItem_set(selected, ! (CheckItem_get(selected)) );
|
||||||
result = HANDLED;
|
result = HANDLED;
|
||||||
|
|
|
@ -54,6 +54,7 @@ static HandlerResult ColorsPanel_EventHandler(Panel* super, int ch) {
|
||||||
case 0x0a:
|
case 0x0a:
|
||||||
case 0x0d:
|
case 0x0d:
|
||||||
case KEY_ENTER:
|
case KEY_ENTER:
|
||||||
|
case KEY_MOUSE:
|
||||||
case ' ':
|
case ' ':
|
||||||
for (int i = 0; ColorSchemes[i] != NULL; i++)
|
for (int i = 0; ColorSchemes[i] != NULL; i++)
|
||||||
CheckItem_set((CheckItem*)Panel_get(super, i), false);
|
CheckItem_set((CheckItem*)Panel_get(super, i), false);
|
||||||
|
|
|
@ -37,6 +37,7 @@ static HandlerResult DisplayOptionsPanel_eventHandler(Panel* super, int ch) {
|
||||||
case 0x0a:
|
case 0x0a:
|
||||||
case 0x0d:
|
case 0x0d:
|
||||||
case KEY_ENTER:
|
case KEY_ENTER:
|
||||||
|
case KEY_MOUSE:
|
||||||
case ' ':
|
case ' ':
|
||||||
CheckItem_set(selected, ! (CheckItem_get(selected)) );
|
CheckItem_set(selected, ! (CheckItem_get(selected)) );
|
||||||
result = HANDLED;
|
result = HANDLED;
|
||||||
|
|
|
@ -144,7 +144,6 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) {
|
||||||
|
|
||||||
ch = getch();
|
ch = getch();
|
||||||
|
|
||||||
bool loop = false;
|
|
||||||
if (ch == KEY_MOUSE) {
|
if (ch == KEY_MOUSE) {
|
||||||
MEVENT mevent;
|
MEVENT mevent;
|
||||||
int ok = getmouse(&mevent);
|
int ok = getmouse(&mevent);
|
||||||
|
@ -159,14 +158,12 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) {
|
||||||
focus = i;
|
focus = i;
|
||||||
panelFocus = panel;
|
panelFocus = panel;
|
||||||
Panel_setSelected(panel, mevent.y - panel->y + panel->scrollV - 1);
|
Panel_setSelected(panel, mevent.y - panel->y + panel->scrollV - 1);
|
||||||
loop = true;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (loop) continue;
|
|
||||||
|
|
||||||
if (panelFocus->eventHandler) {
|
if (panelFocus->eventHandler) {
|
||||||
HandlerResult result = panelFocus->eventHandler(panelFocus, ch);
|
HandlerResult result = panelFocus->eventHandler(panelFocus, ch);
|
||||||
|
|
Loading…
Reference in New Issue