/
state.cpp
65 lines (59 loc) · 2 KB
/
state.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/* *************************************************************************
* Copyright 2010 Jakob Gruber *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation, either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
************************************************************************* */
#include "state.h"
#include <assert.h>
State::
State()
{
mode = MODE_STANDARD;
sortedby = A_NAME;
coloredby = A_INSTALLSTATE;
op = OP_NONE;
}
std::string optostr(FilterOperationEnum o)
{
switch (o) {
case OP_FILTER:
return "/";
case OP_SORT:
return ".";
case OP_SEARCH:
return "?";
case OP_COLORCODE:
return ";";
case OP_EXEC:
return "!";
case OP_MACRO:
return "@";
case OP_CTRL:
return "%";
case OP_NONE:
return "";
default:
assert(0);
}
return "";
}
FilterOperationEnum strtoopt(std::string str)
{
for (int i = 0; i < OP_NONE; i++) {
if (optostr((FilterOperationEnum)i) == str) {
return (FilterOperationEnum)i;
}
}
return OP_NONE;
}