changeset 94:87bb4e622f9e

more porting
author mandel
date Thu, 28 May 2009 22:11:52 +0000
parents 55fd7080c4b9
children 1c7973b20ebc
files demos/browser/autosaver.d demos/browser/bookmarks.d demos/browser/browserapplication.d demos/browser/browsermainwindow.d demos/browser/build demos/browser/chasewidget.d demos/browser/cookiejar.d demos/browser/downloadmanager.d demos/browser/history.d demos/browser/main.d demos/browser/modelmenu.d demos/browser/settings.d demos/browser/squeezelabel.d demos/browser/tabwidget.d demos/browser/toolbarsearch.d demos/browser/urllineedit.d demos/browser/webview.d demos/browser/xbel.d
diffstat 18 files changed, 234 insertions(+), 210 deletions(-) [+]
line wrap: on
line diff
--- a/demos/browser/autosaver.d	Wed May 27 18:47:28 2009 +0000
+++ b/demos/browser/autosaver.d	Thu May 28 22:11:52 2009 +0000
@@ -74,7 +74,7 @@
 	~this()
 	{
 		if (m_timer.isActive())
-			qWarning() << "AutoSaver: still active when destroyed, changes not saved.";
+			qWarning("AutoSaver: still active when destroyed, changes not saved.");
 	}
 	
 	void saveIfNeccessary()
@@ -82,11 +82,11 @@
 		if (!m_timer.isActive())
 			return;
 		m_timer.stop();
-		m_firstChange = QTime();
+		m_firstChange = new QTime();
 		
 		//TODO!
 		//if (!QMetaObject.invokeMethod(parent(), "save", Qt.DirectConnection)) {
-		//	qWarning() << "AutoSaver: error invoking slot save() on parent";
+		//	qWarning("AutoSaver: error invoking slot save() on parent");
 		//}
 	}
 
@@ -111,7 +111,7 @@
 		if (event.timerId() == m_timer.timerId()) {
 			saveIfNeccessary();
 		} else {
-			QObject.timerEvent(event);
+			super.timerEvent(event);
 		}
 	}
 
--- a/demos/browser/bookmarks.d	Wed May 27 18:47:28 2009 +0000
+++ b/demos/browser/bookmarks.d	Thu May 28 22:11:52 2009 +0000
@@ -45,12 +45,14 @@
 import qt.core.QObject;
 import qt.core.QAbstractItemModel;
 
-import qt.gui.QUndoCommand;
 
 import qt.core.QBuffer;
 import qt.core.QFile;
 import qt.core.QMimeData;
+import qt.core.QPersistentModelIndex;
 
+import qt.gui.QUndoStack;
+import qt.gui.QUndoCommand;
 import qt.gui.QDesktopServices;
 import qt.gui.QDragEnterEvent;
 import qt.gui.QFileDialog;
@@ -59,9 +61,9 @@
 import qt.gui.QMessageBox;
 import qt.gui.QToolButton;
 
-import QtWebKit.QWebSettings;
+import qt.webkit.QWebSettings;
 
-import qt.core.QDebug;
+//import qt.core.QDebug;
 
 import bookmarks;
 import autosaver;
@@ -238,7 +240,7 @@
 		string dir = QDesktopServices.storageLocation(QDesktopServices.DataLocation);
 		string bookmarkFile = dir ~ "/bookmarks.xbel";
 		if (!writer.write(bookmarkFile, m_bookmarkRootNode))
-			qWarning() << "BookmarkManager: error saving to" << bookmarkFile;
+			qWarning("BookmarkManager: error saving to" ~ bookmarkFile);
 	}
 
 private:
@@ -503,7 +505,7 @@
 				if (bookmarkNode.type() == BookmarkNode.Separator) {
 					switch (index.column()) {
 						case 0: return QString(50, 0xB7);
-						case 1: return QString();
+						case 1: return null;
 					}
 				}
 
@@ -513,7 +515,7 @@
 				}
 				break;
 			case BookmarksModel.UrlRole:
-				return QUrl(bookmarkNode.url);
+				return new QUrl(bookmarkNode.url);
 				break;
 			case BookmarksModel.UrlStringRole:
 				return bookmarkNode.url;
@@ -579,28 +581,28 @@
 		return createIndex(parentRow, 0, parentNode);
 	}
 
-	Qt.ItemFlags flags(QModelIndex index)
+	int flags(QModelIndex index)
 	{
 		if (!index.isValid())
 			return Qt.NoItemFlags;
 
-		Qt.ItemFlags flags = Qt.ItemIsSelectable | Qt.ItemIsEnabled;
+		int flags = Qt_ItemFlag.ItemIsSelectable | Qt_ItemFlag.ItemIsEnabled;
 
 		BookmarkNode bookmarkNode = node(index);
 
 		if (bookmarkNode != m_bookmarksManager.menu() && bookmarkNode != m_bookmarksManager.toolbar()) {
-			flags |= Qt.ItemIsDragEnabled;
+			flags |= Qt_ItemFlag.ItemIsDragEnabled;
 			if (bookmarkNode.type() != BookmarkNode.Separator)
-				flags |= Qt.ItemIsEditable;
+				flags |= Qt_ItemFlag.ItemIsEditable;
 		}
 		if (hasChildren(index))
-			flags |= Qt.ItemIsDropEnabled;
+			flags |= Qt_ItemFlag.ItemIsDropEnabled;
 		return flags;
 	}
 
-	Qt.DropActions supportedDropActions()
+	int supportedDropActions()
 	{
-		return Qt.CopyAction | Qt.MoveAction;
+		return Qt_DropActiont.CopyAction | Qt_DropAction.MoveAction;
 	}
 
 	bool removeRows(int row, int count, QModelIndex parent = QModelIndex())
@@ -623,16 +625,16 @@
 		return true;
 	}
     
