arguments.clear();
addArgumentNonempty("config", configFile);
+ addOption("client", true);
+ addOption("persist-key", true);
+ addOption("persist-tun", true);
+ addOption("nobind", true);
+ addArgument("resolv-retry", "infinite");
+ addArgument("dev", "tun");
+ addArgument("verb", "3");
+ addArgument("proto", "udp");
+ addArgument("user", "nemo");
+ addArgument("group", "nemo");
addArgumentNonempty("remote", server);
addArgumentNonempty("port", QString::number(port));
addOption("comp-lzo", compressed);
void VPNControl::logAppend(const QString &text)
{
if (!text.isEmpty()) {
+ QString append = text;
+ // Ensure we end with a newline
+ if (!append.endsWith('\n')) {
+ append += '\n';
+ }
// How many lines to add
- int newLines = text.count('\n');
+ int newLines = append.count('\n');
int currentLines = logText.count('\n');
- int removeLines = currentLines + newLines - 18;
-
- // Remove excess lines
-// while (removeLines > 0) {
-// int nextLine = logText.indexOf('\n');
-// if (nextLine > 0) {
-// logText = logText.right(nextLine);
-// }
-// removeLines--;
-// }
+ int removeLines = currentLines + newLines - 24;
+
+ // Remove excess lines from the top
+ while (removeLines > 0) {
+ int nextLine = logText.indexOf('\n');
+ if (nextLine > 0) {
+ logText = logText.mid(nextLine + 1);
+ }
+ removeLines--;
+ }
// Add new lines
- logText.append(text);
+ logText.append(append);
emit logTextChanged(logText);
}
}