Merge branch 'master' of git@scm.dev.nokia.troll.no:creator/mainline
@@ -27,7 +27,8 @@ linux-* {
|
||||
}
|
||||
|
||||
macx {
|
||||
cp_docs.commands = $${QMAKE_COPY_DIR} $${OUT_PWD}/doc $${OUT_PWD}/bin/QtCreator.app/Contents/Resources
|
||||
DOC_DIR = $${OUT_PWD}/bin/QtCreator.app/Contents/Resources/doc
|
||||
cp_docs.commands = mkdir -p $${DOC_DIR} ; $${QMAKE_COPY} $${QCH_FILE} $${DOC_DIR}
|
||||
cp_docs.depends += qch_docs
|
||||
docs.depends = cp_docs
|
||||
QMAKE_EXTRA_TARGETS += html_docs qch_docs cp_docs docs
|
||||
|
@@ -6,7 +6,6 @@ count(TOO_OLD_LIST, 1) {
|
||||
}
|
||||
|
||||
include(doc/doc.pri)
|
||||
include(share/share.pri)
|
||||
|
||||
TEMPLATE = subdirs
|
||||
CONFIG += ordered
|
||||
|
@@ -14,7 +14,7 @@ macx {
|
||||
RUNINTERMINAL.path = Contents/Resources
|
||||
RUNINTERMINAL.files = $$PWD/qtcreator/runInTerminal.command
|
||||
QMAKE_BUNDLE_DATA += SNIPPETS TEMPLATES DESIGNER SCHEMES GDBDEBUGGER LICENSE RUNINTERMINAL
|
||||
QMAKE_INFO_PLIST = $$PWD/qtcreator/info.plist
|
||||
QMAKE_INFO_PLIST = $$PWD/qtcreator/Info.plist
|
||||
}
|
||||
|
||||
win32 {
|
||||
|
@@ -38,3 +38,5 @@ macx {
|
||||
ICON = qtcreator.icns
|
||||
}
|
||||
|
||||
include(../../share/share.pri)
|
||||
|
||||
|
@@ -158,7 +158,7 @@ void FancyTabBar::paintTab(QPainter *painter, int tabIndex) const
|
||||
QColor hoverColor;
|
||||
|
||||
if (hover) {
|
||||
hoverColor = QColor(255, 255, 255, m_hoverControl.currentFrame()*2);
|
||||
hoverColor = QColor(255, 255, 255, m_hoverControl.currentFrame());
|
||||
}
|
||||
|
||||
QColor light = QColor(255, 255, 255, 40);
|
||||
|
@@ -32,6 +32,9 @@
|
||||
***************************************************************************/
|
||||
|
||||
#include "fileiconprovider.h"
|
||||
#include <QtGui/QApplication>
|
||||
#include <QtGui/QStyle>
|
||||
#include <QtGui/QPainter>
|
||||
|
||||
using namespace Core;
|
||||
|
||||
@@ -48,7 +51,7 @@ using namespace Core;
|
||||
FileIconProvider *FileIconProvider::m_instance = 0;
|
||||
|
||||
FileIconProvider::FileIconProvider()
|
||||
: m_unknownFileIcon(QLatin1String(":/core/images/unknownfile.png"))
|
||||
: m_unknownFileIcon(qApp->style()->standardIcon(QStyle::SP_FileIcon))
|
||||
{
|
||||
}
|
||||
|
||||
@@ -76,7 +79,7 @@ QIcon FileIconProvider::icon(const QFileInfo &fileInfo)
|
||||
// same suffix (Mac OS X), but should speed up the retrieval a lot ...
|
||||
icon = m_systemIconProvider.icon(fileInfo);
|
||||
if (!suffix.isEmpty())
|
||||
registerIconForSuffix(icon, suffix);
|
||||
registerIconOverlayForSuffix(icon, suffix);
|
||||
#else
|
||||
if (fileInfo.isDir()) {
|
||||
icon = m_systemIconProvider.icon(fileInfo);
|
||||
@@ -89,11 +92,22 @@ QIcon FileIconProvider::icon(const QFileInfo &fileInfo)
|
||||
return icon;
|
||||
}
|
||||
|
||||
/*!
|
||||
Registers an icon for a given suffix, overriding any existing icon.
|
||||
*/
|
||||
void FileIconProvider::registerIconForSuffix(const QIcon &icon, const QString &suffix)
|
||||
// Creates a pixmap with baseicon at size and overlayous overlayIcon over it.
|
||||
QPixmap FileIconProvider::overlayIcon(QStyle::StandardPixmap baseIcon, const QIcon &overlayIcon, const QSize &size) const
|
||||
{
|
||||
QPixmap iconPixmap = qApp->style()->standardIcon(baseIcon).pixmap(size);
|
||||
QPainter painter(&iconPixmap);
|
||||
painter.drawPixmap(0, 0, overlayIcon.pixmap(size));
|
||||
painter.end();
|
||||
return iconPixmap;
|
||||
}
|
||||
|
||||
/*!
|
||||
Registers an icon for a given suffix, overlaying the system file icon
|
||||
*/
|
||||
void FileIconProvider::registerIconOverlayForSuffix(const QIcon &icon, const QString &suffix)
|
||||
{
|
||||
QPixmap fileIconPixmap = overlayIcon(QStyle::SP_FileIcon, icon, QSize(16, 16));
|
||||
// delete old icon, if it exists
|
||||
QList<QPair<QString,QIcon> >::iterator iter = m_cache.begin();
|
||||
for (; iter != m_cache.end(); ++iter) {
|
||||
@@ -103,7 +117,7 @@ void FileIconProvider::registerIconForSuffix(const QIcon &icon, const QString &s
|
||||
}
|
||||
}
|
||||
|
||||
QPair<QString,QIcon> newEntry(suffix, icon);
|
||||
QPair<QString,QIcon> newEntry(suffix, fileIconPixmap);
|
||||
m_cache.append(newEntry);
|
||||
}
|
||||
|
||||
|
@@ -40,6 +40,7 @@
|
||||
#include <QtCore/QPair>
|
||||
#include <QtGui/QFileIconProvider>
|
||||
#include <QtGui/QIcon>
|
||||
#include <QtGui/QStyle>
|
||||
|
||||
namespace Core {
|
||||
|
||||
@@ -48,7 +49,8 @@ public:
|
||||
~FileIconProvider(); // used to clear the cache
|
||||
QIcon icon(const QFileInfo &fileInfo);
|
||||
|
||||
void registerIconForSuffix(const QIcon &icon, const QString &suffix);
|
||||
QPixmap overlayIcon(QStyle::StandardPixmap baseIcon, const QIcon &overlayIcon, const QSize &size) const;
|
||||
void registerIconOverlayForSuffix(const QIcon &icon, const QString &suffix);
|
||||
|
||||
static FileIconProvider *instance();
|
||||
|
||||
|
Before Width: | Height: | Size: 345 B After Width: | Height: | Size: 345 B |
Before Width: | Height: | Size: 435 B After Width: | Height: | Size: 408 B |
@@ -200,9 +200,13 @@ int ManhattanStyle::layoutSpacingImplementation(QSizePolicy::ControlType control
|
||||
QSize ManhattanStyle::sizeFromContents(ContentsType type, const QStyleOption *option,
|
||||
const QSize &size, const QWidget *widget) const
|
||||
{
|
||||
QSize newSize = d->style->sizeFromContents(type, option, size, widget);
|
||||
|
||||
if (type == CT_Splitter && widget && widget->property("minisplitter").toBool())
|
||||
return QSize(1, 1);
|
||||
return d->style->sizeFromContents(type, option, size, widget);
|
||||
else if (type == CT_ComboBox && panelWidget(widget))
|
||||
newSize += QSize(10, 0);
|
||||
return newSize;
|
||||
}
|
||||
|
||||
QRect ManhattanStyle::subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const
|
||||
@@ -384,15 +388,20 @@ QPixmap ManhattanStyle::standardPixmap(StandardPixmap standardPixmap, const QSty
|
||||
int ManhattanStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidget *widget,
|
||||
QStyleHintReturn *returnData) const
|
||||
{
|
||||
int ret = 0;
|
||||
int ret = d->style->styleHint(hint, option, widget, returnData);
|
||||
switch (hint) {
|
||||
// Make project explorer alternate rows all the way
|
||||
case QStyle::SH_ItemView_PaintAlternatingRowColorsForEmptyArea:
|
||||
if (widget && widget->property("AlternateEmpty").toBool())
|
||||
ret = true;
|
||||
break;
|
||||
case QStyle::SH_EtchDisabledText:
|
||||
ret = false; // We really should only enforce this for panel widgets
|
||||
if (panelWidget(widget))
|
||||
ret = false;
|
||||
break;
|
||||
default:
|
||||
ret = d->style->styleHint(hint, option, widget, returnData);
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -491,10 +500,10 @@ void ManhattanStyle::drawPrimitive(PrimitiveElement element, const QStyleOption
|
||||
if (pressed) {
|
||||
QColor shade(0, 0, 0, 50);
|
||||
if (option->state & State_Sunken)
|
||||
shade = QColor(0, 0, 0, 70);
|
||||
shade = QColor(0, 0, 0, 50);
|
||||
#ifndef Q_WS_MAC
|
||||
else if (option->state & State_MouseOver)
|
||||
shade = QColor(255, 255, 255, 40);
|
||||
shade = QColor(255, 255, 255, 10);
|
||||
#endif
|
||||
else if (option->state & State_On)
|
||||
shade = QColor(0, 0, 0, 50);
|
||||
@@ -510,7 +519,7 @@ void ManhattanStyle::drawPrimitive(PrimitiveElement element, const QStyleOption
|
||||
}
|
||||
#ifndef Q_WS_MAC
|
||||
else if (option->state & State_MouseOver) {
|
||||
QColor lighter(255, 255, 255, 100);
|
||||
QColor lighter(255, 255, 255, 35);
|
||||
painter->fillRect(rect, lighter);
|
||||
painter->drawLine(rect.topRight(), rect.bottomRight());
|
||||
}
|
||||
@@ -656,8 +665,6 @@ void ManhattanStyle::drawPrimitive(PrimitiveElement element, const QStyleOption
|
||||
int sx = sqsize / 2 - bounds.center().x() - 1;
|
||||
int sy = sqsize / 2 - bounds.center().y() - 1;
|
||||
imagePainter.translate(sx + bsx, sy + bsy);
|
||||
imagePainter.setPen(option->palette.buttonText().color());
|
||||
imagePainter.setBrush(option->palette.buttonText());
|
||||
|
||||
if (!(option->state & State_Enabled)) {
|
||||
imagePainter.translate(1, 1);
|
||||
@@ -667,8 +674,17 @@ void ManhattanStyle::drawPrimitive(PrimitiveElement element, const QStyleOption
|
||||
imagePainter.translate(-1, -1);
|
||||
imagePainter.setBrush(option->palette.mid().color());
|
||||
imagePainter.setPen(option->palette.mid().color());
|
||||
} else {
|
||||
QColor shadow(0, 0, 0, 50);
|
||||
imagePainter.translate(0, 1);
|
||||
imagePainter.setPen(shadow);
|
||||
imagePainter.setBrush(shadow);
|
||||
QColor foreGround(255, 255, 255, 220);
|
||||
imagePainter.drawPolygon(a);
|
||||
imagePainter.translate(0, -1);
|
||||
imagePainter.setPen(foreGround);
|
||||
imagePainter.setBrush(foreGround);
|
||||
}
|
||||
|
||||
imagePainter.drawPolygon(a);
|
||||
imagePainter.end();
|
||||
pixmap = QPixmap::fromImage(image);
|
||||
@@ -766,7 +782,8 @@ void ManhattanStyle::drawControl(ControlElement element, const QStyleOption *opt
|
||||
|
||||
customPal.setBrush(QPalette::All, QPalette::ButtonText, QColor(0, 0, 0, 70));
|
||||
|
||||
QRect rect = editRect.adjusted(1, 0, -8, 0);
|
||||
// Reserve some space for the down-arrow
|
||||
QRect rect = editRect.adjusted(0, 0, -8, 0);
|
||||
QString text = option->fontMetrics.elidedText(cb->currentText, Qt::ElideRight, rect.width());
|
||||
drawItemText(painter, rect.translated(0, 1),
|
||||
visualAlignment(option->direction, Qt::AlignLeft | Qt::AlignVCenter),
|
||||
@@ -998,10 +1015,21 @@ void ManhattanStyle::drawComplexControl(ComplexControl control, const QStyleOpti
|
||||
painter->save();
|
||||
|
||||
// Draw tool button
|
||||
QLinearGradient grad(option->rect.topRight(), option->rect.bottomRight());
|
||||
grad.setColorAt(0, Qt::transparent);
|
||||
grad.setColorAt(0.4, QColor(255, 255, 255, 30));
|
||||
grad.setColorAt(1, Qt::transparent);
|
||||
painter->setPen(QPen(grad, 0));
|
||||
painter->drawLine(rect.topRight(), rect.bottomRight());
|
||||
grad.setColorAt(0, Qt::transparent);
|
||||
grad.setColorAt(0.4, QColor(0, 0, 0, 30));
|
||||
grad.setColorAt(1, Qt::transparent);
|
||||
painter->setPen(QPen(grad, 0));
|
||||
painter->drawLine(rect.topRight() - QPoint(1,0), rect.bottomRight() - QPoint(1,0));
|
||||
drawPrimitive(PE_PanelButtonTool, option, painter, widget);
|
||||
|
||||
// Draw arrow
|
||||
int menuButtonWidth = 16;
|
||||
int menuButtonWidth = 12;
|
||||
bool reverse = option->direction == Qt::RightToLeft;
|
||||
int left = !reverse ? rect.right() - menuButtonWidth : rect.left();
|
||||
int right = !reverse ? rect.right() : rect.left() + menuButtonWidth;
|
||||
|
@@ -75,9 +75,9 @@ CppPluginEditorFactory::CppPluginEditorFactory(CppPlugin *owner) :
|
||||
<< QLatin1String(CppEditor::Constants::CPP_SOURCE_MIMETYPE)
|
||||
<< QLatin1String(CppEditor::Constants::CPP_HEADER_MIMETYPE);
|
||||
Core::FileIconProvider *iconProvider = Core::FileIconProvider::instance();
|
||||
iconProvider->registerIconForSuffix(QIcon(":/cppeditor/images/qt_cpp.png"),
|
||||
iconProvider->registerIconOverlayForSuffix(QIcon(":/cppeditor/images/qt_cpp.png"),
|
||||
QLatin1String("cpp"));
|
||||
iconProvider->registerIconForSuffix(QIcon(":/cppeditor/images/qt_h.png"),
|
||||
iconProvider->registerIconOverlayForSuffix(QIcon(":/cppeditor/images/qt_h.png"),
|
||||
QLatin1String("h"));
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 561 B After Width: | Height: | Size: 282 B |
Before Width: | Height: | Size: 448 B After Width: | Height: | Size: 492 B |
@@ -5,6 +5,7 @@ Including cpp.pri in designer.pro enables them and defines
|
||||
CPP_ENABLED.
|
||||
|
||||
Resource handling:
|
||||
------------------
|
||||
|
||||
When the editor is opened for the ui file we remember the internal qrc list
|
||||
read from the ui file (m_originalUiQrcPaths). In next step (a call to
|
||||
@@ -35,3 +36,11 @@ designer's internal file watcher updates the changes to qrc files silently.
|
||||
|
||||
A call to setResourceEditingEnabled(false) removes the edit resources action
|
||||
form resource browser in designer
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
The plugin accesses some private headers of Qt Designer 4.5.
|
||||
Copies of them are located in qt_private to achieve a clean build
|
||||
from a standard Qt distribution. The script syncqtheader.sh
|
||||
can be used to update them.
|
||||
|
@@ -52,7 +52,7 @@ FormEditorFactory::FormEditorFactory()
|
||||
m_mimeTypes(QLatin1String(FORM_MIMETYPE))
|
||||
{
|
||||
Core::FileIconProvider *iconProvider = Core::FileIconProvider::instance();
|
||||
iconProvider->registerIconForSuffix(QIcon(":/formeditor/images/qt_ui.png"),
|
||||
iconProvider->registerIconOverlayForSuffix(QIcon(":/formeditor/images/qt_ui.png"),
|
||||
QLatin1String("ui"));
|
||||
}
|
||||
|
||||
|
@@ -48,11 +48,11 @@
|
||||
#include <utils/qtcassert.h>
|
||||
|
||||
#include <QtDesigner/QDesignerFormEditorPluginInterface>
|
||||
#include <QtDesigner/private/pluginmanager_p.h>
|
||||
#include <qt_private/pluginmanager_p.h>
|
||||
|
||||
#include <QtDesigner/private/iconloader_p.h> // createIconSet
|
||||
#include <QtDesigner/private/qdesigner_formwindowmanager_p.h>
|
||||
#include <QtDesigner/private/formwindowbase_p.h>
|
||||
#include <qt_private/iconloader_p.h> // createIconSet
|
||||
#include <qt_private/qdesigner_formwindowmanager_p.h>
|
||||
#include <qt_private/formwindowbase_p.h>
|
||||
#include <QtDesigner/QDesignerFormEditorInterface>
|
||||
#include <QtDesigner/QDesignerComponents>
|
||||
|
||||
@@ -84,8 +84,6 @@
|
||||
#include <QtCore/QDebug>
|
||||
#include <QtCore/QSettings>
|
||||
|
||||
enum { wantCodeGenerationAction = 0 };
|
||||
|
||||
static const char *editorWidgetStateKeyC = "editorWidgetState";
|
||||
static const char *settingsGroup = "Designer";
|
||||
|
||||
@@ -166,8 +164,7 @@ FormEditorW::FormEditorW() :
|
||||
m_core(Core::ICore::instance()),
|
||||
m_initStage(RegisterPlugins),
|
||||
m_actionGroupEditMode(0),
|
||||
m_actionPrint(0),
|
||||
m_actionGenerateCode(0)
|
||||
m_actionPrint(0)
|
||||
{
|
||||
if (Designer::Constants::Internal::debug)
|
||||
qDebug() << Q_FUNC_INFO;
|
||||
@@ -420,13 +417,6 @@ void FormEditorW::setupActions()
|
||||
m_actionGroupPreviewInStyle = m_fwm->actionGroupPreviewInStyle();
|
||||
mformtools->addMenu(createPreviewStyleMenu(am, m_actionGroupPreviewInStyle));
|
||||
|
||||
// Disabled since we cannot reliably locate uic.
|
||||
if (wantCodeGenerationAction) {
|
||||
m_actionGenerateCode = new QAction(tr("View &code"), this);
|
||||
addToolAction(m_actionGenerateCode, am, m_context,
|
||||
QLatin1String("FormEditor.ViewCode"), mformtools);
|
||||
connect(m_actionGenerateCode, SIGNAL(triggered()), this, SLOT(generateCode()));
|
||||
}
|
||||
// Form settings
|
||||
createSeparator(this, am, m_context, medit, QLatin1String("FormEditor.Edit.Separator2"), Core::Constants::G_EDIT_OTHER);
|
||||
|
||||
@@ -513,42 +503,6 @@ void FormEditorW::restoreSettings(const QSettings *s)
|
||||
}
|
||||
}
|
||||
|
||||
void FormEditorW::generateCode()
|
||||
{
|
||||
const FormWindowEditor *fww = activeFormWindow();
|
||||
if (!fww)
|
||||
return;
|
||||
|
||||
bool ok = false;
|
||||
QString errorMessage;
|
||||
|
||||
do {
|
||||
QByteArray header;
|
||||
if (!fww->generateCode(header, errorMessage))
|
||||
break;
|
||||
|
||||
QString tempPattern = QDir::tempPath();
|
||||
if (!tempPattern.endsWith(QDir::separator())) // platform-dependant
|
||||
tempPattern += QDir::separator();
|
||||
tempPattern += QLatin1String("ui_headerXXXXXX.h");
|
||||
QTemporaryFile headerFile(tempPattern);
|
||||
headerFile.setAutoRemove (false);
|
||||
if (!headerFile.open() || !headerFile.write(header)) {
|
||||
errorMessage = tr("Unable to write to a temporary file.");
|
||||
break;
|
||||
}
|
||||
const QString headerFileName = headerFile.fileName();
|
||||
headerFile.close();
|
||||
Core::IEditor *eif = m_core->editorManager()->openEditor(headerFileName);
|
||||
if (!eif) {
|
||||
errorMessage = tr("Unable open %1.").arg(headerFileName);
|
||||
break;
|
||||
}
|
||||
ok = true;
|
||||
} while (false);
|
||||
if (!ok)
|
||||
critical(errorMessage);
|
||||
}
|
||||
|
||||
void FormEditorW::critical(const QString &errorMessage)
|
||||
{
|
||||
@@ -621,8 +575,6 @@ void FormEditorW::activeFormWindowChanged(QDesignerFormWindowInterface *afw)
|
||||
}
|
||||
|
||||
m_actionPreview->setEnabled(foundFormWindow);
|
||||
if (m_actionGenerateCode)
|
||||
m_actionGenerateCode->setEnabled(foundFormWindow);
|
||||
m_actionGroupPreviewInStyle->setEnabled(foundFormWindow);
|
||||
}
|
||||
|
||||
|
@@ -120,7 +120,6 @@ public:
|
||||
FormWindowEditor *activeFormWindow();
|
||||
|
||||
private slots:
|
||||
void generateCode();
|
||||
void activateEditMode(int id);
|
||||
void activateEditMode(QAction*);
|
||||
void activeFormWindowChanged(QDesignerFormWindowInterface *);
|
||||
@@ -160,7 +159,6 @@ private:
|
||||
QList<SettingsPage *> m_settingsPages;
|
||||
QActionGroup *m_actionGroupEditMode;
|
||||
QAction *m_actionPrint;
|
||||
QAction *m_actionGenerateCode;
|
||||
QAction *m_actionPreview;
|
||||
QActionGroup *m_actionGroupPreviewInStyle;
|
||||
|
||||
|
@@ -34,7 +34,7 @@
|
||||
#include "formtemplatewizardpage.h"
|
||||
#include "formeditorw.h"
|
||||
|
||||
#include <QtDesigner/private/abstractnewformwidget_p.h>
|
||||
#include <qt_private/abstractnewformwidget_p.h>
|
||||
|
||||
#include <QtCore/QDebug>
|
||||
#include <QtCore/QXmlStreamReader>
|
||||
|
@@ -45,8 +45,8 @@
|
||||
#include <QtDesigner/QDesignerFormWindowInterface>
|
||||
#include <QtDesigner/QDesignerFormEditorInterface>
|
||||
#include <QtDesigner/QDesignerFormWindowManagerInterface>
|
||||
#include <QtDesigner/private/formwindowbase_p.h>
|
||||
#include <QtDesigner/private/qtresourcemodel_p.h>
|
||||
#include <qt_private/formwindowbase_p.h>
|
||||
#include <qt_private/qtresourcemodel_p.h>
|
||||
|
||||
#include <QtCore/QFile>
|
||||
#include <QtCore/QDir>
|
||||
@@ -300,33 +300,6 @@ QWidget *FormWindowEditor::widget()
|
||||
return m_editorWidget;
|
||||
}
|
||||
|
||||
bool FormWindowEditor::generateCode(QByteArray &header, QString &errorMessage) const
|
||||
{
|
||||
if (Designer::Constants::Internal::debug)
|
||||
qDebug() << Q_FUNC_INFO;
|
||||
|
||||
QString tempPattern = QDir::tempPath();
|
||||
if (!tempPattern.endsWith(QDir::separator())) // platform-dependant
|
||||
tempPattern += QDir::separator();
|
||||
tempPattern += QLatin1String("formXXXXXX.ui");
|
||||
QTemporaryFile uiFile(tempPattern);
|
||||
uiFile.setAutoRemove(true);
|
||||
if (!uiFile.open()) {
|
||||
errorMessage = tr("Unable to write to a temporary file.");
|
||||
return false;
|
||||
}
|
||||
if (!m_file->writeFile(uiFile, errorMessage)) {
|
||||
errorMessage = tr("Unable to write to a temporary file.");
|
||||
return false;
|
||||
}
|
||||
const QString uiFileName = uiFile.fileName();
|
||||
uiFile.close();
|
||||
|
||||
if (!qdesigner_internal::runUIC(uiFileName, qdesigner_internal::UIC_GenerateCode, header, errorMessage))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
QDesignerFormWindowInterface *FormWindowEditor::formWindow() const
|
||||
{
|
||||
|
@@ -87,8 +87,6 @@ public:
|
||||
QList<int> context() const;
|
||||
QWidget *widget();
|
||||
|
||||
// Internal
|
||||
bool generateCode(QByteArray &header, QString &errorMessage) const;
|
||||
QDesignerFormWindowInterface *formWindow() const;
|
||||
QWidget *integrationContainer();
|
||||
void updateFormWindowSelectionHandles(bool state);
|
||||
|
Before Width: | Height: | Size: 666 B After Width: | Height: | Size: 806 B |
80
src/plugins/designer/qt_private/abstractnewformwidget_p.h
Normal file
@@ -0,0 +1,80 @@
|
||||
/***************************************************************************
|
||||
**
|
||||
** This file is part of Qt Creator
|
||||
**
|
||||
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
**
|
||||
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||
**
|
||||
**
|
||||
** Non-Open Source Usage
|
||||
**
|
||||
** Licensees may use this file in accordance with the Qt Beta Version
|
||||
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||
** alternatively, in accordance with the terms contained in a written
|
||||
** agreement between you and Nokia.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
**
|
||||
** Alternatively, this file may be used under the terms of the GNU General
|
||||
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||
** of this file. Please review the following information to ensure GNU
|
||||
** General Public Licensing requirements will be met:
|
||||
**
|
||||
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||
** http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain additional
|
||||
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||
** version 1.3, included in the file GPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
***************************************************************************/
|
||||
|
||||
//
|
||||
// W A R N I N G
|
||||
// -------------
|
||||
//
|
||||
// This file is not part of the Qt API. It exists for the convenience
|
||||
// of Qt Designer. This header
|
||||
// file may change from version to version without notice, or even be removed.
|
||||
//
|
||||
// We mean it.
|
||||
//
|
||||
|
||||
#ifndef ABSTRACTNEWFORMWIDGET_H
|
||||
#define ABSTRACTNEWFORMWIDGET_H
|
||||
|
||||
#include <QtDesigner/sdk_global.h>
|
||||
|
||||
#include <QtGui/QWidget>
|
||||
|
||||
QT_BEGIN_HEADER
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QDesignerFormEditorInterface;
|
||||
|
||||
class QDESIGNER_SDK_EXPORT QDesignerNewFormWidgetInterface : public QWidget
|
||||
{
|
||||
Q_DISABLE_COPY(QDesignerNewFormWidgetInterface)
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit QDesignerNewFormWidgetInterface(QWidget *parent = 0);
|
||||
virtual ~QDesignerNewFormWidgetInterface();
|
||||
|
||||
virtual bool hasCurrentTemplate() const = 0;
|
||||
virtual QString currentTemplate(QString *errorMessage = 0) = 0;
|
||||
|
||||
static QDesignerNewFormWidgetInterface *createNewFormWidget(QDesignerFormEditorInterface *core, QWidget *parent = 0);
|
||||
|
||||
Q_SIGNALS:
|
||||
void templateActivated();
|
||||
void currentTemplateChanged(bool templateSelected);
|
||||
};
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
QT_END_HEADER
|
||||
|
||||
#endif // ABSTRACTNEWFORMWIDGET_H
|
71
src/plugins/designer/qt_private/abstractoptionspage_p.h
Normal file
@@ -0,0 +1,71 @@
|
||||
/***************************************************************************
|
||||
**
|
||||
** This file is part of Qt Creator
|
||||
**
|
||||
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
**
|
||||
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||
**
|
||||
**
|
||||
** Non-Open Source Usage
|
||||
**
|
||||
** Licensees may use this file in accordance with the Qt Beta Version
|
||||
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||
** alternatively, in accordance with the terms contained in a written
|
||||
** agreement between you and Nokia.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
**
|
||||
** Alternatively, this file may be used under the terms of the GNU General
|
||||
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||
** of this file. Please review the following information to ensure GNU
|
||||
** General Public Licensing requirements will be met:
|
||||
**
|
||||
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||
** http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain additional
|
||||
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||
** version 1.3, included in the file GPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
***************************************************************************/
|
||||
|
||||
//
|
||||
// W A R N I N G
|
||||
// -------------
|
||||
//
|
||||
// This file is not part of the Qt API. It exists for the convenience
|
||||
// of Qt Designer. This header
|
||||
// file may change from version to version without notice, or even be removed.
|
||||
//
|
||||
// We mean it.
|
||||
//
|
||||
|
||||
#ifndef ABSTRACTOPTIONSPAGE_P_H
|
||||
#define ABSTRACTOPTIONSPAGE_P_H
|
||||
|
||||
#include <QtDesigner/sdk_global.h>
|
||||
|
||||
QT_BEGIN_HEADER
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QString;
|
||||
class QWidget;
|
||||
|
||||
class QDESIGNER_SDK_EXPORT QDesignerOptionsPageInterface
|
||||
{
|
||||
public:
|
||||
virtual ~QDesignerOptionsPageInterface() {}
|
||||
virtual QString name() const = 0;
|
||||
virtual QWidget *createPage(QWidget *parent) = 0;
|
||||
virtual void apply() = 0;
|
||||
virtual void finish() = 0;
|
||||
};
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
QT_END_HEADER
|
||||
|
||||
#endif // ABSTRACTOPTIONSPAGE_P_H
|
79
src/plugins/designer/qt_private/abstractsettings_p.h
Normal file
@@ -0,0 +1,79 @@
|
||||
/***************************************************************************
|
||||
**
|
||||
** This file is part of Qt Creator
|
||||
**
|
||||
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
**
|
||||
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||
**
|
||||
**
|
||||
** Non-Open Source Usage
|
||||
**
|
||||
** Licensees may use this file in accordance with the Qt Beta Version
|
||||
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||
** alternatively, in accordance with the terms contained in a written
|
||||
** agreement between you and Nokia.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
**
|
||||
** Alternatively, this file may be used under the terms of the GNU General
|
||||
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||
** of this file. Please review the following information to ensure GNU
|
||||
** General Public Licensing requirements will be met:
|
||||
**
|
||||
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||
** http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain additional
|
||||
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||
** version 1.3, included in the file GPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
***************************************************************************/
|
||||
|
||||
//
|
||||
// W A R N I N G
|
||||
// -------------
|
||||
//
|
||||
// This file is not part of the Qt API. It exists for the convenience
|
||||
// of Qt Designer. This header
|
||||
// file may change from version to version without notice, or even be removed.
|
||||
//
|
||||
// We mean it.
|
||||
//
|
||||
|
||||
#ifndef ABSTRACTSETTINGS_P_H
|
||||
#define ABSTRACTSETTINGS_P_H
|
||||
|
||||
#include <QtDesigner/sdk_global.h>
|
||||
|
||||
#include <QVariant>
|
||||
|
||||
QT_BEGIN_HEADER
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QString;
|
||||
|
||||
/*!
|
||||
To be implemented by IDEs that want to control the way designer retrieves/stores its settings.
|
||||
*/
|
||||
class QDESIGNER_SDK_EXPORT QDesignerSettingsInterface
|
||||
{
|
||||
public:
|
||||
virtual ~QDesignerSettingsInterface() {}
|
||||
|
||||
virtual void beginGroup(const QString &prefix) = 0;
|
||||
virtual void endGroup() = 0;
|
||||
|
||||
virtual bool contains(const QString &key) const = 0;
|
||||
virtual void setValue(const QString &key, const QVariant &value) = 0;
|
||||
virtual QVariant value(const QString &key, const QVariant &defaultValue = QVariant()) const = 0;
|
||||
virtual void remove(const QString &key) = 0;
|
||||
};
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
QT_END_HEADER
|
||||
|
||||
#endif // ABSTRACTSETTINGS_P_H
|
194
src/plugins/designer/qt_private/formwindowbase_p.h
Normal file
@@ -0,0 +1,194 @@
|
||||
/***************************************************************************
|
||||
**
|
||||
** This file is part of Qt Creator
|
||||
**
|
||||
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
**
|
||||
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||
**
|
||||
**
|
||||
** Non-Open Source Usage
|
||||
**
|
||||
** Licensees may use this file in accordance with the Qt Beta Version
|
||||
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||
** alternatively, in accordance with the terms contained in a written
|
||||
** agreement between you and Nokia.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
**
|
||||
** Alternatively, this file may be used under the terms of the GNU General
|
||||
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||
** of this file. Please review the following information to ensure GNU
|
||||
** General Public Licensing requirements will be met:
|
||||
**
|
||||
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||
** http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain additional
|
||||
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||
** version 1.3, included in the file GPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
***************************************************************************/
|
||||
|
||||
//
|
||||
// W A R N I N G
|
||||
// -------------
|
||||
//
|
||||
// This file is not part of the Qt API. It exists for the convenience
|
||||
// of Qt Designer. This header
|
||||
// file may change from version to version without notice, or even be removed.
|
||||
//
|
||||
// We mean it.
|
||||
//
|
||||
|
||||
#ifndef FORMWINDOWBASE_H
|
||||
#define FORMWINDOWBASE_H
|
||||
|
||||
#include "shared_global_p.h"
|
||||
|
||||
#include <QtDesigner/QDesignerFormWindowInterface>
|
||||
|
||||
#include <QtCore/QVariantMap>
|
||||
#include <QtCore/QList>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QDesignerDnDItemInterface;
|
||||
class QMenu;
|
||||
class QtResourceSet;
|
||||
class QDesignerPropertySheet;
|
||||
|
||||
namespace qdesigner_internal {
|
||||
|
||||
class QEditorFormBuilder;
|
||||
class DeviceProfile;
|
||||
class Grid;
|
||||
|
||||
class DesignerPixmapCache;
|
||||
class DesignerIconCache;
|
||||
class FormWindowBasePrivate;
|
||||
|
||||
class QDESIGNER_SHARED_EXPORT FormWindowBase: public QDesignerFormWindowInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
enum HighlightMode { Restore, Highlight };
|
||||
enum SaveResourcesBehaviour { SaveAll, SaveOnlyUsedQrcFiles, DontSaveQrcFiles };
|
||||
|
||||
explicit FormWindowBase(QDesignerFormEditorInterface *core, QWidget *parent = 0, Qt::WindowFlags flags = 0);
|
||||
virtual ~FormWindowBase();
|
||||
|
||||
QVariantMap formData();
|
||||
void setFormData(const QVariantMap &vm);
|
||||
|
||||
// Return the widget containing the form. This is used to
|
||||
// apply embedded design settings to that are inherited (for example font).
|
||||
// These are meant to be applied to the form only and not to the other editors
|
||||
// in the widget stack.
|
||||
virtual QWidget *formContainer() const = 0;
|
||||
|
||||
// Deprecated
|
||||
virtual QPoint grid() const;
|
||||
|
||||
// Deprecated
|
||||
virtual void setGrid(const QPoint &grid);
|
||||
|
||||
virtual bool hasFeature(Feature f) const;
|
||||
virtual Feature features() const;
|
||||
virtual void setFeatures(Feature f);
|
||||
|
||||
const Grid &designerGrid() const;
|
||||
void setDesignerGrid(const Grid& grid);
|
||||
|
||||
bool hasFormGrid() const;
|
||||
void setHasFormGrid(bool b);
|
||||
|
||||
bool gridVisible() const;
|
||||
|
||||
SaveResourcesBehaviour saveResourcesBehaviour() const;
|
||||
void setSaveResourcesBehaviour(SaveResourcesBehaviour behaviour);
|
||||
|
||||
static const Grid &defaultDesignerGrid();
|
||||
static void setDefaultDesignerGrid(const Grid& grid);
|
||||
|
||||
// Overwrite to initialize and return a full popup menu for a managed widget
|
||||
virtual QMenu *initializePopupMenu(QWidget *managedWidget);
|
||||
// Helper to create a basic popup menu from task menu extensions (internal/public)
|
||||
static QMenu *createExtensionTaskMenu(QDesignerFormWindowInterface *fw, QObject *o, bool trailingSeparator = true);
|
||||
|
||||
virtual bool dropWidgets(const QList<QDesignerDnDItemInterface*> &item_list, QWidget *target,
|
||||
const QPoint &global_mouse_pos) = 0;
|
||||
|
||||
// Helper to find the widget at the mouse position with some flags.
|
||||
enum WidgetUnderMouseMode { FindSingleSelectionDropTarget, FindMultiSelectionDropTarget };
|
||||
QWidget *widgetUnderMouse(const QPoint &formPos, WidgetUnderMouseMode m);
|
||||
|
||||
virtual QWidget *widgetAt(const QPoint &pos) = 0;
|
||||
virtual QWidget *findContainer(QWidget *w, bool excludeLayout) const = 0;
|
||||
|
||||
void deleteWidgetList(const QWidgetList &widget_list);
|
||||
|
||||
virtual void highlightWidget(QWidget *w, const QPoint &pos, HighlightMode mode = Highlight) = 0;
|
||||
|
||||
enum PasteMode { PasteAll, PasteActionsOnly };
|
||||
virtual void paste(PasteMode pasteMode) = 0;
|
||||
|
||||
// Factory method to create a form builder
|
||||
virtual QEditorFormBuilder *createFormBuilder() = 0;
|
||||
|
||||
virtual bool blockSelectionChanged(bool blocked) = 0;
|
||||
virtual void emitSelectionChanged() = 0;
|
||||
|
||||
DesignerPixmapCache *pixmapCache() const;
|
||||
DesignerIconCache *iconCache() const;
|
||||
QtResourceSet *resourceSet() const;
|
||||
void setResourceSet(QtResourceSet *resourceSet);
|
||||
void addReloadableProperty(QDesignerPropertySheet *sheet, int index);
|
||||
void removeReloadableProperty(QDesignerPropertySheet *sheet, int index);
|
||||
void addReloadablePropertySheet(QDesignerPropertySheet *sheet, QObject *object);
|
||||
void removeReloadablePropertySheet(QDesignerPropertySheet *sheet);
|
||||
void reloadProperties();
|
||||
|
||||
void emitWidgetRemoved(QWidget *w);
|
||||
void emitObjectRemoved(QObject *o);
|
||||
|
||||
DeviceProfile deviceProfile() const;
|
||||
QString styleName() const;
|
||||
QString deviceProfileName() const;
|
||||
|
||||
enum LineTerminatorMode {
|
||||
LFLineTerminator,
|
||||
CRLFLineTerminator,
|
||||
NativeLineTerminator =
|
||||
#if defined (Q_OS_WIN)
|
||||
CRLFLineTerminator
|
||||
#else
|
||||
LFLineTerminator
|
||||
#endif
|
||||
};
|
||||
|
||||
void setLineTerminatorMode(LineTerminatorMode mode);
|
||||
LineTerminatorMode lineTerminatorMode() const;
|
||||
|
||||
// Connect the 'activated' (doubleclicked) signal of the form window to a
|
||||
// slot triggering the default action (of the task menu)
|
||||
static void setupDefaultAction(QDesignerFormWindowInterface *fw);
|
||||
|
||||
public slots:
|
||||
void resourceSetActivated(QtResourceSet *resourceSet, bool resourceSetChanged);
|
||||
|
||||
private slots:
|
||||
void triggerDefaultAction(QWidget *w);
|
||||
|
||||
private:
|
||||
void syncGridFeature();
|
||||
|
||||
FormWindowBasePrivate *m_d;
|
||||
};
|
||||
|
||||
} // namespace qdesigner_internal
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // FORMWINDOWBASE_H
|
64
src/plugins/designer/qt_private/iconloader_p.h
Normal file
@@ -0,0 +1,64 @@
|
||||
/***************************************************************************
|
||||
**
|
||||
** This file is part of Qt Creator
|
||||
**
|
||||
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
**
|
||||
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||
**
|
||||
**
|
||||
** Non-Open Source Usage
|
||||
**
|
||||
** Licensees may use this file in accordance with the Qt Beta Version
|
||||
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||
** alternatively, in accordance with the terms contained in a written
|
||||
** agreement between you and Nokia.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
**
|
||||
** Alternatively, this file may be used under the terms of the GNU General
|
||||
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||
** of this file. Please review the following information to ensure GNU
|
||||
** General Public Licensing requirements will be met:
|
||||
**
|
||||
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||
** http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain additional
|
||||
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||
** version 1.3, included in the file GPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
***************************************************************************/
|
||||
|
||||
//
|
||||
// W A R N I N G
|
||||
// -------------
|
||||
//
|
||||
// This file is not part of the Qt API. It exists for the convenience
|
||||
// of Qt Designer. This header
|
||||
// file may change from version to version without notice, or even be removed.
|
||||
//
|
||||
// We mean it.
|
||||
//
|
||||
|
||||
#ifndef ICONLOADER_H
|
||||
#define ICONLOADER_H
|
||||
|
||||
#include "shared_global_p.h"
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QString;
|
||||
class QIcon;
|
||||
|
||||
namespace qdesigner_internal {
|
||||
|
||||
QDESIGNER_SHARED_EXPORT QIcon createIconSet(const QString &name);
|
||||
QDESIGNER_SHARED_EXPORT QIcon emptyIcon();
|
||||
|
||||
} // namespace qdesigner_internal
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // ICONLOADER_H
|
143
src/plugins/designer/qt_private/pluginmanager_p.h
Normal file
@@ -0,0 +1,143 @@
|
||||
/***************************************************************************
|
||||
**
|
||||
** This file is part of Qt Creator
|
||||
**
|
||||
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
**
|
||||
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||
**
|
||||
**
|
||||
** Non-Open Source Usage
|
||||
**
|
||||
** Licensees may use this file in accordance with the Qt Beta Version
|
||||
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||
** alternatively, in accordance with the terms contained in a written
|
||||
** agreement between you and Nokia.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
**
|
||||
** Alternatively, this file may be used under the terms of the GNU General
|
||||
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||
** of this file. Please review the following information to ensure GNU
|
||||
** General Public Licensing requirements will be met:
|
||||
**
|
||||
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||
** http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain additional
|
||||
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||
** version 1.3, included in the file GPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
***************************************************************************/
|
||||
|
||||
//
|
||||
// W A R N I N G
|
||||
// -------------
|
||||
//
|
||||
// This file is not part of the Qt API. It exists for the convenience
|
||||
// of Qt Designer. This header
|
||||
// file may change from version to version without notice, or even be removed.
|
||||
//
|
||||
// We mean it.
|
||||
//
|
||||
|
||||
#ifndef PLUGINMANAGER_H
|
||||
#define PLUGINMANAGER_H
|
||||
|
||||
#include "shared_global_p.h"
|
||||
|
||||
#include <QtCore/QSharedDataPointer>
|
||||
#include <QtCore/QMap>
|
||||
#include <QtCore/QStringList>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QDesignerFormEditorInterface;
|
||||
class QDesignerCustomWidgetInterface;
|
||||
class QDesignerPluginManagerPrivate;
|
||||
|
||||
class QDesignerCustomWidgetSharedData;
|
||||
|
||||
/* Information contained in the Dom XML of a custom widget. */
|
||||
class QDESIGNER_SHARED_EXPORT QDesignerCustomWidgetData {
|
||||
public:
|
||||
explicit QDesignerCustomWidgetData(const QString &pluginPath = QString());
|
||||
|
||||
enum ParseResult { ParseOk, ParseWarning, ParseError };
|
||||
ParseResult parseXml(const QString &xml, const QString &name, QString *errorMessage);
|
||||
|
||||
QDesignerCustomWidgetData(const QDesignerCustomWidgetData&);
|
||||
QDesignerCustomWidgetData& operator=(const QDesignerCustomWidgetData&);
|
||||
~QDesignerCustomWidgetData();
|
||||
|
||||
bool isNull() const;
|
||||
|
||||
QString pluginPath() const;
|
||||
|
||||
// Data as parsed from the widget's domXML().
|
||||
QString xmlClassName() const;
|
||||
// Optional. The language the plugin is supposed to be used with.
|
||||
QString xmlLanguage() const;
|
||||
// Optional. method used to add pages to a container with a container extension
|
||||
QString xmlAddPageMethod() const;
|
||||
// Optional. Base class
|
||||
QString xmlExtends() const;
|
||||
// Optional. The name to be used in the widget box.
|
||||
QString xmlDisplayName() const;
|
||||
|
||||
private:
|
||||
QSharedDataPointer<QDesignerCustomWidgetSharedData> m_d;
|
||||
};
|
||||
|
||||
class QDESIGNER_SHARED_EXPORT QDesignerPluginManager: public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
typedef QList<QDesignerCustomWidgetInterface*> CustomWidgetList;
|
||||
|
||||
explicit QDesignerPluginManager(QDesignerFormEditorInterface *core);
|
||||
virtual ~QDesignerPluginManager();
|
||||
|
||||
QDesignerFormEditorInterface *core() const;
|
||||
|
||||
QObject *instance(const QString &plugin) const;
|
||||
|
||||
QStringList registeredPlugins() const;
|
||||
|
||||
QStringList findPlugins(const QString &path);
|
||||
|
||||
QStringList pluginPaths() const;
|
||||
void setPluginPaths(const QStringList &plugin_paths);
|
||||
|
||||
QStringList disabledPlugins() const;
|
||||
void setDisabledPlugins(const QStringList &disabled_plugins);
|
||||
|
||||
QStringList failedPlugins() const;
|
||||
QString failureReason(const QString &pluginName) const;
|
||||
|
||||
QObjectList instances() const;
|
||||
|
||||
CustomWidgetList registeredCustomWidgets() const;
|
||||
QDesignerCustomWidgetData customWidgetData(QDesignerCustomWidgetInterface *w) const;
|
||||
|
||||
bool registerNewPlugins();
|
||||
|
||||
public slots:
|
||||
bool syncSettings();
|
||||
void ensureInitialized();
|
||||
|
||||
private:
|
||||
void updateRegisteredPlugins();
|
||||
void registerPath(const QString &path);
|
||||
void registerPlugin(const QString &plugin);
|
||||
|
||||
private:
|
||||
static QStringList defaultPluginPaths();
|
||||
|
||||
QDesignerPluginManagerPrivate *m_d;
|
||||
};
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // PLUGINMANAGER_H
|
@@ -0,0 +1,90 @@
|
||||
/***************************************************************************
|
||||
**
|
||||
** This file is part of Qt Creator
|
||||
**
|
||||
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
**
|
||||
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||
**
|
||||
**
|
||||
** Non-Open Source Usage
|
||||
**
|
||||
** Licensees may use this file in accordance with the Qt Beta Version
|
||||
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||
** alternatively, in accordance with the terms contained in a written
|
||||
** agreement between you and Nokia.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
**
|
||||
** Alternatively, this file may be used under the terms of the GNU General
|
||||
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||
** of this file. Please review the following information to ensure GNU
|
||||
** General Public Licensing requirements will be met:
|
||||
**
|
||||
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||
** http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain additional
|
||||
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||
** version 1.3, included in the file GPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
***************************************************************************/
|
||||
|
||||
//
|
||||
// W A R N I N G
|
||||
// -------------
|
||||
//
|
||||
// This file is not part of the Qt API. It exists for the convenience
|
||||
// of Qt Designer. This header
|
||||
// file may change from version to version without notice, or even be removed.
|
||||
//
|
||||
// We mean it.
|
||||
//
|
||||
|
||||
#ifndef QDESIGNER_FORMWINDOMANAGER_H
|
||||
#define QDESIGNER_FORMWINDOMANAGER_H
|
||||
|
||||
#include "shared_global_p.h"
|
||||
#include <QtDesigner/QDesignerFormWindowManagerInterface>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
namespace qdesigner_internal {
|
||||
|
||||
class PreviewManager;
|
||||
|
||||
//
|
||||
// Convenience methods to manage form previews (ultimately forwarded to PreviewManager).
|
||||
//
|
||||
class QDESIGNER_SHARED_EXPORT QDesignerFormWindowManager
|
||||
: public QDesignerFormWindowManagerInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit QDesignerFormWindowManager(QObject *parent = 0);
|
||||
virtual ~QDesignerFormWindowManager();
|
||||
|
||||
virtual QAction *actionDefaultPreview() const;
|
||||
virtual QActionGroup *actionGroupPreviewInStyle() const;
|
||||
virtual QAction *actionShowFormWindowSettingsDialog() const;
|
||||
|
||||
virtual QPixmap createPreviewPixmap(QString *errorMessage) = 0;
|
||||
|
||||
virtual PreviewManager *previewManager() const = 0;
|
||||
|
||||
Q_SIGNALS:
|
||||
void formWindowSettingsChanged(QDesignerFormWindowInterface *fw);
|
||||
|
||||
public Q_SLOTS:
|
||||
virtual void closeAllPreviews() = 0;
|
||||
|
||||
private:
|
||||
void *m_unused;
|
||||
};
|
||||
|
||||
} // namespace qdesigner_internal
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // QDESIGNER_FORMWINDOMANAGER_H
|
142
src/plugins/designer/qt_private/qdesigner_integration_p.h
Normal file
@@ -0,0 +1,142 @@
|
||||
/***************************************************************************
|
||||
**
|
||||
** This file is part of Qt Creator
|
||||
**
|
||||
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
**
|
||||
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||
**
|
||||
**
|
||||
** Non-Open Source Usage
|
||||
**
|
||||
** Licensees may use this file in accordance with the Qt Beta Version
|
||||
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||
** alternatively, in accordance with the terms contained in a written
|
||||
** agreement between you and Nokia.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
**
|
||||
** Alternatively, this file may be used under the terms of the GNU General
|
||||
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||
** of this file. Please review the following information to ensure GNU
|
||||
** General Public Licensing requirements will be met:
|
||||
**
|
||||
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||
** http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain additional
|
||||
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||
** version 1.3, included in the file GPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
***************************************************************************/
|
||||
|
||||
//
|
||||
// W A R N I N G
|
||||
// -------------
|
||||
//
|
||||
// This file is not part of the Qt API. It exists for the convenience
|
||||
// of Qt Designer. This header
|
||||
// file may change from version to version without notice, or even be removed.
|
||||
//
|
||||
// We mean it.
|
||||
//
|
||||
|
||||
#ifndef QDESIGNER_INTEGRATION_H
|
||||
#define QDESIGNER_INTEGRATION_H
|
||||
|
||||
#include "shared_global_p.h"
|
||||
#include <QtDesigner/QDesignerIntegrationInterface>
|
||||
|
||||
#include <QtCore/QObject>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QDesignerFormEditorInterface;
|
||||
class QDesignerFormWindowInterface;
|
||||
class QDesignerResourceBrowserInterface;
|
||||
|
||||
class QVariant;
|
||||
class QWidget;
|
||||
|
||||
namespace qdesigner_internal {
|
||||
|
||||
struct Selection;
|
||||
class QDesignerIntegrationPrivate;
|
||||
|
||||
class QDESIGNER_SHARED_EXPORT QDesignerIntegration: public QDesignerIntegrationInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit QDesignerIntegration(QDesignerFormEditorInterface *core, QObject *parent = 0);
|
||||
virtual ~QDesignerIntegration();
|
||||
|
||||
static void requestHelp(const QDesignerFormEditorInterface *core, const QString &manual, const QString &document);
|
||||
|
||||
virtual QWidget *containerWindow(QWidget *widget) const;
|
||||
|
||||
// Load plugins into widget database and factory.
|
||||
static void initializePlugins(QDesignerFormEditorInterface *formEditor);
|
||||
void emitObjectNameChanged(QDesignerFormWindowInterface *formWindow, QObject *object,
|
||||
const QString &newName, const QString &oldName);
|
||||
void emitNavigateToSlot(const QString &objectName, const QString &signalSignature, const QStringList ¶meterNames);
|
||||
void emitNavigateToSlot(const QString &slotSignature);
|
||||
|
||||
// Create a resource browser specific to integration. Language integration takes precedence
|
||||
virtual QDesignerResourceBrowserInterface *createResourceBrowser(QWidget *parent = 0);
|
||||
|
||||
enum ResourceFileWatcherBehaviour {
|
||||
NoWatcher,
|
||||
ReloadSilently,
|
||||
PromptAndReload
|
||||
};
|
||||
|
||||
ResourceFileWatcherBehaviour resourceFileWatcherBehaviour() const;
|
||||
bool isResourceEditingEnabled() const;
|
||||
bool isSlotNavigationEnabled() const;
|
||||
|
||||
protected:
|
||||
|
||||
void setResourceFileWatcherBehaviour(ResourceFileWatcherBehaviour behaviour); // PromptAndReload by default
|
||||
void setResourceEditingEnabled(bool enable); // true by default
|
||||
void setSlotNavigationEnabled(bool enable); // false by default
|
||||
|
||||
signals:
|
||||
void propertyChanged(QDesignerFormWindowInterface *formWindow, const QString &name, const QVariant &value);
|
||||
void objectNameChanged(QDesignerFormWindowInterface *formWindow, QObject *object, const QString &newName, const QString &oldName);
|
||||
void helpRequested(const QString &manual, const QString &document);
|
||||
|
||||
void navigateToSlot(const QString &objectName, const QString &signalSignature, const QStringList ¶meterNames);
|
||||
void navigateToSlot(const QString &slotSignature);
|
||||
|
||||
public slots:
|
||||
virtual void updateProperty(const QString &name, const QVariant &value, bool enableSubPropertyHandling);
|
||||
// Additional signals of designer property editor
|
||||
virtual void resetProperty(const QString &name);
|
||||
virtual void addDynamicProperty(const QString &name, const QVariant &value);
|
||||
virtual void removeDynamicProperty(const QString &name);
|
||||
|
||||
virtual void updateActiveFormWindow(QDesignerFormWindowInterface *formWindow);
|
||||
virtual void setupFormWindow(QDesignerFormWindowInterface *formWindow);
|
||||
virtual void updateSelection();
|
||||
virtual void updateGeometry();
|
||||
virtual void activateWidget(QWidget *widget);
|
||||
|
||||
void updateCustomWidgetPlugins();
|
||||
|
||||
private slots:
|
||||
void updatePropertyPrivate(const QString &name, const QVariant &value);
|
||||
|
||||
private:
|
||||
void initialize();
|
||||
void getSelection(Selection &s);
|
||||
QObject *propertyEditorObject();
|
||||
|
||||
QDesignerIntegrationPrivate *m_d;
|
||||
};
|
||||
|
||||
} // namespace qdesigner_internal
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // QDESIGNER_INTEGRATION_H
|
136
src/plugins/designer/qt_private/qtresourcemodel_p.h
Normal file
@@ -0,0 +1,136 @@
|
||||
/***************************************************************************
|
||||
**
|
||||
** This file is part of Qt Creator
|
||||
**
|
||||
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
**
|
||||
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||
**
|
||||
**
|
||||
** Non-Open Source Usage
|
||||
**
|
||||
** Licensees may use this file in accordance with the Qt Beta Version
|
||||
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||
** alternatively, in accordance with the terms contained in a written
|
||||
** agreement between you and Nokia.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
**
|
||||
** Alternatively, this file may be used under the terms of the GNU General
|
||||
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||
** of this file. Please review the following information to ensure GNU
|
||||
** General Public Licensing requirements will be met:
|
||||
**
|
||||
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||
** http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain additional
|
||||
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||
** version 1.3, included in the file GPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
***************************************************************************/
|
||||
|
||||
//
|
||||
// W A R N I N G
|
||||
// -------------
|
||||
//
|
||||
// This file is not part of the Qt API. It exists for the convenience
|
||||
// of Qt Designer. This header
|
||||
// file may change from version to version without notice, or even be removed.
|
||||
//
|
||||
// We mean it.
|
||||
//
|
||||
|
||||
#ifndef QTRESOURCEMODEL_H
|
||||
#define QTRESOURCEMODEL_H
|
||||
|
||||
#include "shared_global_p.h"
|
||||
#include <QtCore/QMap>
|
||||
#include <QtCore/QObject>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QtResourceModel;
|
||||
|
||||
class QDESIGNER_SHARED_EXPORT QtResourceSet // one instance per one form
|
||||
{
|
||||
public:
|
||||
QStringList activeQrcPaths() const;
|
||||
|
||||
// activateQrcPaths(): if this QtResourceSet is active it emits resourceSetActivated();
|
||||
// otherwise only in case if active QtResource set contains one of
|
||||
// paths which was marked as modified by this resource set, the signal
|
||||
// is emitted (with reload = true);
|
||||
// If new path appears on the list it is automatically added to
|
||||
// loaded list of QtResourceModel. In addition it is marked as modified in case
|
||||
// QtResourceModel didn't contain the path.
|
||||
// If some path is removed from that list (and is not used in any other
|
||||
// resource set) it is automatically unloaded. The removed file can also be
|
||||
// marked as modified (later when another resource set which contains
|
||||
// removed path is activated will be reloaded)
|
||||
void activateQrcPaths(const QStringList &paths, int *errorCount = 0, QString *errorMessages = 0);
|
||||
|
||||
bool isModified(const QString &path) const; // for all paths in resource model (redundant here, maybe it should be removed from here)
|
||||
void setModified(const QString &path); // for all paths in resource model (redundant here, maybe it should be removed from here)
|
||||
private:
|
||||
QtResourceSet();
|
||||
QtResourceSet(QtResourceModel *model);
|
||||
~QtResourceSet();
|
||||
friend class QtResourceModel;
|
||||
|
||||
class QtResourceSetPrivate *d_ptr;
|
||||
Q_DECLARE_PRIVATE(QtResourceSet)
|
||||
Q_DISABLE_COPY(QtResourceSet)
|
||||
};
|
||||
|
||||
class QDESIGNER_SHARED_EXPORT QtResourceModel : public QObject // one instance per whole designer
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
QtResourceModel(QObject *parent = 0);
|
||||
~QtResourceModel();
|
||||
|
||||
QStringList loadedQrcFiles() const;
|
||||
bool isModified(const QString &path) const; // only for paths which are on loadedQrcFiles() list
|
||||
void setModified(const QString &path); // only for paths which are on loadedQrcPaths() list
|
||||
|
||||
QList<QtResourceSet *> resourceSets() const;
|
||||
|
||||
QtResourceSet *currentResourceSet() const;
|
||||
void setCurrentResourceSet(QtResourceSet *resourceSet, int *errorCount = 0, QString *errorMessages = 0);
|
||||
|
||||
QtResourceSet *addResourceSet(const QStringList &paths);
|
||||
void removeResourceSet(QtResourceSet *resourceSet);
|
||||
|
||||
void reload(const QString &path, int *errorCount = 0, QString *errorMessages = 0);
|
||||
void reload(int *errorCount = 0, QString *errorMessages = 0);
|
||||
|
||||
// Contents of the current resource set (content file to qrc path)
|
||||
QMap<QString, QString> contents() const;
|
||||
// Find the qrc file belonging to the contained file (from current resource set)
|
||||
QString qrcPath(const QString &file) const;
|
||||
|
||||
void setWatcherEnabled(bool enable);
|
||||
bool isWatcherEnabled() const;
|
||||
|
||||
void setWatcherEnabled(const QString &path, bool enable);
|
||||
bool isWatcherEnabled(const QString &path);
|
||||
|
||||
signals:
|
||||
void resourceSetActivated(QtResourceSet *resourceSet, bool resourceSetChanged); // resourceSetChanged since last time it was activated!
|
||||
void qrcFileModifiedExternally(const QString &path);
|
||||
|
||||
private:
|
||||
friend class QtResourceSet;
|
||||
|
||||
class QtResourceModelPrivate *d_ptr;
|
||||
Q_DECLARE_PRIVATE(QtResourceModel)
|
||||
Q_DISABLE_COPY(QtResourceModel)
|
||||
|
||||
Q_PRIVATE_SLOT(d_func(), void slotFileChanged(const QString &))
|
||||
};
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif
|
68
src/plugins/designer/qt_private/shared_global_p.h
Normal file
@@ -0,0 +1,68 @@
|
||||
/***************************************************************************
|
||||
**
|
||||
** This file is part of Qt Creator
|
||||
**
|
||||
** Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
**
|
||||
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||
**
|
||||
**
|
||||
** Non-Open Source Usage
|
||||
**
|
||||
** Licensees may use this file in accordance with the Qt Beta Version
|
||||
** License Agreement, Agreement version 2.2 provided with the Software or,
|
||||
** alternatively, in accordance with the terms contained in a written
|
||||
** agreement between you and Nokia.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
**
|
||||
** Alternatively, this file may be used under the terms of the GNU General
|
||||
** Public License versions 2.0 or 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||
** of this file. Please review the following information to ensure GNU
|
||||
** General Public Licensing requirements will be met:
|
||||
**
|
||||
** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||
** http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain additional
|
||||
** rights. These rights are described in the Nokia Qt GPL Exception
|
||||
** version 1.3, included in the file GPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
***************************************************************************/
|
||||
|
||||
//
|
||||
// W A R N I N G
|
||||
// -------------
|
||||
//
|
||||
// This file is not part of the Qt API. It exists for the convenience
|
||||
// of Qt Designer. This header
|
||||
// file may change from version to version without notice, or even be removed.
|
||||
//
|
||||
// We mean it.
|
||||
//
|
||||
|
||||
#ifndef SHARED_GLOBAL_H
|
||||
#define SHARED_GLOBAL_H
|
||||
|
||||
#include <QtCore/qglobal.h>
|
||||
|
||||
#ifdef QT_DESIGNER_STATIC
|
||||
#define QDESIGNER_SHARED_EXTERN
|
||||
#define QDESIGNER_SHARED_IMPORT
|
||||
#else
|
||||
#define QDESIGNER_SHARED_EXTERN Q_DECL_EXPORT
|
||||
#define QDESIGNER_SHARED_IMPORT Q_DECL_IMPORT
|
||||
#endif
|
||||
|
||||
#ifndef QT_NO_SHARED_EXPORT
|
||||
# ifdef QDESIGNER_SHARED_LIBRARY
|
||||
# define QDESIGNER_SHARED_EXPORT QDESIGNER_SHARED_EXTERN
|
||||
# else
|
||||
# define QDESIGNER_SHARED_EXPORT QDESIGNER_SHARED_IMPORT
|
||||
# endif
|
||||
#else
|
||||
# define QDESIGNER_SHARED_EXPORT
|
||||
#endif
|
||||
|
||||
#endif // SHARED_GLOBAL_H
|
@@ -34,7 +34,7 @@
|
||||
#ifndef SETTINGSMANAGER_H
|
||||
#define SETTINGSMANAGER_H
|
||||
|
||||
#include <QtDesigner/private/abstractsettings_p.h>
|
||||
#include <qt_private/abstractsettings_p.h>
|
||||
#include <QtCore/QSettings>
|
||||
|
||||
namespace Designer {
|
||||
|
@@ -34,7 +34,7 @@
|
||||
#include "settingspage.h"
|
||||
|
||||
#include <extensionsystem/pluginmanager.h>
|
||||
#include <QtDesigner/private/abstractoptionspage_p.h>
|
||||
#include <qt_private/abstractoptionspage_p.h>
|
||||
|
||||
using namespace Designer::Internal;
|
||||
|
||||
|
69
src/plugins/designer/syncqtheader.sh
Executable file
@@ -0,0 +1,69 @@
|
||||
#!/bin/sh
|
||||
|
||||
# **************************************************************************
|
||||
#
|
||||
# This file is part of Qt Creator
|
||||
#
|
||||
# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
#
|
||||
# Contact: Qt Software Information (qt-info@nokia.com)
|
||||
#
|
||||
#
|
||||
# Non-Open Source Usage
|
||||
#
|
||||
# Licensees may use this file in accordance with the Qt Beta Version
|
||||
# License Agreement, Agreement version 2.2 provided with the Software or,
|
||||
# alternatively, in accordance with the terms contained in a written
|
||||
# agreement between you and Nokia.
|
||||
#
|
||||
# GNU General Public License Usage
|
||||
#
|
||||
# Alternatively, this file may be used under the terms of the GNU General
|
||||
# Public License versions 2.0 or 3.0 as published by the Free Software
|
||||
# Foundation and appearing in the file LICENSE.GPL included in the packaging
|
||||
# of this file. Please review the following information to ensure GNU
|
||||
# General Public Licensing requirements will be met:
|
||||
#
|
||||
# http://www.fsf.org/licensing/licenses/info/GPLv2.html and
|
||||
# http://www.gnu.org/copyleft/gpl.html.
|
||||
#
|
||||
# In addition, as a special exception, Nokia gives you certain additional
|
||||
# rights. These rights are described in the Nokia Qt GPL Exception
|
||||
# version 1.3, included in the file GPL_EXCEPTION.txt in this package.
|
||||
#
|
||||
# ***************************************************************************/
|
||||
|
||||
# Internal utility script that synchronizes the Qt Designer private headers
|
||||
# used by the Qt Designer plugin (located in the qt_private) directory
|
||||
# with the Qt source tree pointed to by the environment variable QTDIR.
|
||||
|
||||
REQUIRED_HEADERS="pluginmanager_p.h iconloader_p.h qdesigner_formwindowmanager_p.h formwindowbase_p.h
|
||||
abstractnewformwidget_p.h qtresourcemodel_p.h abstractoptionspage_p.h
|
||||
shared_global_p.h abstractsettings_p.h qdesigner_integration_p.h"
|
||||
|
||||
echo Using $QTDIR
|
||||
|
||||
syncHeader()
|
||||
{
|
||||
HDR=$1
|
||||
# Locate the Designer header: look in lib/shared or SDK
|
||||
QTHDR=$QTDIR/tools/designer/src/lib/shared/$HDR
|
||||
if [ ! -f $QTHDR ]
|
||||
then
|
||||
QTHDR=$QTDIR/tools/designer/src/lib/sdk/$HDR
|
||||
fi
|
||||
echo Syncing $QTHDR
|
||||
|
||||
[ -f $QTHDR ] || { echo "$HDR does not exist" ; exit 1 ; }
|
||||
|
||||
TARGET=qt_private/$HDR
|
||||
|
||||
# Exchange license header
|
||||
head -n 32 formwindowfile.h > $TARGET || exit 1
|
||||
tail -n +11 $QTHDR >> $TARGET || exit 1
|
||||
}
|
||||
|
||||
for H in $REQUIRED_HEADERS
|
||||
do
|
||||
syncHeader $H
|
||||
done
|
@@ -36,7 +36,7 @@
|
||||
|
||||
#include <cpptools/cppmodelmanagerinterface.h>
|
||||
|
||||
#include <QtDesigner/private/qdesigner_integration_p.h>
|
||||
#include <qt_private/qdesigner_integration_p.h>
|
||||
|
||||
namespace Designer {
|
||||
namespace Internal {
|
||||
|
@@ -693,6 +693,13 @@ bool FakeVimHandler::Private::handleCommandMode(int key, int unmodified,
|
||||
scrollToLineInDocument(cursorLineInDocument());
|
||||
moveToFirstNonBlankOnLine();
|
||||
finishMovement();
|
||||
} else if (key == '.') { // center cursor line
|
||||
scrollToLineInDocument(cursorLineInDocument() - linesOnScreen() / 2);
|
||||
moveToFirstNonBlankOnLine();
|
||||
finishMovement();
|
||||
} else if (key == 'z') { // center cursor line
|
||||
scrollToLineInDocument(cursorLineInDocument() - linesOnScreen() / 2);
|
||||
finishMovement();
|
||||
} else {
|
||||
qDebug() << "IGNORED Z_MODE " << key << text;
|
||||
}
|
||||
@@ -908,11 +915,13 @@ bool FakeVimHandler::Private::handleCommandMode(int key, int unmodified,
|
||||
moveToFirstNonBlankOnLine();
|
||||
finishMovement();
|
||||
} else if (key == 'i') {
|
||||
recordBeginGroup();
|
||||
enterInsertMode();
|
||||
updateMiniBuffer();
|
||||
if (atEndOfLine())
|
||||
moveLeft();
|
||||
} else if (key == 'I') {
|
||||
recordBeginGroup();
|
||||
setAnchor();
|
||||
enterInsertMode();
|
||||
if (m_gflag)
|
||||
@@ -976,13 +985,13 @@ bool FakeVimHandler::Private::handleCommandMode(int key, int unmodified,
|
||||
} else if (key == 'N') {
|
||||
search(lastSearchString(), !m_lastSearchForward);
|
||||
} else if (key == 'o' || key == 'O') {
|
||||
recordBeginGroup();
|
||||
recordMove();
|
||||
enterInsertMode();
|
||||
moveToFirstNonBlankOnLine();
|
||||
recordBeginGroup();
|
||||
int numSpaces = leftDist();
|
||||
moveUp();
|
||||
if (key == 'o')
|
||||
moveDown();
|
||||
if (key == 'O')
|
||||
moveUp();
|
||||
moveToEndOfLine();
|
||||
recordInsertText("\n");
|
||||
moveToStartOfLine();
|
||||
@@ -990,7 +999,6 @@ bool FakeVimHandler::Private::handleCommandMode(int key, int unmodified,
|
||||
recordInsertText(QString(indentDist(), ' '));
|
||||
else
|
||||
recordInsertText(QString(numSpaces, ' '));
|
||||
recordEndGroup();
|
||||
} else if (key == 'p' || key == 'P') {
|
||||
recordBeginGroup();
|
||||
QString text = m_registers[m_register];
|
||||
@@ -1034,8 +1042,13 @@ bool FakeVimHandler::Private::handleCommandMode(int key, int unmodified,
|
||||
redo();
|
||||
} else if (key == 's') {
|
||||
recordBeginGroup();
|
||||
m_submode = ChangeSubMode;
|
||||
setAnchor();
|
||||
moveRight(qMin(count(), rightDist()));
|
||||
m_registers[m_register] = recordRemoveSelectedText();
|
||||
//m_dotCommand = QString("%1s").arg(count());
|
||||
m_opcount.clear();
|
||||
m_mvcount.clear();
|
||||
enterInsertMode();
|
||||
} else if (key == 't' || key == 'T') {
|
||||
m_subsubmode = FtSubSubMode;
|
||||
m_subsubdata = key;
|
||||
@@ -2043,7 +2056,6 @@ void FakeVimHandler::Private::enterInsertMode()
|
||||
EDITOR(setOverwriteMode(false));
|
||||
m_mode = InsertMode;
|
||||
m_lastInsertion.clear();
|
||||
recordBeginGroup();
|
||||
}
|
||||
|
||||
void FakeVimHandler::Private::enterCommandMode()
|
||||
|
@@ -50,7 +50,7 @@ SearchResultTreeView::SearchResultTreeView(QWidget *parent)
|
||||
setIndentation(14);
|
||||
header()->hide();
|
||||
|
||||
connect (this, SIGNAL(activated(const QModelIndex&)), this, SLOT(emitJumpToSearchResult(const QModelIndex&)));
|
||||
connect (this, SIGNAL(activated(QModelIndex)), this, SLOT(emitJumpToSearchResult(QModelIndex)));
|
||||
}
|
||||
|
||||
void SearchResultTreeView::setAutoExpandResults(bool expand)
|
||||
@@ -76,10 +76,7 @@ void SearchResultTreeView::appendResultLine(int index, const QString &fileName,
|
||||
|
||||
void SearchResultTreeView::emitJumpToSearchResult(const QModelIndex &index)
|
||||
{
|
||||
if (model()->data(index, ItemDataRoles::TypeRole).toString().compare("row") != 0)
|
||||
return;
|
||||
|
||||
QString fileName(model()->data(index, ItemDataRoles::FileNameRole).toString());
|
||||
QString fileName = model()->data(index, ItemDataRoles::FileNameRole).toString();
|
||||
int position = model()->data(index, ItemDataRoles::ResultIndexRole).toInt();
|
||||
int lineNumber = model()->data(index, ItemDataRoles::ResultLineNumberRole).toInt();
|
||||
int searchTermStart = model()->data(index, ItemDataRoles::SearchTermStartRole).toInt();
|
||||
|
Before Width: | Height: | Size: 494 B After Width: | Height: | Size: 473 B |
@@ -73,6 +73,8 @@ public:
|
||||
setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
setUniformRowHeights(true);
|
||||
setTextElideMode(Qt::ElideNone);
|
||||
setAlternatingRowColors(true);
|
||||
setProperty("AlternateEmpty", true); // Let Manhattan to override style default
|
||||
// setExpandsOnDoubleClick(false);
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 516 B After Width: | Height: | Size: 613 B |
@@ -56,9 +56,9 @@ ProFileEditorFactory::ProFileEditorFactory(Qt4Manager *manager, TextEditor::Text
|
||||
m_actionHandler(handler)
|
||||
{
|
||||
Core::FileIconProvider *iconProvider = Core::FileIconProvider::instance();
|
||||
iconProvider->registerIconForSuffix(QIcon(":/qt4projectmanager/images/qt_project.png"),
|
||||
iconProvider->registerIconOverlayForSuffix(QIcon(":/qt4projectmanager/images/qt_project.png"),
|
||||
QLatin1String("pro"));
|
||||
iconProvider->registerIconForSuffix(QIcon(":/qt4projectmanager/images/qt_project.png"),
|
||||
iconProvider->registerIconOverlayForSuffix(QIcon(":/qt4projectmanager/images/qt_project.png"),
|
||||
QLatin1String("pri"));
|
||||
}
|
||||
|
||||
|
@@ -43,6 +43,7 @@
|
||||
#include <projectexplorer/nodesvisitor.h>
|
||||
|
||||
#include <coreplugin/editormanager/editormanager.h>
|
||||
#include <coreplugin/fileiconprovider.h>
|
||||
#include <coreplugin/filemanager.h>
|
||||
#include <coreplugin/icore.h>
|
||||
#include <coreplugin/iversioncontrol.h>
|
||||
@@ -60,6 +61,7 @@
|
||||
#include <QtCore/QFileInfo>
|
||||
#include <QtCore/QTimer>
|
||||
|
||||
#include <QtGui/QPainter>
|
||||
#include <QtGui/QMainWindow>
|
||||
#include <QtGui/QMessageBox>
|
||||
#include <QtGui/QPushButton>
|
||||
@@ -94,7 +96,17 @@ Qt4PriFileNode::Qt4PriFileNode(Qt4Project *project, Qt4ProFileNode* qt4ProFileNo
|
||||
{
|
||||
Q_ASSERT(project);
|
||||
setFolderName(QFileInfo(filePath).baseName());
|
||||
setIcon(QIcon(":/qt4projectmanager/images/qt_project.png"));
|
||||
|
||||
static QIcon dirIcon;
|
||||
if (dirIcon.isNull()) {
|
||||
// Create a custom Qt dir icon based on the system icon
|
||||
Core::FileIconProvider *iconProvider = Core::FileIconProvider::instance();
|
||||
QPixmap dirIconPixmap = iconProvider->overlayIcon(QStyle::SP_DirIcon,
|
||||
QIcon(":/qt4projectmanager/images/qt_project.png"),
|
||||
QSize(16, 16));
|
||||
dirIcon.addPixmap(dirIconPixmap);
|
||||
}
|
||||
setIcon(dirIcon);
|
||||
m_fileWatcher->addFile(filePath);
|
||||
connect(m_fileWatcher, SIGNAL(fileChanged(QString)),
|
||||
this, SLOT(scheduleUpdate()));
|
||||
|
Before Width: | Height: | Size: 622 B After Width: | Height: | Size: 676 B |
@@ -55,8 +55,8 @@ ResourceEditorFactory::ResourceEditorFactory(ResourceEditorPlugin *plugin) :
|
||||
m_context += Core::UniqueIDManager::instance()
|
||||
->uniqueIdentifier(QLatin1String(ResourceEditor::Constants::C_RESOURCEEDITOR));
|
||||
Core::FileIconProvider *iconProvider = Core::FileIconProvider::instance();
|
||||
iconProvider->registerIconForSuffix(QIcon(":/resourceeditor/images/qt_qrc.png"),
|
||||
QLatin1String("qrc"));
|
||||
iconProvider->registerIconOverlayForSuffix(QIcon(":/resourceeditor/images/qt_qrc.png"),
|
||||
QLatin1String("qrc"));
|
||||
}
|
||||
|
||||
QString ResourceEditorFactory::kind() const
|
||||
|
@@ -51,7 +51,7 @@ macx {
|
||||
|
||||
contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
|
||||
|
||||
CONFIG += plugin
|
||||
CONFIG += plugin plugin_with_soname
|
||||
|
||||
linux-* {
|
||||
target.path = /lib/qtcreator/plugins/$$PROVIDER
|
||||
|