-	bool setData(QModelIndex index, QVariant value, int role = Qt.EditRole)
+	bool setData(QModelIndex index, QVariant value, int role = Qt_ItemDataRole.EditRole)
 	{
-		if (!index.isValid() || (flags(index) & Qt.ItemIsEditable) == 0)
+		if (!index.isValid() || (flags(index) & Qt_ItemFlag.ItemIsEditable) == 0)
 			return false;
 
 		BookmarkNode item = node(index);
 
 		switch (role) {
-			case Qt.EditRole:
-			case Qt.DisplayRole:
+			case Qt_ItemFlag.EditRole:
+			case Qt_ItemFlag.DisplayRole:
 				if (index.column() == 0) {
 					m_bookmarksManager.setTitle(item, value.toString());
 					break;
@@ -656,20 +658,20 @@
 		return true;
 	}
 
-	QMimeData mimeData(QModelIndexList indexes)
+	QMimeData mimeData(QModelIndex[] indexes)
 	{
-		QMimeData mimeData = new QMimeData();
-		QByteArray data;
-		auto stream = new QDataStream(&data, QIODevice.WriteOnly);
+		auto mimeData = new QMimeData();
+		auto data = new QByteArray;
+		auto stream = new QDataStream(data, QIODevice.WriteOnly);
 		foreach (QModelIndex index; indexes) {
 			if (index.column() != 0 || !index.isValid())
 				continue;
-			QByteArray encodedData;
-			auto buffer = new QBuffer(&encodedData);
+			auto encodedData = new QByteArray;
+			auto buffer = new QBuffer(encodedData);
 			buffer.open(QBuffer.ReadWrite);
-			XbelWriter writer;
-			const BookmarkNode parentNode = node(index);
-			writer.write(&buffer, parentNode);
+			auto writer = new XbelWriter;
+			BookmarkNode parentNode = node(index);
+			writer.write(buffer, parentNode);
 			stream << encodedData;
 		}
 		mimeData.setData(MIMETYPE, data);
@@ -683,16 +685,16 @@
 		return [ MIMETYPE ];
 	}
 
-	bool dropMimeData(QMimeData data,  Qt.DropAction action, int row, int column, QModelIndex parent)
+	bool dropMimeData(QMimeData data,  Qt_DropAction action, int row, int column, QModelIndex parent)
 	{
-		if (action == Qt.IgnoreAction)
+		if (action == Qt_DropAction.IgnoreAction)
 			return true;
 
 		if (!data.hasFormat(MIMETYPE) || column > 0)
 			return false;
 
 		QByteArray ba = data.data(MIMETYPE);
-		QDataStream stream = new QDataStream(&ba, QIODevice.ReadOnly);
+		QDataStream stream = new QDataStream(ba, QIODevice.ReadOnly);
 		if (stream.atEnd())
 			return false;
 
@@ -700,13 +702,13 @@
 		undoStack.beginMacro("Move Bookmarks");
 
 		while (!stream.atEnd()) {
-			QByteArray encodedData;
+			auto encodedData = new QByteArray;
 			stream >> encodedData;
-			QBuffer buffer = new QBuffer(&encodedData);
+			auto buffer = new QBuffer(encodedData);
 			buffer.open(QBuffer.ReadOnly);
 
 			auto reader = new XbelReader;
-			BookmarkNode rootNode = reader.read(&buffer);
+			BookmarkNode rootNode = reader.read(buffer);
 			BookmarkNode[] children = rootNode.children();
 			for (int i = 0; i < children.count(); ++i) {
 				BookmarkNode bookmarkNode = children[i];
@@ -841,20 +843,22 @@
 
 import ui_addbookmarkdialog;
 
-class AddBookmarkDialog : public QDialog, public Ui_AddBookmarkDialog
+class AddBookmarkDialog : public QDialog //, public Ui_AddBookmarkDialog
 {
+	AddBookmarkDialog ui;
+	
 public:
 
 	this(string url, string title, QWidget parent = null, BookmarksManager bookmarkManager = null)
-	//: QDialog(parent)
 	{
+		super(parent);
 		m_url = url;
 		m_bookmarksManager = bookmarkManager;
 
 		setWindowFlags(Qt.Sheet);
 		if (!m_bookmarksManager)
 			m_bookmarksManager = BrowserApplication.bookmarksManager();
-		setupUi(this);
+		ui.setupUi(this);
 		QTreeView view = new QTreeView(this);
 		m_proxyModel = new AddBookmarkProxyModel(this);
 		BookmarksModel model = m_bookmarksManager.bookmarksModel();
@@ -902,19 +906,21 @@
 import ui_bookmarks;
 
 //class TreeProxyModel;
-class BookmarksDialog : public QDialog, public Ui_BookmarksDialog
+class BookmarksDialog : public QDialog //, public Ui_BookmarksDialog
 {
+	BookmarksDialog ui;
+	
 	mixin Signal!("openUrl", QUrl /*url*/);
 
 public:
 
 	this(QWidget parent = null, BookmarksManager manager = null)
-	//: QDialog(parent)
 	{
+		super(parent);
 		m_bookmarksManager = manager;
 		if (!m_bookmarksManager)
 			m_bookmarksManager = BrowserApplication.bookmarksManager();
-		setupUi(this);
+		ui.setupUi(this);
 
 		tree.setUniformRowHeights(true);
 		tree.setSelectionBehavior(QAbstractItemView.SelectRows);
@@ -1125,7 +1131,7 @@
 			if (m_bookmarksModel.hasChildren(idx)) {
 				QToolButton button = new QToolButton(this);
 				button.setPopupMode(QToolButton.InstantPopup);
-				button.setArrowType(Qt.DownArrow);
+				button.setArrowType(Qt_ArrowType.DownArrow);
 				button.setText(idx.data().toString());
 				ModelMenu menu = new ModelMenu(this);
 				menu.activated.connect(&this.activated);
--- a/demos/browser/browserapplication.d	Wed May 27 18:47:28 2009 +0000
+++ b/demos/browser/browserapplication.d	Thu May 28 22:11:52 2009 +0000
@@ -49,7 +49,7 @@
 import qt.core.QTextStream;
 import qt.core.QTranslator;
 import qt.core.QUrl;
-import qt.core.QPointer;
+//import qt.core.QPointer;
 
 import qt.gui.QApplication;
 import qt.gui.QIcon;
@@ -62,9 +62,9 @@
 import qt.network.QNetworkProxy;
 import qt.network.QSslSocket;
 
-import QtWebKit.QWebSettings;
+import qt.webkit.QWebSettings;
 
-import qt.core.QDebug;
+//import qt.core.QDebug;
 
 import bookmarks;
 import browsermainwindow;
@@ -101,8 +101,8 @@
 		if (socket.waitForConnected(500)) {
 			auto stream = new QTextStream(&socket);
 			string[] args = QCoreApplication.arguments();
-			if (args.count() > 1)
-				stream << args.last();
+			if (args.length > 1)
+				stream << args[$-1];
 			else
 				stream << "";
 			stream.flush();
@@ -203,7 +203,7 @@
 	BrowserMainWindow mainWindow()
 	{
 		clean();
-		if (m_mainWindows.isEmpty())
+		if (m_mainWindows.length == 0)
 			newMainWindow();
 		return m_mainWindows[0];
 	}
@@ -303,7 +303,7 @@
 		switch (event.type()) {
 			case QEvent.ApplicationActivate: {
 				clean();
-				if (!m_mainWindows.isEmpty()) {
+				if (m_mainWindows.length) {
 					BrowserMainWindow mw = mainWindow();
 					if (mw && !mw.isMinimized()) {
 						mainWindow().show();
@@ -312,7 +312,7 @@
 				}
 			}
 			case QEvent.FileOpen:
-				if (!m_mainWindows.isEmpty()) {
+				if (m_mainWindows.length) {
 					mainWindow().loadPage(cast(QFileOpenEvent) event.file());
 					return true;
 				}
@@ -328,7 +328,7 @@
 	BrowserMainWindow newMainWindow()
 	{
 		BrowserMainWindow browser = new BrowserMainWindow();
-		m_mainWindows.prepend(browser);
+		m_mainWindows = [browser] ~ m_mainWindows;
 		browser.show();
 		return browser;
 	}
@@ -348,8 +348,8 @@
 		}
 		for (int i = 0; i < windows.count(); ++i) {
 			BrowserMainWindow newWindow = 0;
-			if (m_mainWindows.count() == 1 && mainWindow().tabWidget().count() == 1
-				&& mainWindow().currentTab().url() == QUrl()) {
+			if (m_mainWindows.length == 1 && mainWindow().tabWidget().count() == 1
+				&& mainWindow().currentTab().getUrl() is null) {
 				newWindow = mainWindow();
 			} else {
 				newWindow = newMainWindow();
@@ -373,8 +373,8 @@
 
 		if (tabCount > 1) {
 			int ret = QMessageBox.warning(mainWindow(), null,
-			tr("There are %1 windows and %2 tabs open\n"
-				"Do you want to quit anyway?").arg(m_mainWindows.count()).arg(tabCount),
+				Format(tr("There are %1 windows and %2 tabs open\n"
+					"Do you want to quit anyway?"), m_mainWindows.length, tabCount),
 			QMessageBox.Yes | QMessageBox.No,
 			QMessageBox.No);
 			if (ret == QMessageBox.No)
@@ -389,11 +389,10 @@
 		clean();
 		BrowserMainWindow mw = new BrowserMainWindow;
 		mw.slotHome();
-		m_mainWindows.prepend(mw);
+		m_mainWindows = [mw] ~ m_mainWindows;
 	}
 }
 
-
 private:
 
 	/*!
@@ -411,7 +410,7 @@
 		loadSettings();
 
 		// newMainWindow() needs to be called in main() for this to happen
-		if (m_mainWindows.count() > 0) {
+		if (m_mainWindows.length > 0) {
 			string[] args = QCoreApplication.arguments();
 			if (args.count() > 1)
 				mainWindow().loadPage(args.last());
@@ -473,7 +472,8 @@
 	static NetworkAccessManager s_networkAccessManager;
 	static BookmarksManager s_bookmarksManager;
 	
-	QPointer!(BrowserMainWindow)[] m_mainWindows;
+	//QPointer!(BrowserMainWindow)[] m_mainWindows;
+	BrowserMainWindow[] m_mainWindows;
 	QLocalServer m_localServer;
 	QByteArray m_lastSession;
 	QIcon m_defaultIcon;
--- a/demos/browser/browsermainwindow.d	Wed May 27 18:47:28 2009 +0000
+++ b/demos/browser/browsermainwindow.d	Thu May 28 22:11:52 2009 +0000
@@ -57,7 +57,7 @@
 import qt.gui.QToolBar;
 import qt.gui.QInputDialog;
 
-import qt.core.QDebug;
+//import qt.core.QDebug;
 
 import qt.webkit.QWebFrame;
 import qt.webkit.QWebHistory;
@@ -87,7 +87,7 @@
 
 public:
 
-	this(QWidget parent = null, Qt.WindowFlags flags = 0)
+	this(QWidget parent = null, int flags = 0) //Qt.WindowFlags flags
 	{
 		super(parent, flags);
 		m_tabWidget = new TabWidget(this);
@@ -97,7 +97,7 @@
 		m_stop = 0;
 		m_reload = 0;
 
-		setAttribute(Qt.WA_DeleteOnClose, true);
+		setAttribute(Qt_WidgetAttribute.WA_DeleteOnClose, true);
 		statusBar().setSizeGripEnabled(true);
 		setupMenu();
 		setupToolBar();
@@ -219,7 +219,7 @@
 	QByteArray saveState(bool withTabs)
 	{
 		int version_ = 2;
-		QByteArray data;
+		auto data = new QByteArray;
 		auto stream = new QDataStream(&data, QIODevice.WriteOnly);
 
 		stream << cast(int) BrowserMainWindowMagic;
@@ -291,7 +291,7 @@
 
 	void slotHome()
 	{
-		QSettings settings;
+		auto settings = new QSettings;
 		settings.beginGroup("MainWindow");
 		string home = settings.value("home", "http://qtsoftware.com/").toString();
 		loadPage(home);
@@ -322,7 +322,7 @@
 	{
 		BrowserApplication.instance().saveSession();
 
-		QSettings settings;
+		auto settings = new QSettings;
 		settings.beginGroup("BrowserMainWindow");
 		QByteArray data = saveState(false);
 		settings.setValue("defaultState", data);
@@ -447,7 +447,7 @@
 			for (int i = 0; i < windows.length; ++i) {
 				BrowserMainWindow window = windows[i];
 				window.m_lastSearch = null; //QString::null
-				window.tabWidget().clear();
+				window.tabWidget().clearTabs();
 			}
 		}
 	}
@@ -494,7 +494,7 @@
 	void slotAddBookmark()
 	{
 		WebView webView = currentTab();
-		string url = webView.url().toString();
+		string url = webView.getUrl().toString();
 		string title = webView.title();
 		AddBookmarkDialog dialog(url, title);
 		dialog.exec();
--- a/demos/browser/build	Wed May 27 18:47:28 2009 +0000
+++ b/demos/browser/build	Thu May 28 22:11:52 2009 +0000
@@ -12,4 +12,4 @@
 ../../tools/duic/duic proxy.ui -o ui_proxy.d
 ../../tools/duic/duic settings.ui -o ui_settings.d
 
-ldc *.d -L-L../../lib -L-lqtdgui -L-lqtdcore -I../../ -I../../qt/d1 -L-lQtGui -L-lQtCore -ofbrowser
+ldc *.d -L-L../../lib -L-lqtdgui -L-lqtdcore -I../../ -I../../qt/d1 -L-lQtGui -L-lQtCore -ofbrowser -d-version=QT_NO_UITOOLS
--- a/demos/browser/chasewidget.d	Wed May 27 18:47:28 2009 +0000
+++ b/demos/browser/chasewidget.d	Thu May 28 22:11:52 2009 +0000
@@ -59,7 +59,7 @@
 {
 public:
 
-	this(QWidget parent = null, QPixmap pixmap = QPixmap(), bool pixmapEnabled = false)
+	this(QWidget parent = null, QPixmap pixmap = new QPixmap(), bool pixmapEnabled = false)
 	{
 		super(parent);
 		m_segment = 0;
--- a/demos/browser/cookiejar.d	Wed May 27 18:47:28 2009 +0000
+++ b/demos/browser/cookiejar.d	Thu May 28 22:11:52 2009 +0000
@@ -41,13 +41,13 @@
 module cookiejar;
 
 import qt.network.QNetworkCookieJar;
-import qt.core.QDebug;
+//import qt.core.QDebug;
 
 import qt.core.QAbstractItemModel;
 import qt.core.QDateTime;
 import qt.core.QDir;
 import qt.core.QFile;
-import qt.core.QMetaEnum;
+//import qt.core.QMetaEnum;
 import qt.core.QSettings;
 import qt.core.QUrl;
 
@@ -60,8 +60,9 @@
 import qt.gui.QHeaderView;
 import qt.gui.QKeyEvent;
 import qt.gui.QSortFilterProxyModel;
+import qt.gui.QAbstractTableModel;
 
-import QtWebKit.QWebSettings;
+import qt.webkit.QWebSettings;
 
 import cookiejar;
 import autosaver;
@@ -92,11 +93,11 @@
 	stream >> count;
 	for(uint i = 0; i < count; ++i)
 	{
-		QByteArray value;
+		auto value = new QByteArray;
 		stream >> value;
 		QNetworkCookie[] newCookies = QNetworkCookie.parseCookies(value);
 		if (newCookies.length == 0 && value.length() != 0) {
-			qWarning() << "CookieJar: Unable to parse saved cookie:" << value;
+			qWarning("CookieJar: Unable to parse saved cookie:" ~ cast(char[]) value.data());
 		}
 		
 		for (int j = 0; j < newCookies.length; ++j)
@@ -318,7 +319,7 @@
 				cast(KeepPolicy) keepPolicyEnum.keyToValue(value);
 
 		if (m_keepCookies == KeepUntilExit)
-		setAllCookies(null);
+			setAllCookies(null);
 
 		m_loaded = true;
 		cookiesChanged.emit();
@@ -340,9 +341,9 @@
 		}
 		auto cookieSettings = new QSettings(directory ~ "/cookies.ini", QSettings.IniFormat);
 		QNetworkCookie[] cookies = allCookies();
-		for (int i = cookies.count() - 1; i >= 0; --i) {
+		for (int i = cookies.length - 1; i >= 0; --i) {
 			if (cookies[i].isSessionCookie())
-			cookies.removeAt(i);
+				cookies.removeAt(i);
 		}
 		//cookieSettings.setValue("cookies", qVariantFromValue<QNetworkCookie[] >(cookies)); //TODO!
 		cookieSettings.beginGroup("Exceptions");
@@ -539,14 +540,16 @@
 import ui_cookiesexceptions;
 
 
-class CookiesDialog : public QDialog, public Ui_CookiesDialog
+class CookiesDialog : public QDialog //, public Ui_CookiesDialog
 {
+	CookiesDialog ui;
+	
 public:
 
-	this(CookieJar cookieJar, QWidget parent = this)
-	//: QDialog(parent)
+	this(CookieJar cookieJar, QWidget parent = null)
 	{
-		setupUi(this);
+		super(parent);
+		ui.setupUi(this);
 		setWindowFlags(Qt.Sheet);
 		CookieModel model = new CookieModel(cookieJar, this);
 		m_proxyModel = new QSortFilterProxyModel(this);
@@ -724,16 +727,17 @@
 }
 
 
-class CookiesExceptionsDialog : public QDialog, public Ui_CookiesExceptionsDialog
+class CookiesExceptionsDialog : public QDialog //, public Ui_CookiesExceptionsDialog
 {
+	CookiesExceptionsDialog ui;
 
 public:
 
 	this(CookieJar cookieJar, QWidget parent = null)
-	//: QDialog(parent)
 	{
+		super(parent);
 		m_cookieJar = cookieJar;
-		setupUi(this);
+		ui.setupUi(this);
 		setWindowFlags(Qt.Sheet);
 		removeButton.clicked.connect(&exceptionTable.removeOne);
 		removeAllButton.clicked.connect(&exceptionTable.removeAll);
--- a/demos/browser/downloadmanager.d	Wed May 27 18:47:28 2009 +0000
+++ b/demos/browser/downloadmanager.d	Thu May 28 22:11:52 2009 +0000
@@ -44,19 +44,21 @@
 
 import qt.core.QFile;
 import qt.core.QTime;
-import qt.core.QMetaEnum;
+//import qt.core.QMetaEnum;
 import qt.core.QSettings;
-import qt.core.QDebug;
+//import qt.core.QDebug;
 
 import qt.gui.QDesktopServices;
 import qt.gui.QFileDialog;
 import qt.gui.QHeaderView;
 import qt.gui.QFileIconProvider;
 
+import qt.core.QAbstractListModel;
+
 import qt.network.QNetworkReply;
 import qt.webkit.QWebSettings;
 
-import math;
+//import math;
 import autosaver;
 import browserapplication;
 import networkaccessmanager;
@@ -64,9 +66,10 @@
 import ui_downloaditem;
 
 
-class DownloadItem : public QWidget, public Ui_DownloadItem
+class DownloadItem : public QWidget //, public Ui_DownloadItem
 {
-    mixin Signal!("statusChanged");
+	mixin Signal!("statusChanged");
+	DownloadItem ui;
 
 public:
  
@@ -82,7 +85,7 @@
 		m_requestFileName = requestFileName;
 		m_bytesReceived = 0;
 
-		setupUi(this);
+		ui.setupUi(this);
 		QPalette p = downloadInfoLabel.palette();
 		p.setColor(QPalette.Text, Qt.darkGray);
 		downloadInfoLabel.setPalette(p);
@@ -351,8 +354,9 @@
 }
 
 
-class DownloadManager : public QDialog, public Ui_DownloadDialog
+class DownloadManager : public QDialog //, public Ui_DownloadDialog
 {
+	DownloadDialog ui;
 
 public:
 
@@ -369,14 +373,15 @@
 	extract zipped files or anything fancy.
 	*/
 	this(QWidget parent = null)
-	//: QDialog(parent)
 	{
+		super(parent);
+		
 		m_autoSaver = new AutoSaver(this);
 		m_manager = BrowserApplication.networkAccessManager();
 		m_iconProvider = 0;
 		m_removePolicy = RemovePolicy.Never;
 
-		setupUi(this);
+		ui.setupUi(this);
 		downloadsView.setShowGrid(false);
 		downloadsView.verticalHeader().hide();
 		downloadsView.horizontalHeader().hide();
--- a/demos/browser/history.d	Wed May 27 18:47:28 2009 +0000
+++ b/demos/browser/history.d	Thu May 28 22:11:52 2009 +0000
@@ -47,8 +47,9 @@
 import qt.gui.QHeaderView;
 import qt.gui.QStyle;
 import qt.gui.QSortFilterProxyModel;
+import qt.gui.QAbstractTableModel;
 
-import qt.core.QtAlgorithms;
+//import qt.core.QtAlgorithms;
 import qt.core.QBuffer;
 import qt.core.QDir;
 import qt.core.QFile;
@@ -56,9 +57,9 @@
 import qt.core.QSettings;
 import qt.core.QTemporaryFile;
 import qt.core.QTextStream;
-import qt.core.QDebug;
+//import qt.core.QDebug;
 import qt.core.QDateTime;
-import qt.core.QHash;
+//import qt.core.QHash;
 import qt.core.QObject;
 import qt.core.QTimer;
 import qt.core.QUrl;
@@ -66,7 +67,7 @@
 import qt.webkit.QWebHistoryInterface;
 import qt.webkit.QWebSettings;
 
-import QWebHistoryInterface;
+//import QWebHistoryInterface;
 
 import autosaver;
 import browserapplication;
@@ -291,8 +292,7 @@
 		}
 
 		if (!open) {
-			qWarning() << "Unable to open history file for saving"
-			<< (saveAll ? tempFile.fileName() : historyFile.fileName());
+			qWarning("Unable to open history file for saving" ~ (saveAll ? tempFile.fileName() : historyFile.fileName()));
 			return;
 		}
 
@@ -308,9 +308,9 @@
 
 		if (saveAll) {
 			if (historyFile.exists() && !historyFile.remove())
-				qWarning() << "History: error removing old history." << historyFile.errorString();
+				qWarning("History: error removing old history." ~ historyFile.errorString());
 			if (!tempFile.rename(historyFile.fileName()))
-				qWarning() << "History: error moving new history over old." << tempFile.errorString() << historyFile.fileName();
+				qWarning("History: error moving new history over old." ~ tempFile.errorString() ~ historyFile.fileName());
 		}
 		m_lastSavedUrl = m_history.value(0).url;
 	}
@@ -368,7 +368,7 @@
 		if (!historyFile.exists())
 			return;
 		if (!historyFile.open(QFile.ReadOnly)) {
-			qWarning() << "Unable to open history file" << historyFile.fileName();
+			qWarning("Unable to open history file" ~ historyFile.fileName());
 			return;
 		}
 
@@ -459,10 +459,10 @@
 public:
 
 	enum Roles {
-		DateRole = Qt.UserRole + 1,
-		DateTimeRole = Qt.UserRole + 2,
-		UrlRole = Qt.UserRole + 3,
-		UrlStringRole = Qt.UserRole + 4
+		DateRole = Qt_ItemDataRole.UserRole + 1,
+		DateTimeRole = Qt_ItemDataRole.UserRole + 2,
+		UrlRole = Qt_ItemDataRole.UserRole + 3,
+		UrlStringRole = Qt_ItemDataRole.UserRole + 4
 	};
 
 	this(HistoryManager history, QObject parent = null)
@@ -477,9 +477,9 @@
 		m_history.entryUpdated.connect(&this.entryUpdated);
 	}
     
-	QVariant headerData(int section, Qt.Orientation orientation, int role = Qt.DisplayRole)
+	QVariant headerData(int section, Qt_Orientation orientation, int role = Qt_ItemDataRole.DisplayRole)
 	{
-		if (orientation == Qt.Horizontal && role == Qt.DisplayRole) {
+		if (orientation == Qt_Orientation.Horizontal && role == Qt_Orientation.DisplayRole) {
 			switch (section) {
 				case 0: return tr("Title");
 				case 1: return tr("Address");
@@ -488,11 +488,11 @@
 		return QAbstractTableModel.headerData(section, orientation, role);
 	}
 
-	QVariant data(QModelIndex index, int role = Qt.DisplayRole)
+	QVariant data(QModelIndex index, int role = Qt_ItemDataRole.DisplayRole)
 	{
 		HistoryItem[] lst = m_history.history();
 		if (index.row() < 0 || index.row() >= lst.length)
-			return QVariant();
+			return new QVariant();
 
 		HistoryItem item = lst[index.row()];
 		switch (role) {
@@ -501,16 +501,16 @@
 			case DateRole:
 				return item.dateTime.date();
 			case UrlRole:
-				return QUrl(item.url);
+				return new QUrl(item.url);
 			case UrlStringRole:
 				return item.url;
-			case Qt.DisplayRole:
-			case Qt.EditRole: {
+			case Qt_ItemDataRole.DisplayRole:
+			case Qt_ItemDataRole.EditRole: {
 				switch (index.column()) {
 					case 0:
 						// when there is no title try to generate one from the url
 						if (item.title.isEmpty()) {
-							string page = QFileInfo(QUrl(item.url).path()).fileName();
+							string page = (new QFileInfo((new QUrl(item.url)).path())).fileName();
 							if (!page.isEmpty())
 								return page;
 							return item.url;
@@ -520,12 +520,12 @@
 						return item.url;
 				}
 			}
-			case Qt.DecorationRole:
+			case Qt_ItemDataRole.DecorationRole:
 				if (index.column() == 0) {
 					return BrowserApplication.instance().icon(item.url);
 				}
 		}
-		return QVariant();
+		return new QVariant();
 	}
 
 	int columnCount(QModelIndex parent = QModelIndex())
@@ -646,7 +646,7 @@
 		}
 	}
 
-	QVariant headerData(int section, Qt.Orientation orientation, int role = Qt.DisplayRole)
+	QVariant headerData(int section, Qt_Orientation orientation, int role = Qt_ItemDataRole.DisplayRole)
 	{
 		return sourceModel().headerData(section, orientation, role);
 	}
@@ -701,7 +701,7 @@
 		return true;
 	}
 
-	QVariant data(QModelIndex index, int role = Qt.DisplayRole)
+	QVariant data(QModelIndex index, int role = Qt_ItemDataRole.DisplayRole)
 	{
 		return QAbstractProxyModel.data(index, role);
 	}
@@ -993,7 +993,7 @@
 
 	QVariant data(QModelIndex index, int role)
 	{
-		if (sourceModel() && (role == Qt.EditRole || role == Qt.DisplayRole) && index.isValid()) {
+		if (sourceModel() && (role == Qt_ItemDataRole.EditRole || role == Qt_ItemDataRole.DisplayRole) && index.isValid()) {
 			QModelIndex idx = mapToSource(index);
 			idx = idx.sibling(idx.row(), 1);
 			string urlString = idx.data(HistoryModel.UrlStringRole).toString();
@@ -1084,9 +1084,9 @@
 		setSourceModel(sourceModel);
 	}
 
-	QVariant data(QModelIndex index, int role = Qt.DisplayRole)
+	QVariant data(QModelIndex index, int role = Qt_ItemDataRole.DisplayRole)
 	{
-		if ((role == Qt.EditRole || role == Qt.DisplayRole)) {
+		if ((role == Qt_ItemDataRole.EditRole || role == Qt_ItemDataRole.DisplayRole)) {
 			int start = index.internalId();
 			if (start == 0) {
 				int offset = sourceDateRow(index.row());
@@ -1102,7 +1102,7 @@
 				}
 			}
 		}
-		if (role == Qt.DecorationRole && index.column() == 0 && !index.parent().isValid())
+		if (role == Qt_ItemDataRole.DecorationRole && index.column() == 0 && !index.parent().isValid())
 			return new QIcon(":history.png");
 		if (role == HistoryModel.DateRole && index.column() == 0 && index.internalId() == 0) {
 			int offset = sourceDateRow(index.row());
@@ -1203,11 +1203,11 @@
 		return false;
 	}
 
-	Qt.ItemFlags flags(QModelIndex index)
+	int flags(QModelIndex index)
 	{
 		if (!index.isValid())
-			return Qt.NoItemFlags;
-		return Qt.ItemIsSelectable | Qt.ItemIsEnabled | Qt.ItemIsDragEnabled;
+			return Qt_ItemFlag.NoItemFlags;
+		return Qt_ItemFlag.ItemIsSelectable | Qt_ItemFlag.ItemIsEnabled | Qt_ItemFlag.ItemIsDragEnabled;
 	}
 
 	bool removeRows(int row, int count, QModelIndex parent = QModelIndex())
@@ -1231,7 +1231,7 @@
 		return true;
 	}
 
-	QVariant headerData(int section, Qt.Orientation orientation, int role = Qt.DisplayRole)
+	QVariant headerData(int section, Qt_Orientation orientation, int role = Qt_ItemDataRole.DisplayRole)
 	{
 		return sourceModel().headerData(section, orientation, role);
 	}
@@ -1359,7 +1359,7 @@
 	{
 		super(parent);
 		setSortRole(HistoryModel.DateTimeRole);
-		setFilterCaseSensitivity(Qt.CaseInsensitive);
+		setFilterCaseSensitivity(Qt_CaseSensitivity.CaseInsensitive);
 	}
 
 protected:
@@ -1375,22 +1375,24 @@
 
 import ui_history;
 
-class HistoryDialog : public QDialog, public Ui_HistoryDialog
+class HistoryDialog : public QDialog//, public Ui_HistoryDialog
 {
+	HistoryDialog ui;
+	
 	mixin Signal!("openUrl", QUrl /*url*/);
 
 public:
 
 	this(QWidget parent = null, HistoryManager history = null)
-	//: QDialog(parent)
 	{
+		super(parent);
 		HistoryManager history = setHistory;
 		if (!history)
 			history = BrowserApplication.historyManager();
-		setupUi(this);
+		ui.setupUi(this);
 		tree.setUniformRowHeights(true);
 		tree.setSelectionBehavior(QAbstractItemView.SelectRows);
-		tree.setTextElideMode(Qt.ElideMiddle);
+		tree.setTextElideMode(Qt_TextElideMode.ElideMiddle);
 		auto model = history.historyTreeModel();
 		auto proxyModel = new TreeProxyModel(this);
 		search.textChanged.connect(&proxyModel.setFilterFixedString);
@@ -1405,7 +1407,7 @@
 		tree.header().resizeSection(0, header);
 		tree.header().setStretchLastSection(true);
 		tree.activated(QModelIndex).connect(this.open);
-		tree.setContextMenuPolicy(Qt.CustomContextMenu);
+		tree.setContextMenuPolicy(Qt_ContextMenuPolicy.CustomContextMenu);
 		tree.customContextMenuRequested.connect(&this.customContextMenuRequested);
 	}
 
--- a/demos/browser/main.d	Wed May 27 18:47:28 2009 +0000
+++ b/demos/browser/main.d	Thu May 28 22:11:52 2009 +0000
@@ -45,7 +45,7 @@
 import browserapplication;
 
 
-int main(string[] args)
+int main(char[][] args)
 {
 	//Q_INIT_RESOURCE(data);
 	scope application = new BrowserApplication(args);
--- a/demos/browser/modelmenu.d	Wed May 27 18:47:28 2009 +0000
+++ b/demos/browser/modelmenu.d	Thu May 28 22:11:52 2009 +0000
@@ -44,8 +44,8 @@
 import qt.gui.QMenu;
 import qt.core.QAbstractItemModel;
 
-import qt.core.QAbstractItemModel;
-import qdebug;
+import qt.core.QPersistentModelIndex;
+//import qdebug;
 
 
 // A QMenu that is dynamically populated from a QAbstractItemModel
@@ -53,7 +53,7 @@
 {
 
 mixin Signal!("activated", QModelIndex /*index*/);
-mixin Signal!("hovered", string /*text*/);
+mixin Signal!("linkHovered", string /*text*/);
 
 public:
 
@@ -160,10 +160,10 @@
 			QIcon icon = cast(QIcon) parent.data(Qt.DecorationRole);
 			menu.setIcon(icon);
 			parentMenu.addMenu(menu);
-			QVariant v;
+			auto v = new QVariant;
 			v.setValue(parent);
 			menu.menuAction().setData(v);
-			connect(menu, SIGNAL(aboutToShow()), this, SLOT(aboutToShow()));
+			menu.aboutToShow.connect(&this.aboutToShow);
 			return;
 		}
 
@@ -172,7 +172,7 @@
 			end = qMin(max, end);
 
 		menu.triggered.connect(&this.triggered);
-		menu.hovered.connect(&this.hovered);
+		menu.linkHovered.connect(&this.linkHovered);
 
 		for (int i = 0; i < end; ++i) {
 			QModelIndex idx = m_model.index(i, 0, parent);
@@ -222,14 +222,14 @@
 		}
 	}
 
-	void hovered(QAction action)
+	void linkHovered(QAction action)
 	{
 		QVariant v = action.data();
 		if (v.canConvert!(QModelIndex)()) {
 			QModelIndex idx = cast(QModelIndex) v;
 			string hoveredString = idx.data(m_hoverRole).toString();
 			if (!hoveredString.isEmpty())
-				hovered.emit(hoveredString);
+				linkHovered.emit(hoveredString);
 		}
 	}
 
@@ -239,7 +239,7 @@
 	{
 		QIcon icon = cast(QIcon) index.data(Qt.DecorationRole);
 		QAction action = makeAction(icon, index.data().toString(), this);
-		QVariant v;
+		auto v = new QVariant;
 		v.setValue(index);
 		action.setData(v);
 		return action;
--- a/demos/browser/settings.d	Wed May 27 18:47:28 2009 +0000
+++ b/demos/browser/settings.d	Thu May 28 22:11:52 2009 +0000
@@ -43,10 +43,10 @@
 
 import qt.core.QSettings;
 
-import qt.gui.qt.gui;
+//import qt.gui.QtGui; //TODO: needed?
 import qt.gui.QDialog;
 
-import qt.webkit.QtWebKit;
+//import qt.webkit.QtWebKit; //TODO: needed?
 
 import browserapplication;
 import browsermainwindow;
@@ -57,14 +57,16 @@
 import ui_settings;
 
 
-class SettingsDialog : public QDialog, public Ui_Settings
+class SettingsDialog : public QDialog //, public Ui_Settings
 {
+	Settings ui;
+
 public:
 	
 	this(QWidget parent = null)
-	//: QDialog(parent)
 	{
-		setupUi(this);
+		super(this);
+		ui.setupUi(this);
 		exceptionsButton.clicked.connect(&this.showExceptions);
 		setHomeToCurrentPageButton.clicked.connect(&this.setHomeToCurrentPage);
 		cookiesButton.clicked.connect(&this.showCookies());
@@ -295,7 +297,7 @@
 		BrowserMainWindow mw = cast(BrowserMainWindow) parent();
 		WebView webView = mw.currentTab();
 		if (webView)
-			homeLineEdit.setText(webView.url().toString());
+			homeLineEdit.setText(webView.getUrl().toString());
 	}
 
 	void showCookies()
--- a/demos/browser/squeezelabel.d	Wed May 27 18:47:28 2009 +0000
+++ b/demos/browser/squeezelabel.d	Thu May 28 22:11:52 2009 +0000
@@ -41,7 +41,7 @@
 module squeezelabel;
 
 
-import QtGui.QLabel;
+import qt.gui.QLabel;
 
 
 class SqueezeLabel : public QLabel
--- a/demos/browser/tabwidget.d	Wed May 27 18:47:28 2009 +0000
+++ b/demos/browser/tabwidget.d	Thu May 28 22:11:52 2009 +0000
@@ -52,8 +52,9 @@
 import qt.gui.QStackedWidget;
 import qt.gui.QStyle;
 import qt.gui.QToolButton;
+import qt.gui.QLineEdit;
 
-import qt.core.QDebug;
+//import qt.core.QDebug;
 
 import browserapplication;
 import browsermainwindow;
@@ -209,7 +210,7 @@
 	int m_dragCurrentIndex;
 }
 
-import QtWebKit.QWebPage;
+import qt.webkit.QWebPage;
 
 /*!
 A proxy object that connects a single browser action
@@ -317,20 +318,20 @@
 class TabWidget : public QTabWidget
 {
 	// tab widget signals
-	mixin Singal!("loadPage", string /*url*/);
-	mixin Singal!("tabsChanged");
-	mixin Singal!("lastTabClosed");
+	mixin Signal!("loadPage", string /*url*/);
+	mixin Signal!("tabsChanged");
+	mixin Signal!("lastTabClosed");
 
 	// current tab signals
-	mixin Singal!("setCurrentTitle", string /*url*/);
-	mixin Singal!("showStatusBarMessage", string /*message*/);
-	mixin Singal!("linkHovered", string /*link*/);
-	mixin Singal!("loadProgress", int /*progress*/);
-	mixin Singal!("geometryChangeRequested", QRect /*geometry*/);
-	mixin Singal!("menuBarVisibilityChangeRequested", bool /*visible*/);
-	mixin Singal!("statusBarVisibilityChangeRequested", bool /*visible*/);
-	mixin Singal!("toolBarVisibilityChangeRequested", bool /*visible*/);
-	mixin Singal!("printRequested", QWebFrame /*frame*/);
+	mixin Signal!("setCurrentTitle", string /*url*/);
+	mixin Signal!("showStatusBarMessage", string /*message*/);
+	mixin Signal!("linkHovered", string /*link*/);
+	mixin Signal!("loadProgress", int /*progress*/);
+	mixin Signal!("geometryChangeRequested", QRect /*geometry*/);
+	mixin Signal!("menuBarVisibilityChangeRequested", bool /*visible*/);
+	mixin Signal!("statusBarVisibilityChangeRequested", bool /*visible*/);
+	mixin Signal!("toolBarVisibilityChangeRequested", bool /*visible*/);
+	mixin Signal!("printRequested", QWebFrame /*frame*/);
 
 public:
 
@@ -381,10 +382,10 @@
 
 		m_previousTabAction = new QAction(tr("Show Previous Tab"), this);
 		shortcuts.clear();
-		shortcuts ~= QKeySequence(Qt.CTRL | Qt.Key_BraceLeft);
-		shortcuts ~= QKeySequence(Qt.CTRL | Qt.Key_PageUp);
-		shortcuts ~= QKeySequence(Qt.CTRL | Qt.Key_BracketLeft);
-		shortcuts ~= QKeySequence(Qt.CTRL | Qt.Key_Greater);
+		shortcuts ~= QKeySequence(Qt_Modifier.CTRL | Qt_Key.Key_BraceLeft);
+		shortcuts ~= QKeySequence(Qt_Modifier.CTRL | Qt_Key.Key_PageUp);
+		shortcuts ~= QKeySequence(Qt_Modifier.CTRL | Qt_Key.Key_BracketLeft);
+		shortcuts ~= QKeySequence(Qt_Modifier.CTRL | Qt_Key.Key_Greater);
 		m_previousTabAction.setShortcuts(shortcuts);
 		m_previousTabAction.triggered.connect(&this.previousTab);
 
@@ -400,7 +401,7 @@
 		m_lineEdits = new QStackedWidget(this);
 	}
 
-	void clear()
+	void clearTabs()
 	{
 		// clear the recently closed tabs
 		m_recentlyClosedTabs.length = 0;
@@ -497,8 +498,8 @@
 	QByteArray saveState()
 	{
 		int version_ = 1;
-		QByteArray data;
-		QDataStream stream(data, QIODevice.WriteOnly);
+		auto data = new QByteArray;
+		auto stream = new QDataStream(data, QIODevice.WriteOnly);
 
 		stream << cast(int) TabWidgetMagic;
 		stream << cast(int) version_;
@@ -506,9 +507,9 @@
 		string[] tabs;
 		for (int i = 0; i < count(); ++i) {
 			if (WebView tab = cast(WebView) widget(i)) {
-				tabs.append(tab.url().toString());
+				tabs ~= tab.getUrl().toString();
 			} else {
-				tabs.append(null); //QString.null);
+				tabs ~= null; //QString.null);
 			}
 		}
 		stream << tabs;
@@ -520,7 +521,7 @@
 	{
 		int version_ = 1;
 		QByteArray sd = state;
-		QDataStream stream(sd, QIODevice.ReadOnly);
+		auto stream = new QDataStream(sd, QIODevice.ReadOnly);
 		if (stream.atEnd())
 			return false;
 
@@ -665,7 +666,7 @@
 		if (index < 0 || index >= count())
 			return;
 		WebView tab = newTab(false);
-		tab.setUrl(webView(index).url());
+		tab.setUrl(webView(index).getUrl());
 	}
 
 	// When index is -1 index chooses the current tab
@@ -694,9 +695,9 @@
 			hasFocus = tab.hasFocus();
 
 			m_recentlyClosedTabsAction.setEnabled(true);
-			m_recentlyClosedTabs = [tab.url()] ~ m_recentlyClosedTabs;
+			m_recentlyClosedTabs = [tab.getUrl()] ~ m_recentlyClosedTabs;
 			if (m_recentlyClosedTabs.length >= TabWidget.m_recentlyClosedTabsSize)
-				m_recentlyClosedTabs.removeLast();
+				m_recentlyClosedTabs = m_recentlyClosedTabs[0..$-1];
 		}
 		QWidget lineEdit = m_lineEdits.widget(index);
 		m_lineEdits.removeWidget(lineEdit);
@@ -789,7 +790,7 @@
 		m_lineEdits.setCurrentIndex(index);
 		loadProgress.emit(webView.progress());
 		showStatusBarMessage.emit(webView.lastStatusBarText());
-		if (webView.url().isEmpty())
+		if (webView.getUrl().isEmpty())
 			m_lineEdits.currentWidget().setFocus();
 		else
 			webView.setFocus();
@@ -829,7 +830,7 @@
 		WebView webView = cast(WebView) signalSender();
 		int index = webViewIndex(webView);
 		if (-1 != index) {
-			QIcon icon = BrowserApplication.instance().icon(webView.url());
+			QIcon icon = BrowserApplication.instance().icon(webView.getUrl());
 			setTabIcon(index, icon);
 		}
 	}
@@ -843,7 +844,7 @@
 		}
 		if (currentIndex() == index)
 			setCurrentTitle.emit(title);
-		BrowserApplication.historyManager().updateHistoryItem(webView.url(), title);
+		BrowserApplication.historyManager().updateHistoryItem(webView.getUrl(), title);
 	}
 
 	void webViewUrlChanged(QUrl url)
--- a/demos/browser/toolbarsearch.d	Wed May 27 18:47:28 2009 +0000
+++ b/demos/browser/toolbarsearch.d	Thu May 28 22:11:52 2009 +0000
@@ -48,7 +48,7 @@
 import qt.gui.QMenu;
 import qt.gui.QStringListModel;
 
-import QtWebKit.QWebSettings;
+import qt.webkit.QWebSettings;
 
 import searchlineedit;
 import autosaver;
--- a/demos/browser/urllineedit.d	Wed May 27 18:47:28 2009 +0000
+++ b/demos/browser/urllineedit.d	Thu May 28 22:11:52 2009 +0000
@@ -43,7 +43,7 @@
 
 import qt.core.QUrl;
 import qt.core.QEvent;
-import qt.core.QDebug;
+//import qt.core.QDebug;
 
 import qt.gui.QWidget;
 import qt.gui.QStyleOptionFrame;
@@ -56,6 +56,8 @@
 import qt.gui.QPainter;
 import qt.gui.QStyle;
 import qt.gui.QStyleOptionFrameV2;
+import qt.gui.QLinearGradient;
+
 
 import browserapplication;
 import searchlineedit;
@@ -253,9 +255,9 @@
 				&& m_webView) {
 			QDrag drag = new QDrag(this);
 			QMimeData mimeData = new QMimeData;
-			mimeData.setText(QString.fromUtf8(m_webView.url().toEncoded()));
+			mimeData.setText(QString.fromUtf8(m_webView.getUrl().toEncoded()));
 			QUrl[] urls;
-			urls ~= m_webView.url();
+			urls ~= m_webView.getUrl();
 			mimeData.setUrls(urls);
 			drag.setMimeData(mimeData);
 			drag.exec();
@@ -302,7 +304,7 @@
 	void paintEvent(QPaintEvent event)
 	{
 		QPalette p = palette();
-		if (m_webView && m_webView.url().scheme() == "https") {
+		if (m_webView && m_webView.getUrl().scheme() == "https") {
 			auto lightYellow = new QColor(248, 248, 210);
 			p.setBrush(QPalette.Base, generateGradient(lightYellow));
 		} else {
@@ -329,7 +331,7 @@
 	void focusOutEvent(QFocusEvent event)
 	{
 		if (m_lineEdit.text().isEmpty() && m_webView)
-			m_lineEdit.setText(QString.fromUtf8(m_webView.url().toEncoded()));
+			m_lineEdit.setText(QString.fromUtf8(m_webView.getUrl().toEncoded()));
 		ExLineEdit.focusOutEvent(event);
 	}
 
@@ -343,7 +345,7 @@
 
 	void webViewIconChanged()
 	{
-		QUrl url = m_webView ? m_webView.url() : new QUrl();
+		QUrl url = m_webView ? m_webView.getUrl() : new QUrl();
 		QIcon icon = BrowserApplication.instance().icon(url);
 		auto pixmap = new QPixmap(icon.pixmap(16, 16));
 		m_iconLabel.setPixmap(pixmap);
--- a/demos/browser/webview.d	Wed May 27 18:47:28 2009 +0000
+++ b/demos/browser/webview.d	Thu May 28 22:11:52 2009 +0000
@@ -44,14 +44,15 @@
 import qt.gui.QMenu;
 import qt.gui.QMessageBox;
 import qt.gui.QMouseEvent;
-
-import qt.core.QDebug;
+//import qt.core.QDebug;
 import qt.core.QBuffer;
 
-import QtWebKit.QWebView;
-import QtWebKit.QWebHitTestResult;
-import QtUiTools.QUiLoader;
-
+import qt.webkit.QWebView;
+import qt.webkit.QWebHitTestResult;
+version(QT_NO_UITOOLS) {} else
+{
+	import qt.uitools.QUiLoader;
+}
 import browserapplication;
 import browsermainwindow;
 import cookiejar;
@@ -69,8 +70,8 @@
 	this(QObject parent = null)
 	{
 		super(parent);
-		m_keyboardModifiers = Qt.NoModifier;
-		m_pressedButtons = Qt.NoButton;
+		m_keyboardModifiers = Qt_KeyboardModifier.NoModifier;
+		m_pressedButtons = Qt_MouseButton.NoButton;
 		m_openInNewTab = false;
 		setNetworkAccessManager(BrowserApplication.networkAccessManager());
 		this.unsupportedContent.connect(&this.handleUnsupportedContent);
@@ -95,9 +96,9 @@
 		// ctrl-shift open in new tab and select
 		// ctrl-alt open in new window
 		if (type == QWebPage.NavigationTypeLinkClicked
-			&& (m_keyboardModifiers & Qt.ControlModifier
-			|| m_pressedButtons == Qt.MidButton)) {
-			bool newWindow = (m_keyboardModifiers & Qt.AltModifier);
+			&& (m_keyboardModifiers & Qt_KeyboardModifier.ControlModifier
+			|| m_pressedButtons == Qt_MouseButton.MidButton)) {
+			bool newWindow = (m_keyboardModifiers & Qt_KeyboardModifier.AltModifier);
 			WebView webView;
 			if (newWindow) {
 				BrowserApplication.instance().newMainWindow();
@@ -107,12 +108,12 @@
 				newMainWindow.activateWindow();
 				webView.setFocus();
 			} else {
-				bool selectNewTab = (m_keyboardModifiers & Qt.ShiftModifier);
+				bool selectNewTab = (m_keyboardModifiers & Qt_KeyboardModifier.ShiftModifier);
 				webView = mainWindow().tabWidget().newTab(selectNewTab);
 			}
 			webView.load(request);
-			m_keyboardModifiers = Qt.NoModifier;
-			m_pressedButtons = Qt.NoButton;
+			m_keyboardModifiers = Qt_KeyboardModifier.NoModifier;
+			m_pressedButtons = Qt_MouseButton.NoButton;
 			return false;
 		}
 		if (frame == mainFrame()) {
@@ -124,7 +125,7 @@
 
 	QWebPage createWindow(QWebPage.WebWindowType type)
 	{
-		if (m_keyboardModifiers & Qt.ControlModifier || m_pressedButtons == Qt.MidButton)
+		if (m_keyboardModifiers & Qt_KeyboardModifier.ControlModifier || m_pressedButtons == Qt_MouseButton.MidButton)
 			m_openInNewTab = true;
 		if (m_openInNewTab) {
 			m_openInNewTab = false;
@@ -191,8 +192,8 @@
 private:
 
 	// set the webview mousepressedevent
-	Qt.KeyboardModifiers m_keyboardModifiers;
-	Qt.MouseButtons m_pressedButtons;
+	Qt_KeyboardModifier m_keyboardModifiers;
+	Qt_MouseButton m_pressedButtons;
 	bool m_openInNewTab;
 	QUrl m_loadingUrl;
 }
@@ -223,7 +224,7 @@
 		load(url);
 	}
 
-	QUrl url()
+	QUrl getUrl()
 	{
 		QUrl url = QWebView.url();
 		if (!url.isEmpty())
@@ -253,7 +254,7 @@
 	void mouseReleaseEvent(QMouseEvent event)
 	{
 		QWebView.mouseReleaseEvent(event);
-		if (!event.isAccepted() && (m_page.m_pressedButtons & Qt.MidButton)) {
+		if (!event.isAccepted() && (m_page.m_pressedButtons & Qt_MouseButton.MidButton)) {
 			auto url = new QUrl(QApplication.clipboard().text(QClipboard.Selection));
 			if (!url.isEmpty() && url.isValid() && !url.scheme().isEmpty()) {
 				setUrl(url);
@@ -304,7 +305,7 @@
 	void loadFinished()
 	{
 		if (100 != m_progress) {
-			qWarning() << "Received finished signal while progress is still:" << progress() << "Url:" << url();
+			qWarning("Received finished signal while progress is still:" ~ progress() ~ "Url:" ~ url());
 		}
 		m_progress = 0;
 	}
--- a/demos/browser/xbel.d	Wed May 27 18:47:28 2009 +0000
+++ b/demos/browser/xbel.d	Thu May 28 22:11:52 2009 +0000
@@ -42,7 +42,8 @@
 module xbel;
 
 
-import qt.core.QXmlStreamReader;
+import qt.xml.QXmlStreamReader;
+
 import qt.core.QDateTime;
 import qt.core.QFile;
 
@@ -58,7 +59,7 @@
 		Separator
 	};
 
-	this(Type type = Root, BookmarkNode parent = null)
+	this(Type type = Type.Root, BookmarkNode parent = null)
 	{
 		expanded = false;
 		m_parent = parent;
@@ -287,7 +288,7 @@
 	}
 }
 
-import qt.core.QXmlStreamWriter;
+import qt.xml.QXmlStreamWriter;
 
 class XbelWriter : public QXmlStreamWriter
 {