Commit 22b68c8a authored by Ilia Ryabokon's avatar Ilia Ryabokon

Merge conflict resolved

parents f6ac9f82 ef62f593
This diff is collapsed.
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -70,6 +70,16 @@ QLabel#UBTGMediaDropMeLabel
padding: 2px;
}
QComboBox#DockPaletteWidgetComboBox QAbstractItemView
{
background-color: white;
color: black;
selection-background-color: lightgreen;
selection-color: black;
}
QComboBox#DockPaletteWidgetComboBox
{
background: white;
......
......@@ -31,7 +31,7 @@
#include "domain/UBGraphicsWidgetItem.h"
#include "domain/UBGraphicsTextItem.h"
#include "domain/UBGraphicsTextItemDelegate.h"
#include "domain/UBW3CWidget.h"
#include "domain/UBGraphicsWidgetItem.h"
#include "frameworks/UBFileSystemUtils.h"
......@@ -776,7 +776,7 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseSvgFlash(const QDomElement &ele
return false;
}
QString flashUrl = UBW3CWidget::createNPAPIWrapperInDir(flashPath, tmpFlashDir, "application/x-shockwave-flash"
QString flashUrl = UBGraphicsW3CWidgetItem::createNPAPIWrapperInDir(flashPath, tmpFlashDir, "application/x-shockwave-flash"
,QSize(mCurrentSceneRect.width(), mCurrentSceneRect.height()));
UBGraphicsWidgetItem *flashItem = mCurrentScene->addW3CWidget(QUrl::fromLocalFile(flashUrl));
flashItem->setSourceUrl(urlPath);
......@@ -1049,10 +1049,6 @@ void UBCFFSubsetAdaptor::UBCFFSubsetReader::repositionSvgItem(QGraphicsItem *ite
QTransform rTransform;
QPointF newVector = rTransform.map(oldVector);
QRectF sr = mCurrentScene->sceneRect();
QRectF sr1 = mCurrentSceneRect;
QRectF sr2 = mCurrentScene->normalizedSceneRect();
QTransform tr = item->sceneTransform();
item->setTransform(rTransform.scale(fullScaleX, fullScaleY), true);
tr = item->sceneTransform();
......
......@@ -27,7 +27,6 @@
#include "domain/UBGraphicsPDFItem.h"
#include "domain/UBGraphicsTextItem.h"
#include "domain/UBGraphicsTextItemDelegate.h"
#include "domain/UBAbstractWidget.h"
#include "domain/UBGraphicsStroke.h"
#include "domain/UBGraphicsStrokesGroup.h"
#include "domain/UBGraphicsGroupContainerItem.h"
......@@ -2488,7 +2487,7 @@ void UBSvgSubsetAdaptor::UBSvgSubsetWriter::graphicsW3CWidgetToSvg(UBGraphicsW3C
void UBSvgSubsetAdaptor::UBSvgSubsetWriter::graphicsWidgetToSvg(UBGraphicsWidgetItem* item)
{
QUrl widgetRootUrl = item->widgetWebView()->widgetUrl();
QUrl widgetRootUrl = item->widgetUrl();
QString uuid = UBStringUtils::toCanonicalUuid(item->uuid());
QString widgetDirectoryPath = UBPersistenceManager::widgetDirectory;
if (widgetRootUrl.toString().startsWith("file://"))
......@@ -2517,13 +2516,13 @@ void UBSvgSubsetAdaptor::UBSvgSubsetWriter::graphicsWidgetToSvg(UBGraphicsWidget
graphicsItemToSvg(item);
if (item->widgetWebView()->isFrozen())
if (item->isFrozen())
{
mXmlWriter.writeAttribute(UBSettings::uniboardDocumentNamespaceUri, "frozen", xmlTrue);
}
QString snapshotPath = mDocumentPath + "/" + UBPersistenceManager::widgetDirectory + "/" + uuid + ".png";
item->widgetWebView()->takeSnapshot().save(snapshotPath, "PNG");
item->takeSnapshot().save(snapshotPath, "PNG");
mXmlWriter.writeStartElement(nsXHtml, "iframe");
......@@ -2532,10 +2531,10 @@ void UBSvgSubsetAdaptor::UBSvgSubsetWriter::graphicsWidgetToSvg(UBGraphicsWidget
mXmlWriter.writeAttribute("height", QString("%1").arg(item->boundingRect().height()));
QString startFileUrl;
if (item->widgetWebView()->mainHtmlFileName().startsWith("http://"))
startFileUrl = item->widgetWebView()->mainHtmlFileName();
if (item->mainHtmlFileName().startsWith("http://"))
startFileUrl = item->mainHtmlFileName();
else
startFileUrl = widgetRootUrl.toString() + "/" + item->widgetWebView()->mainHtmlFileName();
startFileUrl = widgetRootUrl.toString() + "/" + item->mainHtmlFileName();
mXmlWriter.writeAttribute("src", startFileUrl);
mXmlWriter.writeEndElement(); //iFrame
......@@ -2626,13 +2625,13 @@ UBGraphicsW3CWidgetItem* UBSvgSubsetAdaptor::UBSvgSubsetReader::graphicsW3CWidge
QPixmap snapshot(pixPath);
if (!snapshot.isNull())
widgetItem->w3cWidget()->setSnapshot(snapshot);
widgetItem->setSnapshot(snapshot);
QStringRef frozen = mXmlReader.attributes().value(mNamespaceUri, "frozen");
if (!frozen.isNull() && frozen.toString() == xmlTrue && !snapshot.isNull())
{
widgetItem->w3cWidget()->freeze();
widgetItem->freeze();
}
graphicsItemFromSvg(widgetItem);
......
......@@ -281,12 +281,12 @@ void UBDocumentPublisher::upgradeDocumentForPublishing()
jsonFile.write(QString(" \"uuid\": \"%1\",\n").arg(UBStringUtils::toCanonicalUuid(widget->uuid())).toUtf8());
jsonFile.write(QString(" \"id\": \"%1\",\n").arg(widget->metadatas().id).toUtf8());
jsonFile.write(QString(" \"name\": \"%1\",\n").arg(widget->w3cWidget()->metadatas().name).toUtf8());
jsonFile.write(QString(" \"description\": \"%1\",\n").arg(widget->w3cWidget()->metadatas().description).toUtf8());
jsonFile.write(QString(" \"author\": \"%1\",\n").arg(widget->w3cWidget()->metadatas().author).toUtf8());
jsonFile.write(QString(" \"authorEmail\": \"%1\",\n").arg(widget->w3cWidget()->metadatas().authorEmail).toUtf8());
jsonFile.write(QString(" \"authorHref\": \"%1\",\n").arg(widget->w3cWidget()->metadatas().authorHref).toUtf8());
jsonFile.write(QString(" \"version\": \"%1\",\n").arg(widget->w3cWidget()->metadatas().authorHref).toUtf8());
jsonFile.write(QString(" \"name\": \"%1\",\n").arg(widget->metadatas().name).toUtf8());
jsonFile.write(QString(" \"description\": \"%1\",\n").arg(widget->metadatas().description).toUtf8());
jsonFile.write(QString(" \"author\": \"%1\",\n").arg(widget->metadatas().author).toUtf8());
jsonFile.write(QString(" \"authorEmail\": \"%1\",\n").arg(widget->metadatas().authorEmail).toUtf8());
jsonFile.write(QString(" \"authorHref\": \"%1\",\n").arg(widget->metadatas().authorHref).toUtf8());
jsonFile.write(QString(" \"version\": \"%1\",\n").arg(widget->metadatas().authorHref).toUtf8());
jsonFile.write(QString(" \"x\": %1,\n").arg(widget->sceneBoundingRect().x()).toUtf8());
jsonFile.write(QString(" \"y\": %1,\n").arg(widget->sceneBoundingRect().y()).toUtf8());
......@@ -298,10 +298,10 @@ void UBDocumentPublisher::upgradeDocumentForPublishing()
QString url = UBPersistenceManager::widgetDirectory + "/" + widget->uuid().toString() + ".wgt";
jsonFile.write(QString(" \"src\": \"%1\",\n").arg(url).toUtf8());
QString startFile = widget->w3cWidget()->mainHtmlFileName();
QString startFile = widget->mainHtmlFileName();
jsonFile.write(QString(" \"startFile\": \"%1\",\n").arg(startFile).toUtf8());
QMap<QString, QString> preferences = widget->preferences();
QMap<QString, QString> preferences = widget->UBGraphicsWidgetItem::preferences();
jsonFile.write(QString(" \"preferences\": {\n").toUtf8());
......@@ -360,10 +360,10 @@ void UBDocumentPublisher::upgradeDocumentForPublishing()
void UBDocumentPublisher::generateWidgetPropertyScript(UBGraphicsW3CWidgetItem *widgetItem, int pageNumber)
{
QMap<QString, QString> preferences = widgetItem->preferences();
QMap<QString, QString> preferences = widgetItem->UBGraphicsWidgetItem::preferences();
QMap<QString, QString> datastoreEntries = widgetItem->datastoreEntries();
QString startFileName = widgetItem->w3cWidget()->mainHtmlFileName();
QString startFileName = widgetItem->mainHtmlFileName();
if (!startFileName.startsWith("http://"))
{
......@@ -394,18 +394,18 @@ void UBDocumentPublisher::generateWidgetPropertyScript(UBGraphicsW3CWidgetItem *
lines << " <script type=\"text/javascript\">";
lines << " var widget = {};";
lines << " widget.id = '" + widgetItem->w3cWidget()->metadatas().id + "';";
lines << " widget.name = '" + widgetItem->w3cWidget()->metadatas().name + "';";
lines << " widget.description = '" + widgetItem->w3cWidget()->metadatas().description + "';";
lines << " widget.author = '" + widgetItem->w3cWidget()->metadatas().author + "';";
lines << " widget.authorEmail = '" + widgetItem->w3cWidget()->metadatas().authorEmail + "';";
lines << " widget.authorHref = '" + widgetItem->w3cWidget()->metadatas().authorHref + "';";
lines << " widget.version = '" + widgetItem->w3cWidget()->metadatas().version + "';";
lines << " widget.id = '" + widgetItem->metadatas().id + "';";
lines << " widget.name = '" + widgetItem->metadatas().name + "';";
lines << " widget.description = '" + widgetItem->metadatas().description + "';";
lines << " widget.author = '" + widgetItem->metadatas().author + "';";
lines << " widget.authorEmail = '" + widgetItem->metadatas().authorEmail + "';";
lines << " widget.authorHref = '" + widgetItem->metadatas().authorHref + "';";
lines << " widget.version = '" + widgetItem->metadatas().version + "';";
lines << " widget.uuid = '" + UBStringUtils::toCanonicalUuid(widgetItem->uuid()) + "';";
lines << " widget.width = " + QString("%1").arg(widgetItem->w3cWidget()->width()) + ";";
lines << " widget.height = " + QString("%1").arg(widgetItem->w3cWidget()->height()) + ";";
lines << " widget.width = " + QString("%1").arg(widgetItem->nominalSize().width()) + ";";
lines << " widget.height = " + QString("%1").arg(widgetItem->nominalSize().height()) + ";";
lines << " widget.openUrl = function(url) { window.open(url); }";
lines << " widget.preferences = new Array()";
......
......@@ -30,25 +30,14 @@
#include "core/memcheck.h"
UBW3CWidgetAPI::UBW3CWidgetAPI(UBGraphicsW3CWidgetItem *graphicsWidget)
: QObject(graphicsWidget)
UBW3CWidgetAPI::UBW3CWidgetAPI(UBGraphicsW3CWidgetItem *graphicsWidget, QObject *parent)
: QObject(parent)
, mGraphicsW3CWidget(graphicsWidget)
, mW3CWidget(mGraphicsW3CWidget->w3cWidget())
{
mPreferencesAPI = new UBW3CWidgetPreferenceAPI(graphicsWidget);
mPreferencesAPI = new UBW3CWidgetPreferenceAPI(graphicsWidget, parent);
}
UBW3CWidgetAPI::UBW3CWidgetAPI(UBW3CWidget *widget)
: QObject(widget)
, mGraphicsW3CWidget(0)
, mW3CWidget(widget)
{
mPreferencesAPI = new UBW3CWidgetPreferenceAPI(widget);
}
UBW3CWidgetAPI::~UBW3CWidgetAPI()
{
// NOOP
......@@ -66,55 +55,55 @@ QString UBW3CWidgetAPI::uuid()
int UBW3CWidgetAPI::width()
{
return mW3CWidget->geometry().width();
return mGraphicsW3CWidget->nominalSize().width();
}
int UBW3CWidgetAPI::height()
{
return mW3CWidget->geometry().height();
return mGraphicsW3CWidget->nominalSize().height();
}
QString UBW3CWidgetAPI::id()
{
return mW3CWidget->metadatas().id;
return mGraphicsW3CWidget->metadatas().id;
}
QString UBW3CWidgetAPI::name()
{
return mW3CWidget->metadatas().name;
return mGraphicsW3CWidget->metadatas().name;
}
QString UBW3CWidgetAPI::description()
{
return mW3CWidget->metadatas().description;
return mGraphicsW3CWidget->metadatas().description;
}
QString UBW3CWidgetAPI::author()
{
return mW3CWidget->metadatas().author;
return mGraphicsW3CWidget->metadatas().author;
}
QString UBW3CWidgetAPI::authorEmail()
{
return mW3CWidget->metadatas().authorEmail;
return mGraphicsW3CWidget->metadatas().authorEmail;
}
QString UBW3CWidgetAPI::authorHref()
{
return mW3CWidget->metadatas().authorHref;
return mGraphicsW3CWidget->metadatas().authorHref;
}
QString UBW3CWidgetAPI::version()
{
return mW3CWidget->metadatas().version;
return mGraphicsW3CWidget->metadatas().version;
}
QObject* UBW3CWidgetAPI::preferences()
......@@ -129,24 +118,13 @@ void UBW3CWidgetAPI::openURL(const QString& url)
}
UBW3CWidgetPreferenceAPI::UBW3CWidgetPreferenceAPI(UBGraphicsW3CWidgetItem *graphicsWidget)
: UBW3CWebStorage(graphicsWidget)
UBW3CWidgetPreferenceAPI::UBW3CWidgetPreferenceAPI(UBGraphicsW3CWidgetItem *graphicsWidget, QObject *parent)
: UBW3CWebStorage(parent)
, mGraphicsW3CWidget(graphicsWidget)
, mW3CWidget(graphicsWidget->w3cWidget())
{
// NOOP
}
UBW3CWidgetPreferenceAPI::UBW3CWidgetPreferenceAPI(UBW3CWidget *widget)
: UBW3CWebStorage(widget)
, mGraphicsW3CWidget(0)
, mW3CWidget(widget)
{
// NOOP
}
UBW3CWidgetPreferenceAPI::~UBW3CWidgetPreferenceAPI()
{
// NOOP
......@@ -155,45 +133,35 @@ UBW3CWidgetPreferenceAPI::~UBW3CWidgetPreferenceAPI()
QString UBW3CWidgetPreferenceAPI::key(int index)
{
QMap<QString, UBW3CWidget::PreferenceValue> w3CPrefs = mW3CWidget->preferences();
if (index < w3CPrefs.size())
return w3CPrefs.keys().at(index);
else
return "";
QMap<QString, UBGraphicsW3CWidgetItem::PreferenceValue> w3CPrefs = mGraphicsW3CWidget->preferences();
if (index < w3CPrefs.size())
return w3CPrefs.keys().at(index);
else
return "";
}
QString UBW3CWidgetPreferenceAPI::getItem(const QString& key)
{
if (mGraphicsW3CWidget)
{
QMap<QString, QString> docPref = mGraphicsW3CWidget->preferences();
if (docPref.contains(key))
return docPref.value(key);
}
QMap<QString, UBW3CWidget::PreferenceValue> w3cPrefs = mW3CWidget->preferences();
if (mGraphicsW3CWidget) {
QMap<QString, QString> docPref = mGraphicsW3CWidget->UBGraphicsWidgetItem::preferences();
if (docPref.contains(key))
return docPref.value(key);
if (w3cPrefs.contains(key))
{
UBW3CWidget::PreferenceValue pref = w3cPrefs.value(key);
return pref.value;
}
else
{
return "";
}
QMap<QString, UBGraphicsW3CWidgetItem::PreferenceValue> w3cPrefs = mGraphicsW3CWidget->preferences();
if (w3cPrefs.contains(key)) {
UBGraphicsW3CWidgetItem::PreferenceValue pref = w3cPrefs.value(key);
return pref.value;
}
}
return QString();
}
int UBW3CWidgetPreferenceAPI::length()
{
QMap<QString, UBW3CWidget::PreferenceValue> w3cPrefs = mW3CWidget->preferences();
QMap<QString, UBGraphicsW3CWidgetItem::PreferenceValue> w3cPrefs = mGraphicsW3CWidget->preferences();
return w3cPrefs.size();
}
......@@ -201,39 +169,28 @@ int UBW3CWidgetPreferenceAPI::length()
void UBW3CWidgetPreferenceAPI::setItem(const QString& key, const QString& value)
{
if (mGraphicsW3CWidget)
{
QMap<QString, UBW3CWidget::PreferenceValue> w3cPrefs = mW3CWidget->preferences();
if (mGraphicsW3CWidget) {
QMap<QString, UBGraphicsW3CWidgetItem::PreferenceValue> w3cPrefs = mGraphicsW3CWidget->preferences();
if (w3cPrefs.contains(key) && !w3cPrefs.value(key).readonly)
mGraphicsW3CWidget->setPreference(key, value);
}
else
{
// No state for non graphics widget (aka tool widget)
}
if (w3cPrefs.contains(key) && !w3cPrefs.value(key).readonly)
mGraphicsW3CWidget->setPreference(key, value);
}
}
void UBW3CWidgetPreferenceAPI::removeItem(const QString& key)
{
if (mGraphicsW3CWidget)
mGraphicsW3CWidget->removePreference(key);
else
{
// No state for non graphics widget (aka tool widget)
}
if (mGraphicsW3CWidget)
mGraphicsW3CWidget->removePreference(key);
}
void UBW3CWidgetPreferenceAPI::clear()
{
if (mGraphicsW3CWidget)
mGraphicsW3CWidget->removeAllPreferences();
else
{
// No state for non graphics widget (aka tool widget)
}
if (mGraphicsW3CWidget)
mGraphicsW3CWidget->removeAllPreferences();
}
......
......@@ -47,8 +47,7 @@ class UBW3CWidgetAPI : public QObject
public:
UBW3CWidgetAPI(UBGraphicsW3CWidgetItem *graphicsWidget);
UBW3CWidgetAPI(UBW3CWidget *widget);
UBW3CWidgetAPI(UBGraphicsW3CWidgetItem *graphicsWidget, QObject *parent = 0);
virtual ~UBW3CWidgetAPI();
......@@ -72,7 +71,6 @@ class UBW3CWidgetAPI : public QObject
private:
UBGraphicsW3CWidgetItem* mGraphicsW3CWidget;
UBW3CWidget *mW3CWidget;
UBW3CWidgetPreferenceAPI* mPreferencesAPI;
......@@ -88,8 +86,8 @@ class UBW3CWebStorage : public QObject
public:
UBW3CWebStorage(QObject *parent = 0)
: QObject(parent){}
virtual ~UBW3CWebStorage(){}
: QObject(parent){/* NOOP */}
virtual ~UBW3CWebStorage(){/* NOOP */}
public slots:
......@@ -110,8 +108,7 @@ class UBW3CWidgetPreferenceAPI : public UBW3CWebStorage
Q_OBJECT;
public:
UBW3CWidgetPreferenceAPI(UBGraphicsW3CWidgetItem *graphicsWidget);
UBW3CWidgetPreferenceAPI(UBW3CWidget *widget);
UBW3CWidgetPreferenceAPI(UBGraphicsW3CWidgetItem *graphicsWidget, QObject *parent = 0);
virtual ~UBW3CWidgetPreferenceAPI();
......@@ -129,7 +126,6 @@ class UBW3CWidgetPreferenceAPI : public UBW3CWebStorage
private:
UBGraphicsW3CWidgetItem* mGraphicsW3CWidget;
UBW3CWidget* mW3CWidget;
};
......
......@@ -17,16 +17,15 @@
#include "core/UBApplication.h"
#include "domain/UBAbstractWidget.h"
#include "domain/UBGraphicsWebView.h"
#include "core/memcheck.h"
UBWidgetMessageAPI::UBWidgetMessageAPI(UBW3CWidget *widget)
: QObject(widget)
, mWebWidget(widget)
UBWidgetMessageAPI::UBWidgetMessageAPI(UBGraphicsWidgetItem *graphicsWidgetItem, QObject *parent)
: QObject(parent)
, mGraphicsWidgetItem(graphicsWidgetItem)
{
connect(UBWidgetAPIMessageBroker::instance(), SIGNAL(newMessage(const QString&, const QString&))
, this, SLOT(onNewMessage(const QString&, const QString&)), Qt::QueuedConnection);
connect(UBWidgetAPIMessageBroker::instance(), SIGNAL(newMessage(const QString&, const QString&)), this, SLOT(onNewMessage(const QString&, const QString&)), Qt::QueuedConnection);
}
UBWidgetMessageAPI::~UBWidgetMessageAPI()
......@@ -45,9 +44,7 @@ void UBWidgetMessageAPI::onNewMessage(const QString& pTopicName, const QString&
{
if (mSubscribedTopics.contains(pTopicName))
{
if (mWebWidget
&& mWebWidget->page()
&& mWebWidget->page()->mainFrame())
if (mGraphicsWidgetItem && mGraphicsWidgetItem->page() && mGraphicsWidgetItem->page()->mainFrame())
{
QString js;
......@@ -55,7 +52,7 @@ void UBWidgetMessageAPI::onNewMessage(const QString& pTopicName, const QString&
js += "{widget.messages.onmessage('";
js += pMessage + "', '" + pTopicName + "')}";
mWebWidget->page()->
mGraphicsWidgetItem->page()->
mainFrame()->evaluateJavaScript(js);
}
......
......@@ -25,7 +25,7 @@ class UBWidgetMessageAPI : public QObject
Q_OBJECT;
public:
UBWidgetMessageAPI(UBW3CWidget *widget);
UBWidgetMessageAPI(UBGraphicsWidgetItem *graphicsWidgetItem, QObject *parent = 0);
virtual ~UBWidgetMessageAPI();
public slots:
......@@ -49,7 +49,7 @@ class UBWidgetMessageAPI : public QObject
private:
QSet<QString> mSubscribedTopics;
UBW3CWidget *mWebWidget;
UBGraphicsWidgetItem *mGraphicsWidgetItem;
};
......
......@@ -30,7 +30,6 @@
#include "domain/UBGraphicsScene.h"
#include "domain/UBGraphicsWidgetItem.h"
#include "domain/UBAbstractWidget.h"
#include "adaptors/UBThumbnailAdaptor.h"
......@@ -79,7 +78,7 @@ UBWidgetUniboardAPI::UBWidgetUniboardAPI(UBGraphicsScene *pScene, UBGraphicsWidg
if (w3CGraphicsWidget)
{
mMessagesAPI = new UBWidgetMessageAPI(w3CGraphicsWidget->w3cWidget());
mMessagesAPI = new UBWidgetMessageAPI(w3CGraphicsWidget);
mDatastoreAPI = new UBDatastoreAPI(w3CGraphicsWidget);
}
......@@ -547,7 +546,7 @@ void UBWidgetUniboardAPI::ProcessDropEvent(QDropEvent *event)
QDropEvent readyEvent(dropPoint, dropActions, &dropMimeData, dropMouseButtons, dropModifiers);
//sending event to destination either it had been downloaded or not
QApplication::sendEvent(mGraphicsWidget->widgetWebView(),&readyEvent);
QApplication::sendEvent(mGraphicsWidget,&readyEvent);
readyEvent.acceptProposedAction();
}
......@@ -602,11 +601,11 @@ void UBWidgetUniboardAPI::onDownloadFinished(bool pSuccess, sDownloadFileDesc de
//To make js interpreter accept drop event we need to generate move event first.
QDragMoveEvent pseudoMove(dropPoint, desc.dropActions, &dropMimeData, desc.dropMouseButtons, desc.dropModifiers);
QApplication::sendEvent(mGraphicsWidget->widgetWebView(),&pseudoMove);
QApplication::sendEvent(mGraphicsWidget,&pseudoMove);
QDropEvent readyEvent(dropPoint, desc.dropActions, &dropMimeData, desc.dropMouseButtons, desc.dropModifiers);
//sending event to destination either it had been downloaded or not
QApplication::sendEvent(mGraphicsWidget->widgetWebView(),&readyEvent);
QApplication::sendEvent(mGraphicsWidget,&readyEvent);
readyEvent.acceptProposedAction();
}
......@@ -736,9 +735,9 @@ void UBDocumentDatastoreAPI::removeItem(const QString& key)
{
mGraphicsW3CWidget->removeDatastoreEntry(key);
}
void
void UBDocumentDatastoreAPI::clear()
UBDocumentDatastoreAPI::clear()
{
mGraphicsW3CWidget->removeAllDatastoreEntries();
}
......
......@@ -49,7 +49,6 @@
#include "domain/UBGraphicsWidgetItem.h"
#include "domain/UBGraphicsMediaItem.h"
#include "domain/UBGraphicsPDFItem.h"
#include "domain/UBW3CWidget.h"
#include "domain/UBGraphicsTextItem.h"
#include "domain/UBPageSizeUndoCommand.h"
#include "domain/UBGraphicsGroupContainerItem.h"
......@@ -955,12 +954,12 @@ UBItem *UBBoardController::downloadFinished(bool pSuccess, QUrl sourceUrl, QStri
if (!pSuccess)
{
UBApplication::showMessage(tr("Downloading content %1 failed").arg(sourceUrl.toString()));
showMessage(tr("Downloading content %1 failed").arg(sourceUrl.toString()));
return NULL;
}
if (!sourceUrl.toString().startsWith("file://") && !sourceUrl.toString().startsWith("uniboardTool://"))
UBApplication::showMessage(tr("Download finished"));
showMessage(tr("Download finished"));
if (UBMimeType::RasterImage == itemMimeType)
{
......@@ -1151,7 +1150,7 @@ UBItem *UBBoardController::downloadFinished(bool pSuccess, QUrl sourceUrl, QStri
else
size = mActiveScene->nominalSize() * .8;
QString widgetUrl = UBW3CWidget::createNPAPIWrapper(sUrl, mimeType, size);
QString widgetUrl = UBGraphicsW3CWidgetItem::createNPAPIWrapper(sUrl, mimeType, size);
if (widgetUrl.length() > 0)
{
......@@ -1238,7 +1237,7 @@ UBItem *UBBoardController::downloadFinished(bool pSuccess, QUrl sourceUrl, QStri
}
else
{
UBApplication::showMessage(tr("Unknown tool type %1").arg(sourceUrl.toString()));
showMessage(tr("Unknown tool type %1").arg(sourceUrl.toString()));
}
}
else if (sourceUrl.toString().contains("edumedia-sciences.com"))
......@@ -1274,7 +1273,7 @@ UBItem *UBBoardController::downloadFinished(bool pSuccess, QUrl sourceUrl, QStri
else
size = mActiveScene->nominalSize() * .8;
QString widgetUrl = UBW3CWidget::createNPAPIWrapper(swfFile, "application/x-shockwave-flash", size);
QString widgetUrl = UBGraphicsW3CWidgetItem::createNPAPIWrapper(swfFile, "application/x-shockwave-flash", size);
if (widgetUrl.length() > 0)
{
......@@ -1293,7 +1292,7 @@ UBItem *UBBoardController::downloadFinished(bool pSuccess, QUrl sourceUrl, QStri
}
else
{
UBApplication::showMessage(tr("Unknown content type %1").arg(pContentTypeHeader));
showMessage(tr("Unknown content type %1").arg(pContentTypeHeader));
qWarning() << "ignoring mime type" << pContentTypeHeader ;
}
......@@ -1485,8 +1484,12 @@ void UBBoardController::boardViewResized(QResizeEvent* event)
mControlView->centerOn(0,0);
if (mDisplayView)
mDisplayView->centerOn(0,0);
mPaletteManager->containerResized();
UBApplication::boardController->controlView()->scene()->moveMagnifier();
}
......@@ -1655,52 +1658,15 @@ qreal UBBoardController::currentZoom()
return 1.0;
}
UBToolWidget* UBBoardController::addTool(const QUrl& toolUrl)
{
return addTool(toolUrl, mControlView->mapToScene(mControlView->rect().center()));
}
UBToolWidget* UBBoardController::addTool(const QUrl& toolUrl, QPointF scenePos)
{
UBToolWidget *toolWidget = new UBToolWidget(toolUrl, mMainWindow); // Deleted in UBBoardController::removeTool
QPoint pos = mControlView->mapToGlobal(mControlView->mapFromScene(scenePos));
pos -= QPoint(toolWidget->width() / 2, toolWidget->height() / 2);
toolWidget->move(pos);
mTools.append(toolWidget);
toolWidget->show();
return toolWidget;
}
void UBBoardController::removeTool(UBToolWidget* toolWidget)
{
toolWidget->hide();
mTools.removeAll(toolWidget);
delete toolWidget;
}
void UBBoardController::hide()
{
UBApplication::mainWindow->actionLibrary->setChecked(false);
controlViewHidden();
}
void UBBoardController::show()
{
UBApplication::mainWindow->actionLibrary->setChecked(false);
controlViewShown();
}
......@@ -1925,25 +1891,6 @@ void UBBoardController::grabScene(const QRectF& pSceneRect)
}
}
void UBBoardController::controlViewHidden()
{
foreach(UBToolWidget* tool, mTools)
{
tool->hide();
}
}
void UBBoardController::controlViewShown()
{
foreach(UBToolWidget* tool, mTools)
{
tool->show();
}
}
UBGraphicsMediaItem* UBBoardController::addVideo(const QUrl& pSourceUrl, bool startPlay, const QPointF& pos)
{
QUuid uuid = QUuid::createUuid();
......@@ -2003,7 +1950,7 @@ UBGraphicsWidgetItem *UBBoardController::addW3cWidget(const QUrl &pUrl, const QP
w3cWidgetItem->setSnapshotPath(QUrl::fromLocalFile(snapshotPath));
UBGraphicsWidgetItem *tmpItem = dynamic_cast<UBGraphicsWidgetItem*>(w3cWidgetItem);
if (tmpItem)
tmpItem->widgetWebView()->takeSnapshot().save(snapshotPath, "PNG");
tmpItem->takeSnapshot().save(snapshotPath, "PNG");
}
......@@ -2208,56 +2155,23 @@ void UBBoardController::togglePodcast(bool checked)
void UBBoardController::moveGraphicsWidgetToControlView(UBGraphicsWidgetItem* graphicsWidget)
{
QPoint controlViewPos = mControlView->mapFromScene(graphicsWidget->sceneBoundingRect().center());
graphicsWidget->setSelected(false);
UBAbstractWidget *aw = graphicsWidget->widgetWebView();
graphicsWidget->setWidget(0);
graphicsWidget->remove();
UBToolWidget *toolWidget = new UBToolWidget(aw, mControlContainer);
UBToolWidget *toolWidget = new UBToolWidget(graphicsWidget);
mActiveScene->addItem(toolWidget);
qreal ssf = 1 / UBApplication::boardController->systemScaleFactor();
graphicsWidget->scene()->removeItem(graphicsWidget); // TODO UB 4.6 probably leaking the frame
toolWidget->centerOn(mControlView->mapTo(mControlContainer, controlViewPos));
toolWidget->show();
toolWidget->setScale(ssf);
toolWidget->setPos(graphicsWidget->scenePos());
}
void UBBoardController::moveToolWidgetToScene(UBToolWidget* toolWidget)
{
int xIsOdd = toolWidget->width() % 2;
int yIsOdd = toolWidget->height() % 2;
QPoint mainWindowCenter = toolWidget->mapTo(mMainWindow, QPoint(toolWidget->width(), toolWidget->height()) / 2);
UBAbstractWidget* webWidget = toolWidget->webWidget();
webWidget->setParent(0);
UBGraphicsWidgetItem* graphicsWidget = 0;
UBW3CWidget* w3cWidget = qobject_cast<UBW3CWidget*>(webWidget);
if (w3cWidget)
{
graphicsWidget = new UBGraphicsW3CWidgetItem(w3cWidget);
}
else
{
UBAppleWidget* appleWidget = qobject_cast<UBAppleWidget*>(webWidget);
if (appleWidget)
{
graphicsWidget = new UBGraphicsAppleWidgetItem(appleWidget);
}
}
QPoint controlViewCenter = mControlView->mapFrom(mMainWindow, mainWindowCenter);
QPointF scenePos = mControlView->mapToScene(controlViewCenter) + QPointF(xIsOdd * 0.5, yIsOdd * 0.5);
mActiveScene->addGraphicsWidget(graphicsWidget, scenePos);
toolWidget->hide();
toolWidget->deleteLater();
UBGraphicsWidgetItem *graphicsWidgetItem = addW3cWidget(toolWidget->graphicsWidgetItem()->widgetUrl(), QPointF(0, 0));
graphicsWidgetItem->setPos(toolWidget->pos());
toolWidget->remove();
graphicsWidgetItem->setSelected(true);
}
......@@ -2343,8 +2257,8 @@ void UBBoardController::freezeW3CWidget(QGraphicsItem *item, bool freeze)
return;
if (freeze) {
item_casted->widgetWebView()->load(QUrl(item_casted->w3cWidget()->freezedWidgetFilePath()));
}else
item_casted->widgetWebView()->loadMainHtml();
item_casted->load(QUrl(UBGraphicsW3CWidgetItem::freezedWidgetFilePath()));
} else
item_casted->loadMainHtml();
}
}
......@@ -193,21 +193,16 @@ class UBBoardController : public UBDocumentContainer
UBItem *downloadFinished(bool pSuccess, QUrl sourceUrl, QString pHeader, QByteArray pData, QPointF pPos, QSize pSize, bool isBackground = false);
void changeBackground(bool isDark, bool isCrossed);
void setToolCursor(int tool);
void showMessage(const QString& message, bool showSpinningWheel);
void showMessage(const QString& message, bool showSpinningWheel = false);
void hideMessage();
void setDisabled(bool disable);
void setColorIndex(int pColorIndex);
UBToolWidget* addTool(const QUrl& toolUrl, QPointF scenePos);
UBToolWidget* addTool(const QUrl& toolUrl);
void removeTool(UBToolWidget* toolWidget);
void hide();
void show();
void setWidePageSize(bool checked);
void setRegularPageSize(bool checked);
void stylusToolChanged(int tool);
void grabScene(const QRectF& pSceneRect);
void controlViewHidden();
void controlViewShown();
UBGraphicsMediaItem* addVideo(const QUrl& pUrl, bool startPlay, const QPointF& pos);
UBGraphicsMediaItem* addAudio(const QUrl& pUrl, bool startPlay, const QPointF& pos);
UBGraphicsWidgetItem *addW3cWidget(const QUrl& pUrl, const QPointF& pos);
......@@ -277,7 +272,6 @@ class UBBoardController : public UBDocumentContainer
QColor mPenColorOnLightBackground;
QColor mMarkerColorOnDarkBackground;
QColor mMarkerColorOnLightBackground;
QList<UBToolWidget*> mTools;
qreal mSystemScaleFactor;
bool mCleanupDone;
QMap<QAction*, QPair<QString, QString> > mActionTexts;
......
......@@ -48,7 +48,6 @@
#include "network/UBServerXMLHttpRequest.h"
#include "domain/UBGraphicsScene.h"
#include "domain/UBAbstractWidget.h"
#include "domain/UBGraphicsPixmapItem.h"
#include "document/UBDocumentProxy.h"
......@@ -678,8 +677,10 @@ void UBBoardPaletteManager::changeMode(eUBDockPaletteWidgetMode newMode, bool is
{
case eUBDockPaletteWidget_BOARD:
{
mLeftPalette->assignParent(UBApplication::boardController->controlContainer());
mRightPalette->assignParent(UBApplication::boardController->controlContainer());
mLeftPalette->assignParent(mContainer);
mRightPalette->assignParent(mContainer);
mRightPalette->stackUnder(mStylusPalette);
mLeftPalette->stackUnder(mStylusPalette);
if (UBPlatformUtils::hasVirtualKeyboard() && mKeyboardPalette != NULL)
{
......@@ -711,6 +712,8 @@ void UBBoardPaletteManager::changeMode(eUBDockPaletteWidgetMode newMode, bool is
{
mLeftPalette->assignParent((QWidget*)UBApplication::applicationController->uninotesController()->drawingView());
mRightPalette->assignParent((QWidget*)UBApplication::applicationController->uninotesController()->drawingView());
mRightPalette->lower();
mLeftPalette->lower();
if (UBPlatformUtils::hasVirtualKeyboard() && mKeyboardPalette != NULL)
{
......
......@@ -18,8 +18,7 @@
#include <QtGui>
#include <QtWebKit>
#include "web/UBRoutedMouseEventWebView.h"
#include "gui/UBLeftPalette.h"
#include "gui/UBRightPalette.h"
#include "gui/UBPageNavigationWidget.h"
......
......@@ -71,6 +71,7 @@ UBBoardView::UBBoardView (UBBoardController* pController, QWidget* pParent)
, suspendedMousePressEvent(NULL)
, mLongPressInterval(1000)
, mIsDragInProgress(false)
, mMultipleSelectionIsEnabled(false)
{
init ();
......@@ -86,6 +87,7 @@ UBBoardView::UBBoardView (UBBoardController* pController, int pStartLayer, int p
, suspendedMousePressEvent(NULL)
, mLongPressInterval(1000)
, mIsDragInProgress(false)
, mMultipleSelectionIsEnabled(false)
{
init ();
......@@ -123,8 +125,6 @@ UBBoardView::init ()
setHorizontalScrollBarPolicy (Qt::ScrollBarAlwaysOff);
setAcceptDrops (true);
setOptimizationFlag (QGraphicsView::IndirectPainting); // enable UBBoardView::drawItems filter
mTabletStylusIsPressed = false;
mMouseButtonIsPressed = false;
mPendingStylusReleaseEvent = false;
......@@ -208,6 +208,11 @@ UBBoardView::keyPressEvent (QKeyEvent *event)
mController->addScene ();
break;
}
case Qt::Key_Control:
case Qt::Key_Shift:
{
mMultipleSelectionIsEnabled = true;
}break;
}
......@@ -268,6 +273,21 @@ UBBoardView::keyPressEvent (QKeyEvent *event)
}
}
void UBBoardView::keyReleaseEvent(QKeyEvent *event)
{
// if (!event->isAccepted ())
{
if (Qt::Key_Shift == event->key()
||Qt::Key_Control == event->key())
{
mMultipleSelectionIsEnabled = false;
}
}
QGraphicsView::keyReleaseEvent(event);
}
bool
UBBoardView::event (QEvent * e)
{
......@@ -426,7 +446,10 @@ bool UBBoardView::itemShouldReceiveMousePressEvent(QGraphicsItem *item)
UBStylusTool::Enum currentTool = (UBStylusTool::Enum)UBDrawingController::drawingController()->stylusTool();
if ((currentTool == UBStylusTool::Play) && UBGraphicsGroupContainerItem::Type == movingItem->type())
return movingItem = NULL;
{
movingItem = NULL;
return false;
}
switch(item->type())
{
......@@ -534,11 +557,7 @@ bool UBBoardView::itemShouldBeMoved(QGraphicsItem *item)
return true;
case UBGraphicsTextItem::Type:
return !item->isSelected();
default:
false;
}
return false;
}
......@@ -579,7 +598,8 @@ void UBBoardView::handleItemMousePress(QMouseEvent *event)
if (movingItem && QGraphicsSvgItem::Type != movingItem->type()
&& UBGraphicsDelegateFrame::Type != movingItem->type())
&& UBGraphicsDelegateFrame::Type != movingItem->type()
&& !mMultipleSelectionIsEnabled)
{
foreach(QGraphicsItem *item, scene()->selectedItems())
{
......@@ -590,6 +610,9 @@ void UBBoardView::handleItemMousePress(QMouseEvent *event)
}
}
if (mMultipleSelectionIsEnabled)
return;
if (itemShouldReceiveMousePressEvent(movingItem))
QGraphicsView::mousePressEvent (event);
else
......@@ -947,6 +970,7 @@ UBBoardView::mouseReleaseEvent (QMouseEvent *event)
if (currentTool == UBStylusTool::Selector)
{
bool bReleaseIsNeed = true;
if (mWidgetMoved)
{
mWidgetMoved = false;
......@@ -960,13 +984,26 @@ UBBoardView::mouseReleaseEvent (QMouseEvent *event)
QGraphicsView::mousePressEvent(suspendedMousePressEvent); // suspendedMousePressEvent is deleted by old Qt event loop
movingItem = NULL;
delete suspendedMousePressEvent;
suspendedMousePressEvent = NULL;
suspendedMousePressEvent = NULL;
}
else
{
if ( QGraphicsSvgItem::Type != movingItem->type()
&& UBGraphicsDelegateFrame::Type != movingItem->type())
movingItem->setSelected(true);
if (QGraphicsSvgItem::Type != movingItem->type() &&
UBGraphicsDelegateFrame::Type != movingItem->type() &&
UBToolWidget::Type != movingItem->type())
{
bReleaseIsNeed = false;
if (movingItem->isSelected() && mMultipleSelectionIsEnabled)
movingItem->setSelected(false);
else
{
if (movingItem->isSelected())
bReleaseIsNeed = true;
movingItem->setSelected(true);
}
}
}
}
......@@ -974,7 +1011,10 @@ UBBoardView::mouseReleaseEvent (QMouseEvent *event)
mUBRubberBand->hide();
}
QGraphicsView::mouseReleaseEvent (event);
if (bReleaseIsNeed)
{
QGraphicsView::mouseReleaseEvent (event);
}
}
else if (currentTool == UBStylusTool::Play)
{
......@@ -992,9 +1032,8 @@ UBBoardView::mouseReleaseEvent (QMouseEvent *event)
delete suspendedMousePressEvent;
suspendedMousePressEvent = NULL;
}
QGraphicsView::mouseReleaseEvent (event);
}
QGraphicsView::mouseReleaseEvent (event);
}
else if (currentTool == UBStylusTool::Text)
{
......@@ -1182,7 +1221,7 @@ void UBBoardView::dragMoveEvent (QDragMoveEvent *event)
}
QPoint newPoint(graphicsWidget->mapFromScene(mapToScene(event->pos())).toPoint());
QDragMoveEvent newEvent(newPoint, event->dropAction(), event->mimeData(), event->mouseButtons(), event->keyboardModifiers());
QApplication::sendEvent(graphicsWidget->widgetWebView(),&newEvent);
QApplication::sendEvent(graphicsWidget,&newEvent);
} else {
mOkOnWidget = false;
event->ignore();
......
......@@ -21,7 +21,6 @@
#include "domain/UBGraphicsDelegateFrame.h"
class UBBoardController;
class UBAppleWidget;
class UBGraphicsScene;
class UBGraphicsWidgetItem;
class UBRubberBand;
......@@ -66,6 +65,7 @@ class UBBoardView : public QGraphicsView
virtual bool event (QEvent * e);
virtual void keyPressEvent(QKeyEvent *event);
virtual void keyReleaseEvent(QKeyEvent *event);
virtual void tabletEvent(QTabletEvent * event);
virtual void mouseDoubleClickEvent(QMouseEvent *event);
virtual void mousePressEvent(QMouseEvent *event);
......@@ -146,6 +146,7 @@ class UBBoardView : public QGraphicsView
QTimer mLongPressTimer;
bool mIsDragInProgress;
bool mMultipleSelectionIsEnabled;
private slots:
......
......@@ -11,7 +11,6 @@
#include "frameworks/UBPlatformUtils.h"
#include "core/UBDownloadManager.h"
#include "domain/UBAbstractWidget.h"
#include "domain/UBGraphicsScene.h"
#include "domain/UBGraphicsSvgItem.h"
#include "domain/UBGraphicsPixmapItem.h"
......@@ -24,6 +23,7 @@ const QString UBFeaturesController::virtualRootName = "root";
void UBFeaturesComputingThread::scanFS(const QUrl & currentPath, const QString & currVirtualPath, const QSet<QUrl> &pFavoriteSet)
{
Q_ASSERT(QFileInfo(currentPath.toLocalFile()).exists());
QFileInfoList fileInfoList = UBFileSystemUtils::allElementsInDirectory(currentPath.toLocalFile());
......@@ -527,7 +527,7 @@ QImage UBFeaturesController::getIcon(const QString &path, UBFeatureElementType p
if (pFType == FEATURE_FOLDER) {
return QImage(":images/libpalette/folder.svg");
} else if (pFType == FEATURE_INTERACTIVE || pFType == FEATURE_SEARCH) {
return QImage(UBAbstractWidget::iconFilePath(QUrl::fromLocalFile(path)));
return QImage(UBGraphicsWidgetItem::iconFilePath(QUrl::fromLocalFile(path)));
} else if (pFType == FEATURE_INTERNAL) {
return QImage(UBToolsManager::manager()->iconFromToolId(path));
} else if (pFType == FEATURE_AUDIO) {
......
......@@ -24,7 +24,6 @@
#include "core/UBApplicationController.h"
#include "core/UBDownloadManager.h"
#include "domain/UBAbstractWidget.h"
#include "domain/UBGraphicsScene.h"
#include "domain/UBGraphicsSvgItem.h"
#include "domain/UBGraphicsPixmapItem.h"
......@@ -325,7 +324,7 @@ QImage UBLibraryController::thumbnailForFile(UBLibElement* pElement)
return image;
}
if (pElement->type() == eUBLibElementType_InteractiveItem){
QImage image = QImage(UBAbstractWidget::iconFilePath(pElement->path()));
QImage image = QImage(UBGraphicsWidgetItem::iconFilePath(pElement->path()));
return image;
}
......@@ -780,7 +779,7 @@ UBLibElement::UBLibElement(eUBLibElementType type, const QUrl &path, const QStri
mThumbnail = QImage(":images/libpalette/folder.svg");
if (type == eUBLibElementType_InteractiveItem)
mThumbnail = QImage(UBAbstractWidget::iconFilePath(path));
mThumbnail = QImage(UBGraphicsWidgetItem::iconFilePath(path));
if (type == eUBLibElementType_Item)
mExtension = QFileInfo(path.toLocalFile()).completeSuffix();
......
......@@ -142,7 +142,8 @@ struct UBGraphicsItemType
TriangleItemType,
MagnifierItemType,
cacheItemType,
groupContainerType
groupContainerType,
ToolWidgetItemType
};
};
......
......@@ -33,6 +33,8 @@
#include "document/UBDocumentProxy.h"
#include "document/UBDocumentController.h"
#include "domain/UBGraphicsWidgetItem.h"
#include "desktop/UBDesktopPalette.h"
#include "desktop/UBDesktopAnnotationController.h"
......@@ -44,7 +46,6 @@
#include "gui/UBTeacherGuideWidget.h"
#include "domain/UBGraphicsPixmapItem.h"
#include "domain/UBW3CWidget.h"
#include "podcast/UBPodcastController.h"
......@@ -318,7 +319,7 @@ void UBApplicationController::addCapturedEmbedCode(const QString& embedCode)
int width = 300;
int height = 150;
QString widgetPath = UBW3CWidget::createHtmlWrapperInDir(embedCode, userWidgetDir,
QString widgetPath = UBGraphicsW3CWidgetItem::createHtmlWrapperInDir(embedCode, userWidgetDir,
QSize(width, height), UBStringUtils::toCanonicalUuid(QUuid::createUuid()));
if (widgetPath.length() > 0)
......
......@@ -385,7 +385,12 @@ void UBDocumentController::setupViews()
mDocumentUI->thumbnailWidget->setBackgroundBrush(UBSettings::documentViewLightColor);
mMessageWindow = new UBMessageWindow(mDocumentUI->thumbnailWidget);
#ifdef Q_WS_MACX
mMessageWindow = new UBMessageWindow(NULL);
#else
mMessageWindow = new UBMessageWindow(mDocumentUI->thumbnailWidget);
#endif
mMessageWindow->hide();
}
......@@ -623,7 +628,7 @@ void UBDocumentController::deleteSelectedItem()
toBeDeleted << proxyTi;
}
UBApplication::showMessage(tr("Emptying trash"));
showMessage(tr("Emptying trash"));
for (int i = 0; i < toBeDeleted.count(); i++)
{
......@@ -633,7 +638,7 @@ void UBDocumentController::deleteSelectedItem()
UBPersistenceManager::persistenceManager()->deleteDocument(proxyTi->proxy());
}
UBApplication::showMessage(tr("Emptied trash"));
showMessage(tr("Emptied trash"));
QApplication::restoreOverrideCursor();
mMainWindow->actionDelete->setEnabled(false);
......@@ -683,7 +688,7 @@ void UBDocumentController::deleteSelectedItem()
{
UBDocumentProxyTreeItem* proxyTi = toBeDeleted.at(i);
UBApplication::showMessage(QString("Deleting %1").arg(proxyTi->proxy()->metaData(UBSettings::documentName).toString()));
showMessage(QString("Deleting %1").arg(proxyTi->proxy()->metaData(UBSettings::documentName).toString()));
// Move document to trash
QString oldGroupName = proxyTi->proxy()->metaData(UBSettings::documentGroupName).toString();
proxyTi->proxy()->setMetaData(UBSettings::documentGroupName, UBSettings::trashedDocumentGroupNamePrefix + oldGroupName);
......@@ -693,7 +698,7 @@ void UBDocumentController::deleteSelectedItem()
mTrashTi->addChild(proxyTi);
proxyTi->setFlags(proxyTi->flags() ^ Qt::ItemIsEditable);
UBApplication::showMessage(QString("%1 deleted").arg(groupTi->groupName()));
showMessage(QString("%1 deleted").arg(groupTi->groupName()));
}
// dont remove default group
......@@ -732,7 +737,7 @@ void UBDocumentController::exportDocument()
}
else
{
UBApplication::showMessage(tr("No document selected!"));
showMessage(tr("No document selected!"));
}
}
......@@ -917,7 +922,7 @@ void UBDocumentController::importFile()
if (groupName == UBSettings::defaultDocumentGroupName || fileInfo.suffix() != "ubz")
groupName = "";
UBApplication::showMessage(tr("Importing file %1...").arg(fileInfo.baseName()), true);
showMessage(tr("Importing file %1...").arg(fileInfo.baseName()), true);
createdDocument = docManager->importFile(selectedFile, groupName);
......@@ -927,7 +932,7 @@ void UBDocumentController::importFile()
}
else
{
UBApplication::showMessage(tr("Failed to import file ... "));
showMessage(tr("Failed to import file ... "));
}
}
......@@ -958,7 +963,7 @@ void UBDocumentController::addFolderOfImages()
if (importedImageNumber == 0)
{
UBApplication::showMessage(tr("Folder does not contain any image files!"));
showMessage(tr("Folder does not contain any image files!"));
UBApplication::applicationController->showDocument();
}
else
......@@ -1003,7 +1008,7 @@ bool UBDocumentController::addFileToDocument(UBDocumentProxy* document)
QApplication::processEvents();
QFile selectedFile(filePath);
UBApplication::showMessage(tr("Importing file %1...").arg(fileInfo.baseName()), true);
showMessage(tr("Importing file %1...").arg(fileInfo.baseName()), true);
success = UBDocumentManager::documentManager()->addFileToDocument(document, selectedFile);
......@@ -1014,7 +1019,7 @@ bool UBDocumentController::addFileToDocument(UBDocumentProxy* document)
}
else
{
UBApplication::showMessage(tr("Failed to import file ... "));
showMessage(tr("Failed to import file ... "));
}
}
......@@ -1382,13 +1387,19 @@ bool UBDocumentController::isOKToOpenDocument(UBDocumentProxy* proxy)
void UBDocumentController::showMessage(const QString& message, bool showSpinningWheel)
{
int margin = UBSettings::boardMargin;
QRect newSize = mDocumentUI->thumbnailWidget->geometry();
if (mMessageWindow)
{
mMessageWindow->move(margin, newSize.height() - mMessageWindow->height() - margin);
int margin = UBSettings::boardMargin;
QRect newSize = mDocumentUI->thumbnailWidget->geometry();
#ifdef Q_WS_MACX
QPoint point(newSize.left() + margin, newSize.bottom() - mMessageWindow->height() - margin);
mMessageWindow->move(mDocumentUI->thumbnailWidget->mapToGlobal(point));
#else
mMessageWindow->move(margin, newSize.height() - mMessageWindow->height() - margin);
#endif
mMessageWindow->showMessage(message, showSpinningWheel);
}
}
......@@ -1609,9 +1620,9 @@ void UBDocumentController::refreshDocumentThumbnailsView(UBDocumentContainer*)
QStringList labels;
if (proxy)
if (proxy)
{
setDocument(proxy);
setDocument(proxy);
for (int i = 0; i < selectedDocument()->pageCount(); i++)
{
......
......@@ -71,7 +71,7 @@ class UBDocumentController : public UBDocumentContainer
void selectDocument(UBDocumentProxy* proxy, bool setAsCurrentDocument = true);
void show();
void hide();
void showMessage(const QString& message, bool showSpinningWheel);
void showMessage(const QString& message, bool showSpinningWheel = false);
void hideMessage();
void toggleDocumentToolsPalette();
void cut();
......
This diff is collapsed.
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef UBABSTRACTWIDGET_H_
#define UBABSTRACTWIDGET_H_
#include <QtGui>
#include <QtWebKit>
#include "web/UBRoutedMouseEventWebView.h"
struct UBWidgetType
{
enum Enum
{
W3C = 0, Apple, Other
};
};
class UBAbstractWidget : public UBRoutedMouseEventWebView
{
Q_OBJECT;
public:
UBAbstractWidget(const QUrl& pWidgetUrl, QWidget *parent = 0);
virtual ~UBAbstractWidget();
void loadMainHtml();
QUrl mainHtml()
{
return mMainHtmlUrl;
}
QUrl widgetUrl()
{
return mWidgetUrl;
}
QString mainHtmlFileName()
{
return mMainHtmlFileName;
}
bool hasEmbededObjects();
bool hasEmbededFlash();
void resize(qreal width, qreal height);
QSize nominalSize() const
{
return mNominalSize;
}
bool canBeContent();
bool canBeTool();
bool hasLoadedSuccessfully() const
{
return (mInitialLoadDone && !mLoadIsErronous);
}
bool freezable() { return mIsFreezable;}
bool resizable() { return mIsResizable;}
static QString iconFilePath(const QUrl& pUrl);
static QString widgetName(const QUrl& pUrl);
static int widgetType(const QUrl& pUrl);
bool isFrozen(){ return mIsFrozen;}
QPixmap snapshot(){return mSnapshot;}
void setSnapshot(const QPixmap& pix);
QPixmap takeSnapshot();
public slots:
void freeze();
void unFreeze();
signals:
void geometryChangeRequested(const QRect & geom);
protected:
bool mMouseIsPressed;
bool mFirstReleaseAfterMove;
virtual bool event(QEvent *e);
virtual void mousePressEvent(QMouseEvent *event);
virtual void mouseMoveEvent(QMouseEvent *event);
virtual void mouseReleaseEvent(QMouseEvent *event);
virtual QWebView * createWindow(QWebPage::WebWindowType type);
QUrl mMainHtmlUrl;
QString mMainHtmlFileName;
QUrl mWidgetUrl;
QSize mNominalSize;
bool mIsResizable;
bool mInitialLoadDone;
bool mLoadIsErronous;
bool mIsFreezable;
int mCanBeContent;
int mCanBeTool;
enum OSType
{
type_NONE = 0, // 0000
type_WIN = 1, // 0001
type_MAC = 2, // 0010
type_UNIX = 4, // 0100
type_ALL = 7, // 0111
};
virtual void injectInlineJavaScript();
virtual void paintEvent(QPaintEvent * event);
virtual void dropEvent(QDropEvent *);
protected slots:
void mainFrameLoadFinished(bool ok);
private:
static QStringList sInlineJavaScripts;
static bool sInlineJavaScriptLoaded;
bool mIsFrozen;
QPixmap mSnapshot;
bool mIsTakingSnapshot;
private slots:
void javaScriptWindowObjectCleared();
};
#endif /* UBABSTRACTWIDGET_H_ */
#include "UBAngleWidget.h"
#include <QPainter>
#include "core/memcheck.h"
UBAngleWidget::UBAngleWidget(QWidget *parent)
: QWidget(parent)
{
this->setFixedSize(45,30);
this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
this->setAttribute(Qt::WA_TranslucentBackground);
QImage mask_img(width(), height(), QImage::Format_Mono);
mask_img.fill(0xff);
QPainter mask_ptr(&mask_img);
mask_ptr.setBrush( QBrush( QColor(0, 0, 0) ) );
mask_ptr.drawRoundedRect(0,0,this->geometry().width() - 6,this->geometry().height() - 6,1,1);
bmpMask = QBitmap::fromImage(mask_img);
this->setMask(bmpMask);
}
UBAngleWidget::~UBAngleWidget()
{
}
void UBAngleWidget::paintEvent(QPaintEvent *event)
{
Q_UNUSED(event);
this->move(this->cursor().pos().x(), this->cursor().pos().y() - 30);
QPainter painter(this);
painter.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
QBrush brush(Qt::white);
painter.setBrush(brush);
painter.drawRoundedRect(1,1,this->geometry().width() - 10,this->geometry().height() - 10,1,1);
painter.setPen(QColor(85,50,127));
painter.setFont(QFont("Arial", 10));
painter.drawText(1,1,this->geometry().width() - 10,this->geometry().height() - 10, Qt::AlignCenter, text);
}
void UBAngleWidget::setText(QString newText)
{
text = newText;
text.append(QChar(176));
}
\ No newline at end of file
#ifndef UBANGLEWIDGET_H
#define UBANGLEWIDGET_H
#include <QWidget>
#include <QBitmap>
class UBAngleWidget : public QWidget
{
Q_OBJECT
public:
UBAngleWidget(QWidget *parent = 0);
~UBAngleWidget();
void setText(QString);
protected:
void paintEvent(QPaintEvent *event);
private:
QString text;
QBitmap bmpMask;
};
#endif // UBANGLEWIDGET_H
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "UBAppleWidget.h"
#include <QtNetwork>
#include "web/UBWebKitUtils.h"
#include "network/UBNetworkAccessManager.h"
#include "core/memcheck.h"
UBAppleWidget::UBAppleWidget(const QUrl& pWidgetUrl, QWidget *parent)
: UBAbstractWidget(pWidgetUrl, parent)
{
QString path = pWidgetUrl.toLocalFile();
if (!path.endsWith(".wdgt") && !path.endsWith(".wdgt/"))
{
int lastSlashIndex = path.lastIndexOf("/");
if (lastSlashIndex > 0)
{
path = path.mid(0, lastSlashIndex + 1);
}
}
QFile plistFile(path + "/Info.plist");
plistFile.open(QFile::ReadOnly);
QByteArray plistBin = plistFile.readAll();
QString plist = QString::fromUtf8(plistBin);
int mainHtmlIndex = plist.indexOf("MainHTML");
int mainHtmlIndexStart = plist.indexOf("<string>", mainHtmlIndex);
int mainHtmlIndexEnd = plist.indexOf("</string>", mainHtmlIndexStart);
if (mainHtmlIndex > -1 && mainHtmlIndexStart > -1 && mainHtmlIndexEnd > -1)
{
mMainHtmlFileName = plist.mid(mainHtmlIndexStart + 8, mainHtmlIndexEnd - mainHtmlIndexStart - 8);
}
mMainHtmlUrl = pWidgetUrl;
mMainHtmlUrl.setPath(pWidgetUrl.path() + "/" + mMainHtmlFileName);
QWebView::load(mMainHtmlUrl);
QPixmap defaultPixmap(pWidgetUrl.toLocalFile() + "/Default.png");
setFixedSize(defaultPixmap.size());
mNominalSize = defaultPixmap.size();
}
UBAppleWidget::~UBAppleWidget()
{
// NOOP
}
......@@ -21,6 +21,9 @@
#include "core/UBApplication.h"
#include "core/UBSettings.h"
#include "board/UBBoardController.h"
#include "board/UBBoardView.h"
#include "domain/UBGraphicsItemDelegate.h"
#include "domain/UBGraphicsScene.h"
#include "domain/UBGraphicsProxyWidget.h"
......@@ -90,14 +93,11 @@ UBGraphicsDelegateFrame::UBGraphicsDelegateFrame(UBGraphicsItemDelegate* pDelega
positionHandles();
this->setAcceptHoverEvents(true);
angleWidget = new UBAngleWidget();
}
UBGraphicsDelegateFrame::~UBGraphicsDelegateFrame()
{
delete angleWidget;
// NOOP
}
......@@ -226,10 +226,46 @@ void UBGraphicsDelegateFrame::mousePressEvent(QGraphicsSceneMouseEvent *event)
mInitialTransform = buildTransform();
mCurrentTool = toolFromPos(event->pos());
setCursorFromAngle(QString(""));
event->accept();
}
void UBGraphicsDelegateFrame::setCursorFromAngle(QString angle)
{
if (mCurrentTool == Rotate)
{
QWidget *controlViewport = UBApplication::boardController->controlView()->viewport();
QSize cursorSize(45,30);
QImage mask_img(cursorSize, QImage::Format_Mono);
mask_img.fill(0xff);
QPainter mask_ptr(&mask_img);
mask_ptr.setBrush( QBrush( QColor(0, 0, 0) ) );
mask_ptr.drawRoundedRect(0,0, cursorSize.width()-1, cursorSize.height()-1, 6, 6);
QBitmap bmpMask = QBitmap::fromImage(mask_img);
QPixmap pixCursor(cursorSize);
pixCursor.fill(QColor(Qt::white));
QPainter painter(&pixCursor);
painter.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
painter.setBrush(QBrush(Qt::white));
painter.setPen(QPen(QColor(Qt::black)));
painter.drawRoundedRect(1,1,cursorSize.width()-2,cursorSize.height()-2,6,6);
painter.setFont(QFont("Arial", 10));
painter.drawText(1,1,cursorSize.width(),cursorSize.height(), Qt::AlignCenter, angle.append(QChar(176)));
painter.end();
pixCursor.setMask(bmpMask);
controlViewport->setCursor(pixCursor);
}
}
bool UBGraphicsDelegateFrame::canResizeBottomRight(qreal width, qreal height, qreal scaleFactor)
{
bool res = false;
......@@ -427,12 +463,7 @@ void UBGraphicsDelegateFrame::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
}
}
if (!angleWidget->isVisible())
angleWidget->show();
angleWidget->setText(QString::number((int)mAngle % 360));
angleWidget->update();
setCursorFromAngle(QString::number((int)mAngle % 360));
}
else if (moving())
{
......@@ -525,9 +556,6 @@ QTransform UBGraphicsDelegateFrame::buildTransform()
void UBGraphicsDelegateFrame::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
if (angleWidget->isVisible())
angleWidget->hide();
updateResizeCursors();
mDelegate->commitUndoStep();
......
......@@ -18,7 +18,6 @@
#include <QtGui>
#include "core/UB.h"
#include "domain/UBAngleWidget.h"
class QGraphicsSceneMouseEvent;
class UBGraphicsItemDelegate;
......@@ -65,6 +64,7 @@ class UBGraphicsDelegateFrame: public QGraphicsRectItem, public QObject
inline bool resizingTop () const { return mCurrentTool == ResizeTop; }
inline bool rotating () const { return mCurrentTool == Rotate; }
inline bool moving () const { return mCurrentTool == Move; }
void setCursorFromAngle(QString angle);
bool canResizeBottomRight(qreal width, qreal height, qreal scaleFactor);
QTransform buildTransform ();
......@@ -120,8 +120,5 @@ class UBGraphicsDelegateFrame: public QGraphicsRectItem, public QObject
bool mResizing;
bool mMirroredXAtStart;
bool mMirroredYAtStart;
UBAngleWidget *angleWidget;
};
#endif /* UBGRAPHICSDELEGATEFRAME_H_ */
......@@ -37,7 +37,6 @@
#include "UBGraphicsWidgetItem.h"
#include "domain/UBAbstractWidget.h"
#include "domain/UBGraphicsTextItem.h"
#include "domain/UBGraphicsMediaItem.h"
#include "domain/UBGraphicsGroupContainerItem.h"
......@@ -107,12 +106,12 @@ UBGraphicsItemDelegate::UBGraphicsItemDelegate(QGraphicsItem* pDelegated, QObjec
, mFrame(0)
, mFrameWidth(UBSettings::settings()->objectFrameWidth)
, mAntiScaleRatio(1.0)
, mToolBarItem(NULL)
, mCanRotate(canRotate)
, mCanDuplicate(true)
, mRespectRatio(respectRatio)
, mMimeData(NULL)
, mFlippable(false)
, mToolBarItem(NULL)
, mToolBarUsed(useToolBar)
{
// NOOP
......@@ -379,7 +378,14 @@ void UBGraphicsItemDelegate::setZOrderButtonsVisible(bool visible)
void UBGraphicsItemDelegate::remove(bool canUndo)
{
// QGraphicsScene* scene = mDelegated->scene();
/*UBGraphicsScene* scene = dynamic_cast<UBGraphicsScene*>(mDelegated->scene());
if (scene && canUndo)
{
UBGraphicsItemUndoCommand *uc = new UBGraphicsItemUndoCommand(scene, mDelegated, 0);
UBApplication::undoStack->push(uc);
}
mDelegated->hide(); */
UBGraphicsScene* scene = dynamic_cast<UBGraphicsScene*>(mDelegated->scene());
if (scene)
{
......@@ -387,11 +393,17 @@ void UBGraphicsItemDelegate::remove(bool canUndo)
scene->removeItem(button);
scene->removeItem(mFrame);
/* this is performed because when removing delegated from scene while it contains flash content, segfault happens because of QGraphicsScene::removeItem() */
UBGraphicsWebView *mDelegated_casted = dynamic_cast<UBGraphicsWebView*>(mDelegated);
if (mDelegated_casted)
mDelegated_casted->setHtml(QString());
scene->removeItem(mDelegated);
if (canUndo)
{
UBGraphicsItemUndoCommand *uc = new UBGraphicsItemUndoCommand((UBGraphicsScene*) scene, mDelegated, 0);
UBGraphicsItemUndoCommand *uc = new UBGraphicsItemUndoCommand(scene, mDelegated, 0);
UBApplication::undoStack->push(uc);
}
}
......@@ -406,10 +418,6 @@ bool UBGraphicsItemDelegate::isLocked()
void UBGraphicsItemDelegate::duplicate()
{
// TODO UB 4.x .. rewrite .. .this is absurde ... we know what we are duplicating
UBApplication::boardController->copy();
UBApplication::boardController->paste();
UBApplication::boardController->duplicateItem(dynamic_cast<UBItem*>(delegated()));
}
......@@ -1075,11 +1083,11 @@ void MediaTimer::display(const QString &s)
void MediaTimer::setNumDigits(int numDigits)
{
if (numDigits > 99) {
qWarning("QLCDNumber::setNumDigits: (%s) Max 99 digits allowed");
qWarning("QLCDNumber::setNumDigits: Max 99 digits allowed");
numDigits = 99;
}
if (numDigits < 0) {
qWarning("QLCDNumber::setNumDigits: (%s) Min 0 digits allowed");
qWarning("QLCDNumber::setNumDigits: Min 0 digits allowed");
numDigits = 0;
}
if (digitStr.isNull()) { // from constructor
......@@ -1181,8 +1189,6 @@ void DelegateMediaControl::positionHandles()
mLCDTimerArea.setHeight(parentItem()->boundingRect().height());
lcdTimer->setRect(mLCDTimerArea);
lcdTimer->setPos(mSeecArea.width()-mLCDTimerArea.width(),0);
//lcdTimer->setRect(mLCDTimerArea);
//lcdTimer->setPos(mSeecArea.width()-mLCDTimerArea.width(),0);
mSeecArea.setWidth(rect().width()-mLCDTimerArea.width());
......@@ -1191,8 +1197,6 @@ void DelegateMediaControl::positionHandles()
setRect(selfRect);
lcdTimer->setPos(rect().width() - mLCDTimerArea.width(), 0);
//lcdTimer->setPos(rect().width() - mLCDTimerArea.width(), 0);
}
void DelegateMediaControl::update()
......@@ -1200,7 +1204,6 @@ void DelegateMediaControl::update()
QTime t;
t = t.addMSecs(mCurrentTimeInMs < 0 ? 0 : mCurrentTimeInMs);
lcdTimer->display(t.toString("m:ss"));
//lcdTimer->display(t.toString("m:ss"));
QGraphicsRectItem::update();
}
......@@ -1253,7 +1256,6 @@ void DelegateMediaControl::seekToMousePos(QPointF mousePos)
minX = frameWidth;
length = mSeecArea.width() - lcdTimer->rect().width();
length = mSeecArea.width() /*- lcdTimer->rect().width()*/;
qreal mouseX = mousePos.x();
if (mouseX >= (mSeecArea.width() - mSeecArea.height()/2))
......
......@@ -284,7 +284,7 @@ class UBGraphicsItemDelegate : public QObject
qreal mAntiScaleRatio;
QList<DelegateButton*> mButtons;
QList<DelegateButton*> mToolBarButtons;
UBGraphicsToolBarItem* mToolBarItem;
protected slots:
......
......@@ -54,13 +54,13 @@ bool UBGraphicsMediaItem::sIsMutedByDefault = false;
UBGraphicsMediaItem::UBGraphicsMediaItem(const QUrl& pMediaFileUrl, QGraphicsItem *parent)
: UBGraphicsProxyWidget(parent)
, mVideoWidget(NULL)
, mAudioWidget(NULL)
, mMuted(sIsMutedByDefault)
, mMutedByUserAction(sIsMutedByDefault)
, mMediaFileUrl(pMediaFileUrl)
, mInitialPos(0)
, mVideoWidget(NULL)
, mAudioWidget(NULL)
, mLinkedImage(NULL)
, mInitialPos(0)
{
update();
......
......@@ -139,8 +139,6 @@ private:
QUrl mMediaFileUrl;
QString mMediaSource;
qint64 mInitialPos;
mediaType mMediaType;
bool mShouldMove;
......@@ -149,5 +147,7 @@ private:
bool haveLinkedImage;
QGraphicsPixmapItem *mLinkedImage;
qint64 mInitialPos;
};
#endif // UBGRAPHICSMEDIAITEM_H
......@@ -94,7 +94,7 @@ void UBGraphicsMediaItemDelegate::buildButtons()
connect(mMuteButton, SIGNAL(clicked(bool)), delegated(), SLOT(toggleMute()));
connect(mMuteButton, SIGNAL(clicked(bool)), this, SLOT(toggleMute())); // for changing button image
mButtons << mPlayPauseButton << mStopButton << mMuteButton;
mToolBarButtons << mPlayPauseButton << mStopButton << mMuteButton;
mToolBarItem->setItemsOnToolBar(QList<QGraphicsItem*>() << mPlayPauseButton << mStopButton << mMediaControl << mMuteButton);
mToolBarItem->setVisibleOnBoard(true);
......@@ -156,13 +156,10 @@ void UBGraphicsMediaItemDelegate::positionHandles()
int toolBarMinimumWidth = 0;
int mediaItemWidth = mToolBarItem->boundingRect().width();
foreach (DelegateButton* button, mButtons)
foreach (DelegateButton* button, mToolBarButtons)
{
if (button->getSection() == Qt::TitleBarArea)
{
mediaItemWidth -= button->boundingRect().width() + mToolBarItem->getElementsPadding();
toolBarMinimumWidth += button->boundingRect().width() + mToolBarItem->getElementsPadding();
}
mediaItemWidth -= button->boundingRect().width() + mToolBarItem->getElementsPadding();
toolBarMinimumWidth += button->boundingRect().width() + mToolBarItem->getElementsPadding();
}
toolBarMinimumWidth += mToolBarItem->boundingRect().height();
......@@ -196,8 +193,6 @@ void UBGraphicsMediaItemDelegate::remove(bool canUndo)
QGraphicsScene* scene = mDelegated->scene();
scene->removeItem(mMediaControl);
UBGraphicsItemDelegate::remove(canUndo);
}
......
......@@ -31,6 +31,7 @@
#include "gui/UBMagnifer.h"
#include "gui/UBMainWindow.h"
#include "gui/UBToolWidget.h"
#include "tools/UBGraphicsRuler.h"
#include "tools/UBGraphicsProtractor.h"
......@@ -59,8 +60,6 @@
#include "domain/UBGraphicsGroupContainerItem.h"
#include "UBAppleWidget.h"
#include "UBW3CWidget.h"
#include "UBGraphicsStroke.h"
#include "core/memcheck.h"
......@@ -256,8 +255,8 @@ UBGraphicsScene::UBGraphicsScene(UBDocumentProxy* parent)
, mDocument(parent)
, mDarkBackground(false)
, mCrossedBackground(false)
, mZoomFactor(1)
, mIsDesktopMode(false)
, mZoomFactor(1)
, mIsModified(true)
, mBackgroundObject(0)
, mPreviousWidth(0)
......@@ -1396,7 +1395,7 @@ UBGraphicsMediaItem* UBGraphicsScene::addAudio(const QUrl& pAudioFileUrl, bool s
UBGraphicsWidgetItem* UBGraphicsScene::addWidget(const QUrl& pWidgetUrl, const QPointF& pPos)
{
int widgetType = UBAbstractWidget::widgetType(pWidgetUrl);
int widgetType = UBGraphicsWidgetItem::widgetType(pWidgetUrl);
if(widgetType == UBWidgetType::Apple)
{
......@@ -1422,9 +1421,9 @@ UBGraphicsAppleWidgetItem* UBGraphicsScene::addAppleWidget(const QUrl& pWidgetUr
return appleWidget;
}
UBGraphicsW3CWidgetItem* UBGraphicsScene::addW3CWidget(const QUrl& pWidgetUrl, const QPointF& pPos, int widgetType)
UBGraphicsW3CWidgetItem* UBGraphicsScene::addW3CWidget(const QUrl& pWidgetUrl, const QPointF& pPos)
{
UBGraphicsW3CWidgetItem *w3CWidget = new UBGraphicsW3CWidgetItem(pWidgetUrl, 0, widgetType);
UBGraphicsW3CWidgetItem *w3CWidget = new UBGraphicsW3CWidgetItem(pWidgetUrl, 0);
addGraphicsWidget(w3CWidget, pPos);
......@@ -1444,7 +1443,7 @@ void UBGraphicsScene::addGraphicsWidget(UBGraphicsWidgetItem* graphicsWidget, co
graphicsWidget->setPos(QPointF(pPos.x() - graphicsWidget->boundingRect().width() / 2,
pPos.y() - graphicsWidget->boundingRect().height() / 2));
if (graphicsWidget->widgetWebView()->canBeContent())
if (graphicsWidget->canBeContent())
{
// graphicsWidget->widgetWebView()->loadMainHtml();
......@@ -1464,6 +1463,8 @@ void UBGraphicsScene::addGraphicsWidget(UBGraphicsWidgetItem* graphicsWidget, co
UBApplication::boardController->controlView()->setFocus();
}
UBGraphicsW3CWidgetItem* UBGraphicsScene::addOEmbed(const QUrl& pContentUrl, const QPointF& pPos)
{
QStringList widgetPaths = UBPersistenceManager::persistenceManager()->allWidgets(UBSettings::settings()->applicationApplicationsLibraryDirectory());
......@@ -1978,7 +1979,16 @@ void UBGraphicsScene::addMagnifier(UBMagnifierParams params)
setModified(true);
}
void UBGraphicsScene::moveMagnifier(QPoint newPos)
void UBGraphicsScene::moveMagnifier()
{
if (magniferControlViewWidget)
{
QPoint magnifierPos = QPoint(magniferControlViewWidget->pos().x() + magniferControlViewWidget->size().width() / 2, magniferControlViewWidget->pos().y() + magniferControlViewWidget->size().height() / 2 );
moveMagnifier(magnifierPos, true);
}
}
void UBGraphicsScene::moveMagnifier(QPoint newPos, bool forceGrab)
{
QWidget *cContainer = (QWidget*)(UBApplication::boardController->controlContainer());
QGraphicsView *cView = (QGraphicsView*)UBApplication::boardController->controlView();
......@@ -1986,6 +1996,8 @@ void UBGraphicsScene::moveMagnifier(QPoint newPos)
QPoint dvZeroPoint = dView->mapToGlobal(QPoint(0,0));
QRect qcr = cView->geometry();
QRect qdr = dView->geometry();
int cvW = cView->width();
int dvW = dView->width();
qreal wCoeff = (qreal)dvW / (qreal)cvW;
......@@ -1998,8 +2010,8 @@ void UBGraphicsScene::moveMagnifier(QPoint newPos)
QPoint cvPoint = cView->mapFromGlobal(globalPoint);
QPoint dvPoint( cvPoint.x() * wCoeff + dvZeroPoint.x(), cvPoint.y() * hCoeff + dvZeroPoint.y());
magniferControlViewWidget->grabNMove(globalPoint, globalPoint, false, false);
magniferDisplayViewWidget->grabNMove(globalPoint, dvPoint, false, true);
magniferControlViewWidget->grabNMove(globalPoint, globalPoint, forceGrab, false);
magniferDisplayViewWidget->grabNMove(globalPoint, dvPoint, forceGrab, true);
setModified(true);
}
......
......@@ -35,12 +35,12 @@ class UBGraphicsAudioItem;
class UBGraphicsWidgetItem;
class UBGraphicsW3CWidgetItem;
class UBGraphicsAppleWidgetItem;
class UBToolWidget;
class UBGraphicsPDFItem;
class UBGraphicsTextItem;
class UBGraphicsRuler;
class UBGraphicsProtractor;
class UBGraphicsCompass;
class UBAbstractWidget;
class UBDocumentProxy;
class UBGraphicsCurtainItem;
class UBGraphicsStroke;
......@@ -132,9 +132,11 @@ class UBGraphicsScene: public UBCoreGraphicsScene, public UBItem
UBGraphicsWidgetItem* addWidget(const QUrl& pWidgetUrl, const QPointF& pPos = QPointF(0, 0));
UBGraphicsAppleWidgetItem* addAppleWidget(const QUrl& pWidgetUrl, const QPointF& pPos = QPointF(0, 0));
UBGraphicsW3CWidgetItem* addW3CWidget(const QUrl& pWidgetUrl, const QPointF& pPos = QPointF(0, 0),int widgetType = UBGraphicsItemType::W3CWidgetItemType);
UBGraphicsW3CWidgetItem* addW3CWidget(const QUrl& pWidgetUrl, const QPointF& pPos = QPointF(0, 0));
void addGraphicsWidget(UBGraphicsWidgetItem* graphicsWidget, const QPointF& pPos = QPointF(0, 0));
UBGraphicsMediaItem* addMedia(const QUrl& pMediaFileUrl, bool shouldPlayAsap, const QPointF& pPos = QPointF(0, 0));
UBGraphicsMediaItem* addVideo(const QUrl& pVideoFileUrl, bool shouldPlayAsap, const QPointF& pPos = QPointF(0, 0));
UBGraphicsMediaItem* addAudio(const QUrl& pAudioFileUrl, bool shouldPlayAsap, const QPointF& pPos = QPointF(0, 0));
......@@ -324,7 +326,8 @@ public slots:
void selectionChangedProcessing();
void updateGroupButtonState();
void moveMagnifier(QPoint newPos);
void moveMagnifier();
void moveMagnifier(QPoint newPos, bool forceGrab = false);
void closeMagnifier();
void zoomInMagnifier();
void zoomOutMagnifier();
......
#include "UBGraphicsStrokesGroup.h"
#include "domain/UBGraphicsPolygonItem.h"
#include "core/memcheck.h"
UBGraphicsStrokesGroup::UBGraphicsStrokesGroup(QGraphicsItem *parent):QGraphicsItemGroup(parent)
......@@ -63,6 +65,15 @@ UBItem* UBGraphicsStrokesGroup::deepCopy() const
{
UBGraphicsStrokesGroup* copy = new UBGraphicsStrokesGroup();
QList<QGraphicsItem*> chl = childItems();
foreach(QGraphicsItem *child, chl)
{
UBGraphicsPolygonItem *polygon = dynamic_cast<UBGraphicsPolygonItem*>(child);
if (polygon)
copy->addToGroup(dynamic_cast<QGraphicsItem*>(polygon->deepCopy()));
}
copyItemParameters(copy);
return copy;
......
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <QtGui>
#include <QtWebKit>
#include "UBGraphicsWebView.h"
#include "UBGraphicsScene.h"
#include "UBGraphicsItemDelegate.h"
#include "UBGraphicsDelegateFrame.h"
#include "core/memcheck.h"
UBGraphicsWebView::UBGraphicsWebView(QGraphicsItem* parent)
: QGraphicsWebView(parent)
{
setData(UBGraphicsItemData::ItemLayerType, UBItemLayerType::Object);
mDelegate = new UBGraphicsItemDelegate(this, 0, true, false, false);
mDelegate->init();
setFlag(QGraphicsItem::ItemSendsGeometryChanges, true);
QGraphicsWebView::setAcceptHoverEvents(true);
}
UBGraphicsWebView::~UBGraphicsWebView()
{
if (mDelegate)
delete mDelegate;
}
QVariant UBGraphicsWebView::itemChange(GraphicsItemChange change, const QVariant &value)
{
if ((change == QGraphicsItem::ItemSelectedHasChanged) && scene()) {
if (isSelected())
scene()->setActiveWindow(this);
else
if(scene()->activeWindow() == this)
scene()->setActiveWindow(0);
}
QVariant newValue = mDelegate->itemChange(change, value);
return QGraphicsWebView::itemChange(change, newValue);
}
void UBGraphicsWebView::setUuid(const QUuid &pUuid)
{
UBItem::setUuid(pUuid);
setData(UBGraphicsItemData::ItemUuid, QVariant(pUuid)); //store item uuid inside the QGraphicsItem to fast operations with Items on the scene
}
void UBGraphicsWebView::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
if (!mDelegate->mousePressEvent(event))
setSelected(true); /* forcing selection */
QGraphicsWebView::mousePressEvent(event);
}
void UBGraphicsWebView::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{
if (!mDelegate->mouseMoveEvent(event))
QGraphicsWebView::mouseMoveEvent(event);
}
void UBGraphicsWebView::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
mDelegate->mouseReleaseEvent(event);
QGraphicsWebView::mouseReleaseEvent(event);
}
void UBGraphicsWebView::wheelEvent(QGraphicsSceneWheelEvent *event)
{
if (mDelegate->weelEvent(event))
{
QGraphicsWebView::wheelEvent(event);
event->accept();
}
}
void UBGraphicsWebView::hoverEnterEvent(QGraphicsSceneHoverEvent *event)
{
Q_UNUSED(event)
/* NOOP */
}
void UBGraphicsWebView::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
{
Q_UNUSED(event)
/* NOOP */
}
void UBGraphicsWebView::setDelegate(UBGraphicsItemDelegate* pDelegate)
{
if (mDelegate)
delete mDelegate;
mDelegate = pDelegate;
}
void UBGraphicsWebView::resize(qreal w, qreal h)
{
UBGraphicsWebView::resize(QSizeF(w, h));
}
void UBGraphicsWebView::resize(const QSizeF & pSize)
{
if (pSize != size()) {
QGraphicsWebView::setMaximumSize(pSize.width(), pSize.height());
QGraphicsWebView::resize(pSize.width(), pSize.height());
if (mDelegate)
mDelegate->positionHandles();
if (scene())
scene()->setModified(true);
}
}
QSizeF UBGraphicsWebView::size() const
{
return QGraphicsWebView::size();
}
UBGraphicsScene* UBGraphicsWebView::scene()
{
return static_cast<UBGraphicsScene*>(QGraphicsItem::scene());
}
void UBGraphicsWebView::remove()
{
if (mDelegate)
mDelegate->remove(true);
}
bool UBGraphicsWebView::event(QEvent *event)
{
if (event->type() == QEvent::ShortcutOverride)
event->accept();
return QGraphicsWebView::event(event);
}
......@@ -13,24 +13,50 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef UBAPPLEWIDGET_H_
#define UBAPPLEWIDGET_H_
#ifndef UBGRAPHICSWEBVIEW_H_
#define UBGRAPHICSWEBVIEW_H_
#include <QtGui>
#include <QtWebKit>
#include "UBAbstractWidget.h"
#include "UBItem.h"
#include "UBResizableGraphicsItem.h"
class UBItem;
class UBGraphicsItemDelegate;
class UBAppleWidget : public UBAbstractWidget
class UBGraphicsWebView: public QGraphicsWebView, public UBItem, public UBResizableGraphicsItem, public UBGraphicsItem
{
Q_OBJECT;
public:
UBAppleWidget(const QUrl& pWidgetUrl, QWidget *parent = 0);
virtual ~UBAppleWidget();
UBGraphicsWebView(QGraphicsItem* parent = 0);
virtual ~UBGraphicsWebView();
virtual void resize(qreal w, qreal h);
virtual void resize(const QSizeF & size);
virtual QSizeF size() const;
void setDelegate(UBGraphicsItemDelegate* pDelegate);
virtual UBGraphicsScene* scene();
virtual void remove();
virtual UBGraphicsItemDelegate* Delegate() const { return mDelegate;}
virtual void clearSource(){;}
virtual void setUuid(const QUuid &pUuid);
protected:
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
virtual void wheelEvent(QGraphicsSceneWheelEvent *event);
virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
virtual bool event(QEvent *event);
virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value);
};
#endif /* UBAPPLEWIDGET_H_ */
#endif /* UBGRAPHICSWEBVIEW_H_ */
This diff is collapsed.
This diff is collapsed.
......@@ -55,7 +55,7 @@ void UBGraphicsWidgetItemDelegate::updateMenuActionState()
UBGraphicsItemDelegate::updateMenuActionState();
if (freezeAction)
freezeAction->setChecked(delegated()->widgetWebView()->isFrozen());
freezeAction->setChecked(delegated()->isFrozen());
}
void UBGraphicsWidgetItemDelegate::decorateMenu(QMenu* menu)
......@@ -71,7 +71,7 @@ void UBGraphicsWidgetItemDelegate::decorateMenu(QMenu* menu)
freezeAction->setCheckable(true);
if (delegated()->widgetWebView()->canBeTool())
if (delegated()->canBeTool())
{
setAsToolAction = mMenu->addAction(tr("Transform as Tool "), this, SLOT(pin()));
QIcon pinIcon;
......@@ -86,11 +86,11 @@ void UBGraphicsWidgetItemDelegate::freeze(bool frozen)
{
if(frozen)
{
delegated()->widgetWebView()->freeze();
delegated()->freeze();
}
else
{
delegated()->widgetWebView()->unFreeze();
delegated()->unFreeze();
}
}
......
This diff is collapsed.
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef UBW3CWIDGET_H_
#define UBW3CWIDGET_H_
#include <QtGui>
#include <QtWebKit>
#include <QtXml>
/*
* wrapper for w3c widget 1.0 as define in http://www.w3.org/TR/widgets/
*/
#include "UBAbstractWidget.h"
class UBItem;
class UBW3CWidget : public UBAbstractWidget
{
Q_OBJECT;
public:
UBW3CWidget(const QUrl& pWidgetUrl, QWidget *parent = 0);
virtual ~UBW3CWidget();
static QString createNPAPIWrapper(const QString& url,
const QString& pMimeType = QString(), const QSize& sizeHint = QSize(300, 150),
const QString& pName = QString());
static QString createNPAPIWrapperInDir(const QString& url, const QDir& pDir,
const QString& pMimeType = QString(), const QSize& sizeHint = QSize(300, 150),
const QString& pName = QString());
static QString createHtmlWrapperInDir(const QString& html, const QDir& pDir,
const QSize& sizeHint, const QString& pName);
static QString freezedWidgetPage();
static QString freezedWidgetFilePath();
static bool hasNPAPIWrapper(const QString& pMimeType);
class PreferenceValue
{
public:
PreferenceValue()
{
// NOOP
}
PreferenceValue(const QString& pValue, bool pReadonly)
{
value = pValue;
readonly = pReadonly;
}
QString value;
bool readonly;
};
class Metadata
{
public:
QString id;
QString name;
QString description;
QString author;
QString authorEmail;
QString authorHref;
QString version;
};
QMap<QString, PreferenceValue> preferences()
{
return mPreferences;
}
Metadata metadatas() const
{
return mMetadatas;
}
private:
QMap<QString, PreferenceValue> mPreferences;
static bool sTemplateLoaded;
static QMap<QString, QString> sNPAPIWrapperTemplates;
static QString sNPAPIWrappperConfigTemplate;
static void loadNPAPIWrappersTemplates();
static QString textForSubElementByLocale(QDomElement rootElement, QString subTagName, QLocale locale);
// w3c metadata widget attributes
//
// http://www.w3.org/TR/widgets/#widget0
Metadata mMetadatas;
private slots:
void javaScriptWindowObjectCleared();
};
#endif /* UBW3CWIDGET_H_ */
......@@ -7,26 +7,23 @@ HEADERS += src/domain/UBGraphicsScene.h \
src/domain/UBDocumentUndoCommand.h \
src/domain/UBPageSizeUndoCommand.h \
src/domain/UBGraphicsProxyWidget.h \
src/domain/UBGraphicsWebView.h \
src/domain/UBGraphicsSvgItem.h \
src/domain/UBGraphicsPolygonItem.h \
src/domain/UBItem.h \
src/domain/UBGraphicsWidgetItem.h \
src/domain/UBAppleWidget.h \
src/domain/UBGraphicsPDFItem.h \
src/domain/UBGraphicsTextItem.h \
src/domain/UBAbstractWidget.h \
src/domain/UBW3CWidget.h \
src/domain/UBResizableGraphicsItem.h \
src/domain/UBGraphicsStroke.h \
src/domain/UBGraphicsMediaItem.h \
src/domain/UBAbstractUndoCommand.h\
src/domain/UBAngleWidget.h \
src/domain/UBGraphicsGroupContainerItem.h \
src/domain/UBGraphicsGroupContainerItemDelegate.h \
src/domain/UBGraphicsStrokesGroup.h
src/domain/UBGraphicsMediaItem.h \
src/domain/UBAbstractUndoCommand.h\
src/domain/UBGraphicsGroupContainerItem.h \
src/domain/UBGraphicsGroupContainerItemDelegate.h \
src/domain/UBGraphicsStrokesGroup.h
HEADERS += src/domain/UBGraphicsItemDelegate.h \
src/domain/UBGraphicsTextItemDelegate.h \
src/domain/UBGraphicsTextItemDelegate.h \
src/domain/UBGraphicsDelegateFrame.h \
src/domain/UBGraphicsWidgetItemDelegate.h \
src/domain/UBGraphicsMediaItemDelegate.h
......@@ -40,27 +37,24 @@ SOURCES += src/domain/UBGraphicsScene.cpp \
src/domain/UBDocumentUndoCommand.cpp \
src/domain/UBPageSizeUndoCommand.cpp \
src/domain/UBGraphicsProxyWidget.cpp \
src/domain/UBGraphicsWebView.cpp \
src/domain/UBGraphicsSvgItem.cpp \
src/domain/UBGraphicsPolygonItem.cpp \
src/domain/UBItem.cpp \
src/domain/UBGraphicsVideoItem.cpp \
src/domain/UBGraphicsWidgetItem.cpp \
src/domain/UBAppleWidget.cpp \
src/domain/UBGraphicsPDFItem.cpp \
src/domain/UBGraphicsTextItem.cpp \
src/domain/UBAbstractWidget.cpp \
src/domain/UBW3CWidget.cpp \
src/domain/UBResizableGraphicsItem.cpp \
src/domain/UBGraphicsStroke.cpp \
src/domain/UBGraphicsMediaItem.cpp \
src/domain/UBAbstractUndoCommand.cpp \
src/domain/UBAngleWidget.cpp \
src/domain/ubgraphicsgroupcontaineritem.cpp \
src/domain/ubgraphicsgroupcontaineritemdelegate.cpp \
src/domain/UBGraphicsStrokesGroup.cpp
src/domain/UBGraphicsMediaItem.cpp \
src/domain/UBAbstractUndoCommand.cpp \
src/domain/ubgraphicsgroupcontaineritem.cpp \
src/domain/ubgraphicsgroupcontaineritemdelegate.cpp \
src/domain/UBGraphicsStrokesGroup.cpp
SOURCES += src/domain/UBGraphicsItemDelegate.cpp \
src/domain/UBGraphicsTextItemDelegate.cpp \
src/domain/UBGraphicsTextItemDelegate.cpp \
src/domain/UBGraphicsMediaItemDelegate.cpp \
src/domain/UBGraphicsDelegateFrame.cpp \
src/domain/UBGraphicsWidgetItemDelegate.cpp \
......
......@@ -32,7 +32,7 @@ UBCoreGraphicsScene::~UBCoreGraphicsScene()
//we must delete removed items that are no more in any scene
foreach (const QGraphicsItem* item, mItemsToDelete)
{
if (item->scene()==NULL || item->scene() == this)
if (item->scene() == NULL || item->scene() == this)
{
delete item;
}
......@@ -61,6 +61,7 @@ void UBCoreGraphicsScene::removeItem(QGraphicsItem* item, bool forceDelete)
{
mItemsToDelete.remove(item);
delete item;
item = 0;
}
}
......@@ -84,6 +85,7 @@ bool UBCoreGraphicsScene::deleteItem(QGraphicsItem* item)
mItemsToDelete.remove(item);
delete item;
item = 0;
return true;
}
else
......
......@@ -96,10 +96,6 @@ UBDockPalette::~UBDockPalette()
delete mpLayout;
mpLayout = NULL;
}
if (NULL != mTabPalette) {
delete mTabPalette;
mTabPalette = NULL;
}
}
/**
......@@ -533,6 +529,7 @@ void UBDockPalette::setVisible(bool visible)
bool UBDockPalette::switchMode(eUBDockPaletteWidgetMode mode)
{
mLastOpenedTabForMode.insert(mCurrentMode, mpStackWidget->currentIndex());
mCurrentMode = mode;
bool hasVisibleElements = false;
//-------------------------------//
......@@ -556,7 +553,7 @@ bool UBDockPalette::switchMode(eUBDockPaletteWidgetMode mode)
//-------------------------------//
if(mRegisteredWidgets.size() > 0)
showTabWidget(0);
showTabWidget(mLastOpenedTabForMode.value(mCurrentMode));
update();
......
......@@ -176,6 +176,8 @@ protected:
QVector<UBDockPaletteWidget*> mRegisteredWidgets;
/** The current tab widget */
QString mCrntTabWidget;
/** Last opened tab index depending on mode */
QMap<eUBDockPaletteWidgetMode,int> mLastOpenedTabForMode;
private slots:
void onToolbarPosUpdated();
......
......@@ -18,11 +18,10 @@
#include "core/UBSettings.h"
#include "board/UBBoardController.h"
#include "domain/UBGraphicsWidgetItem.h"
#include "tools/UBToolsManager.h"
#include "domain/UBAbstractWidget.h"
#include "gui/UBMainWindow.h"
#include "core/memcheck.h"
......@@ -67,9 +66,9 @@ UBFavoriteToolPalette::UBFavoriteToolPalette(QWidget* parent)
foreach(QString widgetPath, appPathes)
{
QAction *action = new QAction(UBAbstractWidget::widgetName(QUrl::fromLocalFile(widgetPath)), this);
QAction *action = new QAction(UBGraphicsWidgetItem::widgetName(QUrl::fromLocalFile(widgetPath)), this);
action->setData(QUrl::fromLocalFile(widgetPath));
action->setIcon(QIcon(UBAbstractWidget::iconFilePath(QUrl::fromLocalFile(widgetPath))));
action->setIcon(QIcon(UBGraphicsWidgetItem::iconFilePath(QUrl::fromLocalFile(widgetPath))));
connect(action, SIGNAL(triggered()), this, SLOT(addFavorite()));
toolsActions << action;
......
#include <QDomDocument>
#include "UBFeaturesWidget.h"
#include "domain/UBAbstractWidget.h"
#include "gui/UBThumbnailWidget.h"
#include "frameworks/UBFileSystemUtils.h"
#include "core/UBApplication.h"
......
......@@ -243,6 +243,8 @@ void UBKeyboardPalette::adjustSizeAndPosition(bool pUp)
void UBKeyboardPalette::paintEvent( QPaintEvent* event)
{
checkLayout();
UBActionPalette::paintEvent(event);
QRect r = this->geometry();
......
This diff is collapsed.
......@@ -164,6 +164,9 @@ void UBKeyboardPalette::createCtrlButtons()
}
void UBKeyboardPalette::checkLayout()
{}
void UBKeyboardPalette::onActivated(bool activated)
{
if (activated)
......
This diff is collapsed.
......@@ -64,9 +64,12 @@ void UBKeyboardPalette::createCtrlButtons()
ctrlButtons[ctrlID++] = new UBLocaleButton(this); // Language Switch
}
void UBKeyboardPalette::checkLayout()
{}
void UBKeyboardPalette::onActivated(bool)
{
}
{}
void UBKeyboardPalette::onLocaleChanged(UBKeyboardLocale* )
{}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment