summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorDavid Boddie <david.boddie@nokia.com>2011-02-04 13:55:50 (GMT)
committerDavid Boddie <david.boddie@nokia.com>2011-02-04 13:55:50 (GMT)
commit47322c3e9eddeeb68d49445507af2d7cf154f3c7 (patch)
treed86c24071d4aaaa1ded75e5d6ee6682f9cb34847 /tools
parent5ee75c4a483405180788b5a4986dce2cf9360d86 (diff)
parentbc331aca61a2f212a347708c9d44a4fb092183fd (diff)
downloadQt-47322c3e9eddeeb68d49445507af2d7cf154f3c7.zip
Qt-47322c3e9eddeeb68d49445507af2d7cf154f3c7.tar.gz
Qt-47322c3e9eddeeb68d49445507af2d7cf154f3c7.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt into 4.7
Diffstat (limited to 'tools')
-rw-r--r--tools/designer/src/lib/shared/layout.cpp22
-rw-r--r--tools/designer/src/lib/shared/qlayout_widget.cpp3
-rw-r--r--tools/linguist/lupdate/qdeclarative.cpp2
-rw-r--r--tools/qml/loggerwidget.cpp29
-rw-r--r--tools/qml/loggerwidget.h4
-rw-r--r--tools/qml/main.cpp57
-rw-r--r--tools/qml/qdeclarativetester.cpp5
-rw-r--r--tools/qml/qml.pri17
-rw-r--r--tools/qml/qml.pro11
-rw-r--r--tools/qml/qmlruntime.cpp13
10 files changed, 105 insertions, 58 deletions
diff --git a/tools/designer/src/lib/shared/layout.cpp b/tools/designer/src/lib/shared/layout.cpp
index c9ffe71..9fe438b 100644
--- a/tools/designer/src/lib/shared/layout.cpp
+++ b/tools/designer/src/lib/shared/layout.cpp
@@ -996,13 +996,23 @@ bool Grid::shrinkFormLayoutSpans()
for (WidgetSet::const_iterator it = widgets.constBegin(); it != cend ; ++it) {
QWidget *w = *it;
int row, col, rowspan, colspan;
- locateWidget(w, row, col, rowspan, colspan);
+ if (!locateWidget(w, row, col, rowspan, colspan))
+ qDebug("ooops, widget '%s' does not fit in layout", w->objectName().toUtf8().constData());
const int maxColSpan = col == 0 ? 2 : 1;
const int newColSpan = qMin(colspan, maxColSpan);
const int newRowSpan = qMin(rowspan, maxRowSpan);
if (newColSpan != colspan || newRowSpan != rowspan) {
- setCells(QRect(col, row, colspan, rowspan), 0);
- setCells(QRect(col, row, newColSpan, newRowSpan), w);
+ // in case like this:
+ // W1 W1
+ // W1 W2
+ // do:
+ // W1 0
+ // 0 W2
+ for (int i = row; i < row + rowspan - 1; i++)
+ for (int j = col; j < col + colspan - 1; j++)
+ if (i > row + newColSpan - 1 || j > col + newRowSpan - 1)
+ if (cell(i, j) == w)
+ setCell(i, j, 0);
shrunk = true;
}
}
@@ -1177,11 +1187,7 @@ void GridLayout<GridLikeLayout, LayoutType, GridMode>::doLayout()
if (const Spacer *spacer = qobject_cast<const Spacer*>(w))
alignment = spacer->alignment();
- if (rs * cs == 1) {
- addWidgetToGrid(layout, w, r, c, 1, 1, alignment);
- } else {
- addWidgetToGrid(layout, w, r, c, rs, cs, alignment);
- }
+ addWidgetToGrid(layout, w, r, c, rs, cs, alignment);
w->show();
} else {
diff --git a/tools/designer/src/lib/shared/qlayout_widget.cpp b/tools/designer/src/lib/shared/qlayout_widget.cpp
index 20db606..4debb5e 100644
--- a/tools/designer/src/lib/shared/qlayout_widget.cpp
+++ b/tools/designer/src/lib/shared/qlayout_widget.cpp
@@ -1181,8 +1181,7 @@ QRect LayoutHelper::itemInfo(QLayout *lt, const QWidget *widget) const
} else {
for (int c = 0; c < FormLayoutColumns; c++) {
const QFormLayout::ItemRole role = c == 0 ? QFormLayout::LabelRole : QFormLayout::FieldRole;
- if (widgets[c]) {
- Q_ASSERT(BoxLayoutHelper::findItemOfWidget(items, widgets[c]));
+ if (widgets[c] && BoxLayoutHelper::findItemOfWidget(items, widgets[c])) {
formLayout->setWidget(r, role, widgets[c]);
} else {
formLayout->setItem(r, role, createFormSpacer());
diff --git a/tools/linguist/lupdate/qdeclarative.cpp b/tools/linguist/lupdate/qdeclarative.cpp
index b85b1a7..1c1e9ad 100644
--- a/tools/linguist/lupdate/qdeclarative.cpp
+++ b/tools/linguist/lupdate/qdeclarative.cpp
@@ -225,7 +225,7 @@ protected:
const QString id = literal->value->asString();
bool plural = node->arguments->next;
- TranslatorMessage msg(QString(), QString(),
+ TranslatorMessage msg(QString(), sourcetext,
QString(), QString(), m_fileName,
node->firstSourceLocation().startLine, QStringList(),
TranslatorMessage::Unfinished, plural);
diff --git a/tools/qml/loggerwidget.cpp b/tools/qml/loggerwidget.cpp
index 4c21b34..3f2337a 100644
--- a/tools/qml/loggerwidget.cpp
+++ b/tools/qml/loggerwidget.cpp
@@ -45,6 +45,8 @@
#include <QActionGroup>
#include <QMenu>
#include <QPlainTextEdit>
+#include <QLabel>
+#include <QVBoxLayout>
#ifdef Q_WS_MAEMO_5
# include <QScrollArea>
# include <QVBoxLayout>
@@ -64,6 +66,19 @@ LoggerWidget::LoggerWidget(QWidget *parent) :
m_plainTextEdit = new QPlainTextEdit();
+#if defined(Q_OS_SYMBIAN)
+ QAction* clearAction = new QAction(tr("Clear"), this);
+ clearAction->setSoftKeyRole(QAction::PositiveSoftKey);
+ connect(clearAction, SIGNAL(triggered()), m_plainTextEdit, SLOT(clear()));
+ addAction(clearAction);
+
+ m_plainTextEdit->setReadOnly(true);
+ QAction* backAction = new QAction( tr("Back"), this );
+ backAction->setSoftKeyRole( QAction::NegativeSoftKey );
+ connect(backAction, SIGNAL(triggered()), this, SLOT(hide()));
+ addAction( backAction );
+#endif
+
#ifdef Q_WS_MAEMO_5
new TextEditAutoResizer(m_plainTextEdit);
setAttribute(Qt::WA_Maemo5StackedWindow);
@@ -74,6 +89,15 @@ LoggerWidget::LoggerWidget(QWidget *parent) :
#else
setCentralWidget(m_plainTextEdit);
#endif
+
+ m_noWarningsLabel = new QLabel(m_plainTextEdit);
+ m_noWarningsLabel->setText(tr("(No warnings)"));
+ m_noWarningsLabel->setAlignment(Qt::AlignVCenter | Qt::AlignHCenter);
+ QVBoxLayout *layout = new QVBoxLayout;
+ layout->addWidget(m_noWarningsLabel);
+ m_plainTextEdit->setLayout(layout);
+ connect(m_plainTextEdit, SIGNAL(textChanged()), this, SLOT(updateNoWarningsLabel()));
+
readSettings();
setupPreferencesMenu();
}
@@ -198,4 +222,9 @@ void LoggerWidget::setupPreferencesMenu()
}
}
+void LoggerWidget::updateNoWarningsLabel()
+{
+ m_noWarningsLabel->setVisible(m_plainTextEdit->toPlainText().length() == 0);
+}
+
QT_END_NAMESPACE
diff --git a/tools/qml/loggerwidget.h b/tools/qml/loggerwidget.h
index c677d11..a3e8871 100644
--- a/tools/qml/loggerwidget.h
+++ b/tools/qml/loggerwidget.h
@@ -48,6 +48,7 @@
QT_BEGIN_NAMESPACE
class QPlainTextEdit;
+class QLabel;
class QMenu;
class QAction;
@@ -66,6 +67,7 @@ public:
public slots:
void append(const QString &msg);
+ void updateNoWarningsLabel();
private slots:
void warningsPreferenceChanged(QAction *action);
@@ -86,7 +88,7 @@ private:
QMenu *m_preferencesMenu;
QAction *m_showWidgetAction;
QPlainTextEdit *m_plainTextEdit;
-
+ QLabel *m_noWarningsLabel;
enum ConfigOrigin { CommandLineOrigin, SettingsOrigin };
ConfigOrigin m_visibilityOrigin;
Visibility m_visibility;
diff --git a/tools/qml/main.cpp b/tools/qml/main.cpp
index 5846ff0..6ca6bfb 100644
--- a/tools/qml/main.cpp
+++ b/tools/qml/main.cpp
@@ -72,33 +72,15 @@ void exitApp(int i)
exit(i);
}
+QWeakPointer<LoggerWidget> logger;
+static QAtomicInt recursiveLock(0);
+
#if defined (Q_OS_SYMBIAN)
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
-
-void myMessageOutput(QtMsgType type, const char *msg)
-{
- static int fd = -1;
- if (fd == -1)
- fd = ::open("E:\\qml.log", O_WRONLY | O_CREAT);
-
- ::write(fd, msg, strlen(msg));
- ::write(fd, "\n", 1);
- ::fsync(fd);
-
- switch (type) {
- case QtFatalMsg:
- abort();
- }
-}
-
-#else // !defined (Q_OS_SYMBIAN)
-
-QWeakPointer<LoggerWidget> logger;
-
-static QAtomicInt recursiveLock(0);
+#endif
void myMessageOutput(QtMsgType type, const char *msg)
{
@@ -115,7 +97,21 @@ void myMessageOutput(QtMsgType type, const char *msg)
warnings += QLatin1Char('\n');
}
}
- if (systemMsgOutput) { // Windows
+#if defined (Q_OS_SYMBIAN)
+ static int fd = -1;
+ if (fd == -1)
+ fd = ::open("E:\\qml.log", O_WRONLY | O_CREAT);
+
+ ::write(fd, msg, strlen(msg));
+ ::write(fd, "\n", 1);
+ ::fsync(fd);
+ switch (type) {
+ case QtFatalMsg:
+ abort();
+ }
+#endif
+
+ if (systemMsgOutput) {
systemMsgOutput(type, msg);
} else { // Unix
fprintf(stderr, "%s\n", msg);
@@ -123,8 +119,6 @@ void myMessageOutput(QtMsgType type, const char *msg)
}
}
-#endif
-
static QDeclarativeViewer* globalViewer = 0;
// The qml file that is shown if the user didn't specify a QML file
@@ -469,7 +463,6 @@ static QDeclarativeViewer *createViewer()
viewer->setScript(opts.script);
}
-#if !defined(Q_OS_SYMBIAN)
logger = viewer->warningsWidget();
if (opts.warningsConfig == ShowWarnings) {
logger.data()->setDefaultVisibility(LoggerWidget::ShowWarnings);
@@ -477,7 +470,6 @@ static QDeclarativeViewer *createViewer()
} else if (opts.warningsConfig == HideWarnings){
logger.data()->setDefaultVisibility(LoggerWidget::HideWarnings);
}
-#endif
if (opts.experimentalGestures)
viewer->enableExperimentalGestures();
@@ -529,11 +521,7 @@ QDeclarativeViewer *openFile(const QString &fileName)
int main(int argc, char ** argv)
{
-#if defined (Q_OS_SYMBIAN)
- qInstallMsgHandler(myMessageOutput);
-#else
systemMsgOutput = qInstallMsgHandler(myMessageOutput);
-#endif
#if defined (Q_WS_X11) || defined (Q_WS_MAC)
//### default to using raster graphics backend for now
@@ -562,8 +550,11 @@ int main(int argc, char ** argv)
QTranslator qmlTranslator;
if (!opts.translationFile.isEmpty()) {
- qmlTranslator.load(opts.translationFile);
- app.installTranslator(&qmlTranslator);
+ if (qmlTranslator.load(opts.translationFile)) {
+ app.installTranslator(&qmlTranslator);
+ } else {
+ qWarning() << "Could not load the translation file" << opts.translationFile;
+ }
}
if (opts.fullScreen && opts.maximized)
diff --git a/tools/qml/qdeclarativetester.cpp b/tools/qml/qdeclarativetester.cpp
index 3f4be57..11f81fc 100644
--- a/tools/qml/qdeclarativetester.cpp
+++ b/tools/qml/qdeclarativetester.cpp
@@ -48,7 +48,10 @@
#include <QDir>
#include <QCryptographicHash>
#include <private/qabstractanimation_p.h>
+#include <QGraphicsObject>
+#ifndef Q_OS_SYMBIAN
#include <private/qdeclarativeitem_p.h>
+#endif
QT_BEGIN_NAMESPACE
@@ -266,7 +269,9 @@ void QDeclarativeTester::save()
void QDeclarativeTester::updateCurrentTime(int msec)
{
+#ifndef Q_OS_SYMBIAN
QDeclarativeItemPrivate::setConsistentTime(msec);
+#endif
if (!testscript && msec > 16 && options & QDeclarativeViewer::Snapshot)
return;
diff --git a/tools/qml/qml.pri b/tools/qml/qml.pri
index 5db7678..08cd506 100644
--- a/tools/qml/qml.pri
+++ b/tools/qml/qml.pri
@@ -19,10 +19,18 @@ SOURCES += $$PWD/qmlruntime.cpp \
RESOURCES = $$PWD/browser/browser.qrc \
$$PWD/startup/startup.qrc
-symbian:!contains(S60_VERSION, 3.1):!contains(S60_VERSION, 3.2) {
- SOURCES += $$PWD/deviceorientation_symbian.cpp
- FORMS = $$PWD/recopts.ui \
- $$PWD/proxysettings.ui
+symbian: {
+ contains(QT_CONFIG, s60): {
+ LIBS += -lavkon -lcone
+ }
+ !contains(S60_VERSION, 3.1):!contains(S60_VERSION, 3.2) {
+ LIBS += -lsensrvclient -lsensrvutil
+ }
+ !contains(S60_VERSION, 3.1):!contains(S60_VERSION, 3.2): {
+ SOURCES += $$PWD/deviceorientation_symbian.cpp
+ FORMS = $$PWD/recopts.ui \
+ $$PWD/proxysettings.ui
+ }
} else:maemo5 {
QT += dbus
HEADERS += $$PWD/texteditautoresizer_maemo5.h
@@ -39,3 +47,4 @@ symbian:!contains(S60_VERSION, 3.1):!contains(S60_VERSION, 3.2) {
FORMS = $$PWD/recopts.ui \
$$PWD/proxysettings.ui
}
+
diff --git a/tools/qml/qml.pro b/tools/qml/qml.pro
index bdac6e3..5d6192d 100644
--- a/tools/qml/qml.pro
+++ b/tools/qml/qml.pro
@@ -37,12 +37,11 @@ symbian {
include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
TARGET.EPOCHEAPSIZE = 0x20000 0x4000000
TARGET.CAPABILITY = NetworkServices ReadUserData
- !contains(S60_VERSION, 3.1):!contains(S60_VERSION, 3.2) {
- LIBS += -lsensrvclient -lsensrvutil
- }
- contains(QT_CONFIG, s60): {
- LIBS += -lavkon -lcone
- }
+
+ # Deploy plugin for remote debugging
+ qmldebuggingplugin.sources = $$QT_BUILD_TREE/plugins/qmldebugging/tcpserver$${QT_LIBINFIX}.dll
+ qmldebuggingplugin.path = c:$$QT_PLUGINS_BASE_DIR/qmldebugging
+ DEPLOYMENT += qmldebuggingplugin
}
mac {
QMAKE_INFO_PLIST=Info_mac.plist
diff --git a/tools/qml/qmlruntime.cpp b/tools/qml/qmlruntime.cpp
index 99c5b7a..36915d1 100644
--- a/tools/qml/qmlruntime.cpp
+++ b/tools/qml/qmlruntime.cpp
@@ -586,7 +586,6 @@ QNetworkAccessManager *NetworkAccessManagerFactory::create(QObject *parent)
}
connect(manager, SIGNAL(destroyed(QObject*)), this, SLOT(managerDestroyed(QObject*)));
namList.append(manager);
- qDebug() << "created new network access manager for" << parent;
return manager;
}
@@ -742,8 +741,10 @@ void QDeclarativeViewer::createMenu()
connect(slowAction, SIGNAL(triggered(bool)), this, SLOT(setSlowMode(bool)));
showWarningsWindow = new QAction(tr("Show Warnings"), this);
+#if !defined(Q_OS_SYMBIAN)
showWarningsWindow->setCheckable((true));
showWarningsWindow->setChecked(loggerWindow->isVisible());
+#endif
connect(showWarningsWindow, SIGNAL(triggered(bool)), this, SLOT(showWarnings(bool)));
QAction *proxyAction = new QAction(tr("HTTP &Proxy..."), this);
@@ -780,9 +781,11 @@ void QDeclarativeViewer::createMenu()
aboutAction->setMenuRole(QAction::AboutQtRole);
connect(aboutAction, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
+#if !defined(Q_OS_SYMBIAN)
QAction *closeAction = new QAction(tr("&Close"), this);
closeAction->setShortcuts(QKeySequence::Close);
connect(closeAction, SIGNAL(triggered()), this, SLOT(close()));
+#endif
QAction *quitAction = new QAction(tr("&Quit"), this);
quitAction->setMenuRole(QAction::QuitRole);
@@ -818,19 +821,19 @@ void QDeclarativeViewer::createMenu()
fileMenu->addAction(openAction);
fileMenu->addAction(openUrlAction);
fileMenu->addAction(reloadAction);
+#if !defined(Q_OS_SYMBIAN)
fileMenu->addSeparator();
fileMenu->addAction(closeAction);
-#if !defined(Q_OS_SYMBIAN)
fileMenu->addAction(quitAction);
QMenu *recordMenu = menu->addMenu(tr("&Recording"));
recordMenu->addAction(snapshotAction);
recordMenu->addAction(recordAction);
+#endif // ! Q_OS_SYMBIAN
QMenu *debugMenu = menu->addMenu(tr("&Debugging"));
debugMenu->addAction(slowAction);
debugMenu->addAction(showWarningsWindow);
-#endif // ! Q_OS_SYMBIAN
QMenu *settingsMenu = menu->addMenu(tr("&Settings"));
settingsMenu->addAction(proxyAction);
@@ -914,7 +917,11 @@ void QDeclarativeViewer::toggleFullScreen()
void QDeclarativeViewer::showWarnings(bool show)
{
+#if defined(Q_OS_SYMBIAN)
+ loggerWindow->showMaximized();
+#else
loggerWindow->setVisible(show);
+#endif
}
void QDeclarativeViewer::warningsWidgetOpened()