Dwayne Harris
3 years ago
13 changed files with 294 additions and 16 deletions
-
BIN.obs-manager.hpp.kate-swp
-
12Makefile
-
2README.md
-
6config.cfg
-
18obs-manager.cpp
-
10obs-manager.hpp
-
5recording-window.cpp
-
2recording-window.hpp
-
BINscreenrecorder
-
108settings-manager.cpp
-
33settings-manager.hpp
-
99settings-window.cpp
-
15settings-window.hpp
@ -0,0 +1,6 @@ |
|||
outputdir=/home/parallels/Projects/Progrium/screen-recorder |
|||
pluginsdir=/usr/lib/x86_64-linux-gnu/obs-plugins/ |
|||
desktopenabled=true |
|||
videoenabled=true |
|||
videodevice=/dev/video3 |
|||
audioenabled=false |
@ -0,0 +1,108 @@ |
|||
#include "settings-manager.hpp"
|
|||
#include <iostream>
|
|||
#include <fstream>
|
|||
|
|||
using namespace std; |
|||
|
|||
SettingsManager::SettingsManager() |
|||
{ |
|||
settings = list<SettingsEntry*>(); |
|||
readAll(); |
|||
} |
|||
|
|||
SettingsManager::~SettingsManager() |
|||
{ |
|||
} |
|||
|
|||
void SettingsManager::Update(string key, string value) |
|||
{ |
|||
cout << "Update: key: " << key << "; value: " << value << endl; |
|||
for (auto entry : settings) |
|||
{ |
|||
if (entry->key == key) |
|||
{ |
|||
entry->value = value; |
|||
return; |
|||
} |
|||
} |
|||
|
|||
settings.push_back(new SettingsEntry{ |
|||
.key = key, |
|||
.value = value, |
|||
}); |
|||
} |
|||
|
|||
void SettingsManager::UpdateBool(string key, bool value) |
|||
{ |
|||
if (value) |
|||
Update(key, "true"); |
|||
else |
|||
Update(key, "false"); |
|||
} |
|||
|
|||
void SettingsManager::Save(string key, string value) |
|||
{ |
|||
Update(key, value); |
|||
SaveAll(); |
|||
} |
|||
|
|||
void SettingsManager::SaveAll() |
|||
{ |
|||
saveAll(); |
|||
} |
|||
|
|||
string SettingsManager::Get(string key) |
|||
{ |
|||
for (auto entry : settings) |
|||
{ |
|||
if (entry->key == key) |
|||
{ |
|||
return entry->value; |
|||
} |
|||
} |
|||
|
|||
return ""; |
|||
} |
|||
|
|||
bool SettingsManager::GetBool(string key) |
|||
{ |
|||
if (Get(key) == "true") |
|||
return true; |
|||
|
|||
return false; |
|||
} |
|||
|
|||
void SettingsManager::readAll() |
|||
{ |
|||
settings.clear(); |
|||
|
|||
ifstream fin; |
|||
string line; |
|||
fin.open("./config.cfg", ios::in); |
|||
|
|||
while (getline(fin, line)) |
|||
{ |
|||
if (line.find("=") != -1) |
|||
{ |
|||
settings.push_back(new SettingsEntry{ |
|||
.key = line.substr(0, line.find("=")), |
|||
.value = line.substr(line.find("=")+1, line.length()), |
|||
}); |
|||
} |
|||
} |
|||
} |
|||
|
|||
void SettingsManager::saveAll() |
|||
{ |
|||
ofstream fout; |
|||
fout.open("./config.cfg", ios::trunc); |
|||
|
|||
for (auto entry : settings) |
|||
{ |
|||
cout << "Saving: key: " << entry->key << "; value: " << entry->value << endl; |
|||
fout << entry->key << "=" << entry->value << endl; |
|||
} |
|||
} |
|||
|
|||
|
|||
|
@ -0,0 +1,33 @@ |
|||
#ifndef SCREEN_RECORDER_SETTINGS_MANAGER_HPP
|
|||
#define SCREEN_RECORDER_SETTINGS_MANAGER_HPP
|
|||
|
|||
#include <iostream>
|
|||
#include <list>
|
|||
|
|||
using namespace std; |
|||
|
|||
class SettingsEntry |
|||
{ |
|||
public: |
|||
string key; |
|||
string value; |
|||
}; |
|||
|
|||
class SettingsManager |
|||
{ |
|||
public: |
|||
SettingsManager(); |
|||
virtual ~SettingsManager(); |
|||
void Update(string key, string value); |
|||
void UpdateBool(string key, bool value); |
|||
void Save(string key, string value); |
|||
void SaveAll(); |
|||
string Get(string key); |
|||
bool GetBool(string key); |
|||
private: |
|||
list<SettingsEntry*> settings; |
|||
void readAll(); |
|||
void saveAll(); |
|||
}; |
|||
|
|||
#endif
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue