summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil/rbutilqt/utils.cpp')
-rw-r--r--rbutil/rbutilqt/utils.cpp44
1 files changed, 44 insertions, 0 deletions
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
25bool recRmdir( const QString &dirName ) 33bool 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
56QUrl 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}