forked from eranif/codelite
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmy_config.cpp
106 lines (90 loc) · 2.29 KB
/
my_config.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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include "my_config.h"
#include <wx/font.h>
#include <wx/settings.h>
#include <wx/stdpaths.h>
#include <wx/filename.h>
MyConfig::MyConfig()
: wxFileConfig("",
"",
(wxStandardPaths::Get().GetUserDataDir() + "/codelite-terminal.ini"),
"",
wxCONFIG_USE_LOCAL_FILE)
{
wxFileName fn(wxStandardPaths::Get().GetUserDataDir(), "codelite-terminal.ini");
fn.Mkdir(wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL);
}
MyConfig::~MyConfig()
{
Save();
}
wxPoint MyConfig::GetTerminalPosition() const
{
wxPoint pt(100, 100);
Read("frame_position_x", &pt.x);
Read("frame_position_y", &pt.y);
return pt;
}
wxSize MyConfig::GetTerminalSize() const
{
wxSize size(600, 400);
Read("frame_size_width", &size.x);
Read("frame_size_height", &size.y);
return size;
}
void MyConfig::SetTerminalPosition(const wxPoint& pt)
{
Write("frame_position_x", pt.x);
Write("frame_position_y", pt.y);
}
void MyConfig::SetTerminalSize(const wxSize& size)
{
Write("frame_size_width", size.x);
Write("frame_size_height", size.y);
}
void MyConfig::Save()
{
Flush();
}
wxColour MyConfig::GetBgColour() const
{
wxString col;
if(Read("bg_colour", &col) && !col.IsEmpty()) {
wxColour colour(col);
return colour;
}
return *wxBLACK;
}
wxColour MyConfig::GetFgColour() const
{
wxString col;
if(Read("fg_colour", &col) && !col.IsEmpty()) {
wxColour colour(col);
return colour;
}
return *wxWHITE;
}
void MyConfig::SetBgColour(const wxColour& col)
{
Write("bg_colour", col.GetAsString());
}
void MyConfig::SetFgColour(const wxColour& col)
{
Write("fg_colour", col.GetAsString());
}
wxFont MyConfig::GetFont() const
{
wxFont defaultFont = wxSystemSettings::GetFont(wxSYS_ANSI_FIXED_FONT);
defaultFont.SetFamily(wxFONTFAMILY_TELETYPE);
// read the attributes
wxString facename;
int pointSize;
Read("font_facename", &facename, defaultFont.GetFaceName());
Read("font_size", &pointSize, defaultFont.GetPointSize());
wxFont f(wxFontInfo(pointSize).FaceName(facename).Family(wxFONTFAMILY_TELETYPE));
return f;
}
void MyConfig::SetFont(const wxFont& font)
{
Write("font_facename", font.GetFaceName());
Write("font_size", font.GetPointSize());
}