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