comparison demos/browser/cookiejar.d @ 94:87bb4e622f9e

more porting
author mandel
date Thu, 28 May 2009 22:11:52 +0000
parents 5c8c9c5d9ee1
children dcd36d8db2da
comparison
equal deleted inserted replaced
93:55fd7080c4b9 94:87bb4e622f9e
39 ** 39 **
40 ****************************************************************************/ 40 ****************************************************************************/
41 module cookiejar; 41 module cookiejar;
42 42
43 import qt.network.QNetworkCookieJar; 43 import qt.network.QNetworkCookieJar;
44 import qt.core.QDebug; 44 //import qt.core.QDebug;
45 45
46 import qt.core.QAbstractItemModel; 46 import qt.core.QAbstractItemModel;
47 import qt.core.QDateTime; 47 import qt.core.QDateTime;
48 import qt.core.QDir; 48 import qt.core.QDir;
49 import qt.core.QFile; 49 import qt.core.QFile;
50 import qt.core.QMetaEnum; 50 //import qt.core.QMetaEnum;
51 import qt.core.QSettings; 51 import qt.core.QSettings;
52 import qt.core.QUrl; 52 import qt.core.QUrl;
53 53
54 import qt.gui.QDialog; 54 import qt.gui.QDialog;
55 import qt.gui.QTableView; 55 import qt.gui.QTableView;
58 import qt.gui.QFont; 58 import qt.gui.QFont;
59 import qt.gui.QFontMetrics; 59 import qt.gui.QFontMetrics;
60 import qt.gui.QHeaderView; 60 import qt.gui.QHeaderView;
61 import qt.gui.QKeyEvent; 61 import qt.gui.QKeyEvent;
62 import qt.gui.QSortFilterProxyModel; 62 import qt.gui.QSortFilterProxyModel;
63 63 import qt.gui.QAbstractTableModel;
64 import QtWebKit.QWebSettings; 64
65 import qt.webkit.QWebSettings;
65 66
66 import cookiejar; 67 import cookiejar;
67 import autosaver; 68 import autosaver;
68 69
69 70
90 91
91 uint count; 92 uint count;
92 stream >> count; 93 stream >> count;
93 for(uint i = 0; i < count; ++i) 94 for(uint i = 0; i < count; ++i)
94 { 95 {
95 QByteArray value; 96 auto value = new QByteArray;
96 stream >> value; 97 stream >> value;
97 QNetworkCookie[] newCookies = QNetworkCookie.parseCookies(value); 98 QNetworkCookie[] newCookies = QNetworkCookie.parseCookies(value);
98 if (newCookies.length == 0 && value.length() != 0) { 99 if (newCookies.length == 0 && value.length() != 0) {
99 qWarning() << "CookieJar: Unable to parse saved cookie:" << value; 100 qWarning("CookieJar: Unable to parse saved cookie:" ~ cast(char[]) value.data());
100 } 101 }
101 102
102 for (int j = 0; j < newCookies.length; ++j) 103 for (int j = 0; j < newCookies.length; ++j)
103 list ~= newCookies[j]; 104 list ~= newCookies[j];
104 105
316 m_keepCookies = keepPolicyEnum.keyToValue(value) == -1 ? 317 m_keepCookies = keepPolicyEnum.keyToValue(value) == -1 ?
317 KeepUntilExpire : 318 KeepUntilExpire :
318 cast(KeepPolicy) keepPolicyEnum.keyToValue(value); 319 cast(KeepPolicy) keepPolicyEnum.keyToValue(value);
319 320
320 if (m_keepCookies == KeepUntilExit) 321 if (m_keepCookies == KeepUntilExit)
321 setAllCookies(null); 322 setAllCookies(null);
322 323
323 m_loaded = true; 324 m_loaded = true;
324 cookiesChanged.emit(); 325 cookiesChanged.emit();
325 } 326 }
326 327
338 QDir dir; 339 QDir dir;
339 dir.mkpath(directory); 340 dir.mkpath(directory);
340 } 341 }
341 auto cookieSettings = new QSettings(directory ~ "/cookies.ini", QSettings.IniFormat); 342 auto cookieSettings = new QSettings(directory ~ "/cookies.ini", QSettings.IniFormat);
342 QNetworkCookie[] cookies = allCookies(); 343 QNetworkCookie[] cookies = allCookies();
343 for (int i = cookies.count() - 1; i >= 0; --i) { 344 for (int i = cookies.length - 1; i >= 0; --i) {
344 if (cookies[i].isSessionCookie()) 345 if (cookies[i].isSessionCookie())
345 cookies.removeAt(i); 346 cookies.removeAt(i);
346 } 347 }
347 //cookieSettings.setValue("cookies", qVariantFromValue<QNetworkCookie[] >(cookies)); //TODO! 348 //cookieSettings.setValue("cookies", qVariantFromValue<QNetworkCookie[] >(cookies)); //TODO!
348 cookieSettings.beginGroup("Exceptions"); 349 cookieSettings.beginGroup("Exceptions");
349 cookieSettings.setValue("block", m_exceptions_block); 350 cookieSettings.setValue("block", m_exceptions_block);
350 cookieSettings.setValue("allow", m_exceptions_allow); 351 cookieSettings.setValue("allow", m_exceptions_allow);
537 538
538 import ui_cookies; 539 import ui_cookies;
539 import ui_cookiesexceptions; 540 import ui_cookiesexceptions;
540 541
541 542
542 class CookiesDialog : public QDialog, public Ui_CookiesDialog 543 class CookiesDialog : public QDialog //, public Ui_CookiesDialog
543 { 544 {
545 CookiesDialog ui;
546
544 public: 547 public:
545 548
546 this(CookieJar cookieJar, QWidget parent = this) 549 this(CookieJar cookieJar, QWidget parent = null)
547 //: QDialog(parent) 550 {
548 { 551 super(parent);
549 setupUi(this); 552 ui.setupUi(this);
550 setWindowFlags(Qt.Sheet); 553 setWindowFlags(Qt.Sheet);
551 CookieModel model = new CookieModel(cookieJar, this); 554 CookieModel model = new CookieModel(cookieJar, this);
552 m_proxyModel = new QSortFilterProxyModel(this); 555 m_proxyModel = new QSortFilterProxyModel(this);
553 search.textChanged.connect(&m_proxyModel.setFilterFixedString); 556 search.textChanged.connect(&m_proxyModel.setFilterFixedString);
554 removeButton.clicked.connect(&cookiesTable.removeOne); 557 removeButton.clicked.connect(&cookiesTable.removeOne);
722 string[] m_blockedCookies; 725 string[] m_blockedCookies;
723 string[] m_sessionCookies; 726 string[] m_sessionCookies;
724 } 727 }
725 728
726 729
727 class CookiesExceptionsDialog : public QDialog, public Ui_CookiesExceptionsDialog 730 class CookiesExceptionsDialog : public QDialog //, public Ui_CookiesExceptionsDialog
728 { 731 {
732 CookiesExceptionsDialog ui;
729 733
730 public: 734 public:
731 735
732 this(CookieJar cookieJar, QWidget parent = null) 736 this(CookieJar cookieJar, QWidget parent = null)
733 //: QDialog(parent) 737 {
734 { 738 super(parent);
735 m_cookieJar = cookieJar; 739 m_cookieJar = cookieJar;
736 setupUi(this); 740 ui.setupUi(this);
737 setWindowFlags(Qt.Sheet); 741 setWindowFlags(Qt.Sheet);
738 removeButton.clicked.connect(&exceptionTable.removeOne); 742 removeButton.clicked.connect(&exceptionTable.removeOne);
739 removeAllButton.clicked.connect(&exceptionTable.removeAll); 743 removeAllButton.clicked.connect(&exceptionTable.removeAll);
740 exceptionTable.verticalHeader().hide(); 744 exceptionTable.verticalHeader().hide();
741 exceptionTable.setSelectionBehavior(QAbstractItemView.SelectRows); 745 exceptionTable.setSelectionBehavior(QAbstractItemView.SelectRows);