summaryrefslogtreecommitdiffstats
path: root/ColumnsPanel.c
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2006-08-04 20:54:37 +0000
committerHisham Muhammad <hisham@gobolinux.org>2006-08-04 20:54:37 +0000
commitb10821aae9ac208dce0613e6869984d4f2fa1674 (patch)
tree25562ec8b27aba9b5ab7bfe52704a9f02d6b3a4a /ColumnsPanel.c
parentbf44e233e62c44f3ec2edd71c37a3102c788d6ee (diff)
--sort-key flag in the command-line, overriding the
saved setting in .htoprc for the session. (thanks to Rodolfo Borges)
Diffstat (limited to 'ColumnsPanel.c')
-rw-r--r--ColumnsPanel.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/ColumnsPanel.c b/ColumnsPanel.c
index 8d3dd458..7a5a298b 100644
--- a/ColumnsPanel.c
+++ b/ColumnsPanel.c
@@ -44,6 +44,15 @@ void ColumnsPanel_delete(Object* object) {
free(this);
}
+int ColumnsPanel_fieldNameToIndex(const char* name) {
+ for (int j = 1; j <= LAST_PROCESSFIELD; j++) {
+ if (String_eq(name, Process_fieldNames[j])) {
+ return j;
+ }
+ }
+ return 0;
+}
+
void ColumnsPanel_update(Panel* super) {
ColumnsPanel* this = (ColumnsPanel*) super;
int size = Panel_getSize(super);
@@ -53,12 +62,9 @@ void ColumnsPanel_update(Panel* super) {
this->settings->pl->fields = (ProcessField*) malloc(sizeof(ProcessField) * (size+1));
for (int i = 0; i < size; i++) {
char* text = ((ListItem*) Panel_get(super, i))->value;
- for (int j = 1; j <= LAST_PROCESSFIELD; j++) {
- if (String_eq(text, Process_fieldNames[j])) {
- this->settings->pl->fields[i] = j;
- break;
- }
- }
+ int j = ColumnsPanel_fieldNameToIndex(text);
+ if (j > 0)
+ this->settings->pl->fields[i] = j;
}
this->settings->pl->fields[size] = 0;
}
@@ -83,7 +89,7 @@ HandlerResult ColumnsPanel_eventHandler(Panel* super, int ch) {
case ']':
case '+':
{
- if (selected < size - 2)
+ if (selected < size - 2)
Panel_moveSelectedDown(super);
result = HANDLED;
break;

© 2014-2024 Faster IT GmbH | imprint | privacy policy