Mercurial > projects > qtd
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); |