diff options
author | Daniel Lange <DLange@git.local> | 2024-01-10 11:17:08 +0100 |
---|---|---|
committer | Daniel Lange <DLange@git.local> | 2024-01-10 11:17:08 +0100 |
commit | e7372d18a1a661d8c3dba9f51e1f17b5f94171a7 (patch) | |
tree | e8270dd60ec096bee8157dbadf029e15ed584592 /MetersPanel.c | |
parent | 937052b231259a47d881d539ad5748245ef55b99 (diff) | |
download | debian_htop-e7372d18a1a661d8c3dba9f51e1f17b5f94171a7.tar.gz debian_htop-e7372d18a1a661d8c3dba9f51e1f17b5f94171a7.tar.bz2 debian_htop-e7372d18a1a661d8c3dba9f51e1f17b5f94171a7.zip |
New upstream version 3.3.0
Diffstat (limited to 'MetersPanel.c')
-rw-r--r-- | MetersPanel.c | 36 |
1 files changed, 11 insertions, 25 deletions
diff --git a/MetersPanel.c b/MetersPanel.c index 97da630..2678fb2 100644 --- a/MetersPanel.c +++ b/MetersPanel.c @@ -5,6 +5,8 @@ Released under the GNU GPLv2+, see the COPYING file in the source distribution for its full text. */ +#include "config.h" // IWYU pragma: keep + #include "MetersPanel.h" #include <stdlib.h> @@ -33,7 +35,7 @@ static const char* const MetersMovingKeys[] = {"Space", "Enter", "Up", "Dn", "<- static const int MetersMovingEvents[] = {' ', 13, KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, ERR, KEY_DC, KEY_F(10)}; static FunctionBar* Meters_movingBar = NULL; -void MetersPanel_cleanup() { +void MetersPanel_cleanup(void) { if (Meters_movingBar) { FunctionBar_delete(Meters_movingBar); Meters_movingBar = NULL; @@ -91,65 +93,52 @@ static HandlerResult MetersPanel_eventHandler(Panel* super, int ch) { HandlerResult result = IGNORED; bool sideMove = false; - switch(ch) { + switch (ch) { case 0x0a: case 0x0d: case KEY_ENTER: - { if (!Vector_size(this->meters)) break; MetersPanel_setMoving(this, !(this->moving)); result = HANDLED; break; - } case ' ': case KEY_F(4): - case 't': - { + case 't': { if (!Vector_size(this->meters)) break; Meter* meter = (Meter*) Vector_get(this->meters, selected); int mode = meter->mode + 1; - if (mode == LAST_METERMODE) mode = 1; + if (mode == LAST_METERMODE) + mode = 1; Meter_setMode(meter, mode); Panel_set(super, selected, (Object*) Meter_toListItem(meter, this->moving)); result = HANDLED; break; } case KEY_UP: - { - if (!this->moving) { + if (!this->moving) break; - } - } /* else fallthrough */ case KEY_F(7): case '[': case '-': - { Vector_moveUp(this->meters, selected); Panel_moveSelectedUp(super); result = HANDLED; break; - } case KEY_DOWN: - { - if (!this->moving) { + if (!this->moving) break; - } - } /* else fallthrough */ case KEY_F(8): case ']': case '+': - { Vector_moveDown(this->meters, selected); Panel_moveSelectedDown(super); result = HANDLED; break; - } case KEY_RIGHT: - { sideMove = moveToNeighbor(this, this->rightNeighbor, selected); if (this->moving && !sideMove) { // lock user here until it exits positioning-mode @@ -158,18 +147,14 @@ static HandlerResult MetersPanel_eventHandler(Panel* super, int ch) { // if user is free, don't set HANDLED; // let ScreenManager handle focus. break; - } case KEY_LEFT: - { sideMove = moveToNeighbor(this, this->leftNeighbor, selected); if (this->moving && !sideMove) { result = HANDLED; } break; - } case KEY_F(9): case KEY_DC: - { if (!Vector_size(this->meters)) break; if (selected < Vector_size(this->meters)) { @@ -179,8 +164,8 @@ static HandlerResult MetersPanel_eventHandler(Panel* super, int ch) { MetersPanel_setMoving(this, false); result = HANDLED; break; - } } + if (result == HANDLED || sideMove) { Header* header = this->scr->header; this->settings->changed = true; @@ -188,6 +173,7 @@ static HandlerResult MetersPanel_eventHandler(Panel* super, int ch) { Header_calculateHeight(header); ScreenManager_resize(this->scr); } + return result; } |