diff options
-rw-r--r-- | rbutil/rbutilqt/configure.cpp | 35 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbutilqt.cpp | 32 | ||||
-rw-r--r-- | rbutil/rbutilqt/utils.cpp | 44 | ||||
-rw-r--r-- | rbutil/rbutilqt/utils.h | 3 |
4 files changed, 53 insertions, 61 deletions
diff --git a/rbutil/rbutilqt/configure.cpp b/rbutil/rbutilqt/configure.cpp index e74dc6e30d..c155cd230c 100644 --- a/rbutil/rbutilqt/configure.cpp +++ b/rbutil/rbutilqt/configure.cpp | |||
@@ -25,6 +25,7 @@ | |||
25 | #include "browsedirtree.h" | 25 | #include "browsedirtree.h" |
26 | #include "encoders.h" | 26 | #include "encoders.h" |
27 | #include "tts.h" | 27 | #include "tts.h" |
28 | #include "utils.h" | ||
28 | 29 | ||
29 | #include <stdio.h> | 30 | #include <stdio.h> |
30 | #if defined(Q_OS_WIN32) | 31 | #if defined(Q_OS_WIN32) |
@@ -384,40 +385,10 @@ void Config::setSystemProxy(bool checked) | |||
384 | proxy.setHost(ui.proxyHost->text()); | 385 | proxy.setHost(ui.proxyHost->text()); |
385 | proxy.setPort(ui.proxyPort->text().toInt()); | 386 | proxy.setPort(ui.proxyPort->text().toInt()); |
386 | // show system values in input box | 387 | // show system values in input box |
387 | QUrl envproxy; | 388 | QUrl envproxy = systemProxy(); |
388 | #if defined(Q_OS_LINUX) | ||
389 | envproxy = QUrl(getenv("http_proxy")); | ||
390 | 389 | ||
391 | ui.proxyHost->setText(envproxy.host()); | 390 | ui.proxyHost->setText(envproxy.host()); |
392 | #endif | 391 | |
393 | #if defined(Q_OS_WIN32) | ||
394 | HKEY hk; | ||
395 | wchar_t proxyval[80]; | ||
396 | DWORD buflen = 80; | ||
397 | long ret; | ||
398 | DWORD enable; | ||
399 | DWORD enalen = sizeof(DWORD); | ||
400 | |||
401 | ret = RegOpenKeyEx(HKEY_CURRENT_USER, _TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"), | ||
402 | 0, KEY_QUERY_VALUE, &hk); | ||
403 | if(ret != ERROR_SUCCESS) return; | ||
404 | |||
405 | ret = RegQueryValueEx(hk, _TEXT("ProxyServer"), NULL, NULL, (LPBYTE)proxyval, &buflen); | ||
406 | if(ret != ERROR_SUCCESS) return; | ||
407 | |||
408 | ret = RegQueryValueEx(hk, _TEXT("ProxyEnable"), NULL, NULL, (LPBYTE)&enable, &enalen); | ||
409 | if(ret != ERROR_SUCCESS) return; | ||
410 | |||
411 | RegCloseKey(hk); | ||
412 | envproxy = QUrl("http://" + QString::fromWCharArray(proxyval)); | ||
413 | qDebug() << envproxy; | ||
414 | if(enable != 0) { | ||
415 | ui.proxyHost->setText(envproxy.host()); | ||
416 | } | ||
417 | else { | ||
418 | ui.proxyHost->setText(envproxy.host() + " " + tr("(system proxy is disabled)")); | ||
419 | } | ||
420 | #endif | ||
421 | ui.proxyPort->setText(QString("%1").arg(envproxy.port())); | 392 | ui.proxyPort->setText(QString("%1").arg(envproxy.port())); |
422 | ui.proxyUser->setText(envproxy.userName()); | 393 | ui.proxyUser->setText(envproxy.userName()); |
423 | ui.proxyPass->setText(envproxy.password()); | 394 | ui.proxyPass->setText(envproxy.password()); |
diff --git a/rbutil/rbutilqt/rbutilqt.cpp b/rbutil/rbutilqt/rbutilqt.cpp index bbba56e2e8..bec87c79b2 100644 --- a/rbutil/rbutilqt/rbutilqt.cpp +++ b/rbutil/rbutilqt/rbutilqt.cpp | |||
@@ -969,36 +969,10 @@ QUrl RbUtilQt::proxy() | |||
969 | { | 969 | { |
970 | if(userSettings->value("proxytype", "system").toString() == "manual") | 970 | if(userSettings->value("proxytype", "system").toString() == "manual") |
971 | return QUrl(userSettings->value("proxy").toString()); | 971 | return QUrl(userSettings->value("proxy").toString()); |
972 | #if defined(Q_OS_LINUX) | ||
973 | else if(userSettings->value("proxytype", "system").toString() == "system") | 972 | else if(userSettings->value("proxytype", "system").toString() == "system") |
974 | return QUrl(getenv("http_proxy")); | 973 | { |
975 | #endif | 974 | systemProxy(); |
976 | #if defined(Q_OS_WIN32) | 975 | } |
977 | HKEY hk; | ||
978 | wchar_t proxyval[80]; | ||
979 | DWORD buflen = 80; | ||
980 | long ret; | ||
981 | DWORD enable; | ||
982 | DWORD enalen = sizeof(DWORD); | ||
983 | |||
984 | ret = RegOpenKeyEx(HKEY_CURRENT_USER, | ||
985 | _TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"), | ||
986 | 0, KEY_QUERY_VALUE, &hk); | ||
987 | if(ret != ERROR_SUCCESS) return QUrl(""); | ||
988 | |||
989 | ret = RegQueryValueEx(hk, _TEXT("ProxyServer"), NULL, NULL, (LPBYTE)proxyval, &buflen); | ||
990 | if(ret != ERROR_SUCCESS) return QUrl(""); | ||
991 | |||
992 | ret = RegQueryValueEx(hk, _TEXT("ProxyEnable"), NULL, NULL, (LPBYTE)&enable, &enalen); | ||
993 | if(ret != ERROR_SUCCESS) return QUrl(""); | ||
994 | |||
995 | RegCloseKey(hk); | ||
996 | |||
997 | qDebug() << QString::fromWCharArray(proxyval) << QString("%1").arg(enable); | ||
998 | if(enable != 0) | ||
999 | return QUrl("http://" + QString::fromWCharArray(proxyval)); | ||
1000 | |||
1001 | #endif | ||
1002 | return QUrl(""); | 976 | return QUrl(""); |
1003 | } | 977 | } |
1004 | 978 | ||
diff --git a/rbutil/rbutilqt/utils.cpp b/rbutil/rbutilqt/utils.cpp index 7458223e73..529298530e 100644 --- a/rbutil/rbutilqt/utils.cpp +++ b/rbutil/rbutilqt/utils.cpp | |||
@@ -21,6 +21,14 @@ | |||
21 | 21 | ||
22 | #include <QDir> | 22 | #include <QDir> |
23 | 23 | ||
24 | #if defined(Q_OS_WIN32) | ||
25 | #if defined(UNICODE) | ||
26 | #define _UNICODE | ||
27 | #endif | ||
28 | #include <windows.h> | ||
29 | #include <tchar.h> | ||
30 | #endif | ||
31 | |||
24 | // recursive function to delete a dir with files | 32 | // recursive function to delete a dir with files |
25 | bool recRmdir( const QString &dirName ) | 33 | bool recRmdir( const QString &dirName ) |
26 | { | 34 | { |
@@ -42,3 +50,39 @@ bool recRmdir( const QString &dirName ) | |||
42 | dir.cdUp(); | 50 | dir.cdUp(); |
43 | return dir.rmdir(dirN); // delete empty dir and return if (now empty) dir-removing was successfull | 51 | return dir.rmdir(dirN); // delete empty dir and return if (now empty) dir-removing was successfull |
44 | } | 52 | } |
53 | |||
54 | |||
55 | //Function to get the system proxy | ||
56 | QUrl systemProxy(void) | ||
57 | { | ||
58 | #if defined(Q_OS_LINUX) | ||
59 | return QUrl(getenv("http_proxy")); | ||
60 | #endif | ||
61 | #if defined(Q_OS_WIN32) | ||
62 | HKEY hk; | ||
63 | wchar_t proxyval[80]; | ||
64 | DWORD buflen = 80; | ||
65 | long ret; | ||
66 | DWORD enable; | ||
67 | DWORD enalen = sizeof(DWORD); | ||
68 | |||
69 | ret = RegOpenKeyEx(HKEY_CURRENT_USER, | ||
70 | _TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"), | ||
71 | 0, KEY_QUERY_VALUE, &hk); | ||
72 | if(ret != ERROR_SUCCESS) return QUrl(""); | ||
73 | |||
74 | ret = RegQueryValueEx(hk, _TEXT("ProxyServer"), NULL, NULL, (LPBYTE)proxyval, &buflen); | ||
75 | if(ret != ERROR_SUCCESS) return QUrl(""); | ||
76 | |||
77 | ret = RegQueryValueEx(hk, _TEXT("ProxyEnable"), NULL, NULL, (LPBYTE)&enable, &enalen); | ||
78 | if(ret != ERROR_SUCCESS) return QUrl(""); | ||
79 | |||
80 | RegCloseKey(hk); | ||
81 | |||
82 | //qDebug() << QString::fromWCharArray(proxyval) << QString("%1").arg(enable); | ||
83 | if(enable != 0) | ||
84 | return QUrl("http://" + QString::fromWCharArray(proxyval)); | ||
85 | else | ||
86 | return QUrl(""); | ||
87 | #endif | ||
88 | } | ||
diff --git a/rbutil/rbutilqt/utils.h b/rbutil/rbutilqt/utils.h index 2c2ae97079..c7dbf58f76 100644 --- a/rbutil/rbutilqt/utils.h +++ b/rbutil/rbutilqt/utils.h | |||
@@ -22,8 +22,11 @@ | |||
22 | #define UTILS_H | 22 | #define UTILS_H |
23 | 23 | ||
24 | #include <QString> | 24 | #include <QString> |
25 | #include <QUrl> | ||
25 | 26 | ||
26 | bool recRmdir( const QString &dirName ); | 27 | bool recRmdir( const QString &dirName ); |
27 | 28 | ||
29 | QUrl systemProxy(void); | ||
30 | |||
28 | #endif | 31 | #endif |
29 | 32 | ||