From 1b4fb56cdc9a630a717acbfe10e466745a188105 Mon Sep 17 00:00:00 2001 From: wmayer Date: Thu, 21 Aug 2014 17:26:52 +0200 Subject: [PATCH] + fix DrawingView::onRelabel() to accept any page names --- src/Mod/Drawing/Gui/DrawingView.cpp | 20 +++++--------------- src/Mod/Drawing/Gui/ViewProviderPage.cpp | 16 ++++++---------- 2 files changed, 11 insertions(+), 25 deletions(-) diff --git a/src/Mod/Drawing/Gui/DrawingView.cpp b/src/Mod/Drawing/Gui/DrawingView.cpp index 9242b8804..b5f0166d5 100644 --- a/src/Mod/Drawing/Gui/DrawingView.cpp +++ b/src/Mod/Drawing/Gui/DrawingView.cpp @@ -349,21 +349,11 @@ bool DrawingView::onHasMsg(const char* pMsg) const void DrawingView::onRelabel(Gui::Document *pDoc) { - if (!bIsPassive) { - // Try to separate document name and object name if there is one - QString cap = windowTitle(); - QRegExp rx(QString::fromLatin1(" : (\\w|\\s){1,}(\\[\\*\\]){0,1}$")); - int pos = rx.lastIndexIn(cap); - if (pos != -1) { - cap = QString::fromUtf8(pDoc->getDocument()->Label.getValue()); - cap += rx.cap(); - setWindowTitle(cap); - } - else { - cap = QString::fromUtf8(pDoc->getDocument()->Label.getValue()); - cap = QString::fromAscii("%1[*]").arg(cap); - setWindowTitle(cap); - } + if (!bIsPassive && pDoc) { + QString cap = QString::fromLatin1("%1 : %2[*]") + .arg(QString::fromUtf8(pDoc->getDocument()->Label.getValue())) + .arg(objectName()); + setWindowTitle(cap); } } diff --git a/src/Mod/Drawing/Gui/ViewProviderPage.cpp b/src/Mod/Drawing/Gui/ViewProviderPage.cpp index 0e576e9e9..60ab900fe 100644 --- a/src/Mod/Drawing/Gui/ViewProviderPage.cpp +++ b/src/Mod/Drawing/Gui/ViewProviderPage.cpp @@ -106,12 +106,11 @@ void ViewProviderDrawingPage::updateData(const App::Property* prop) } else if (pcObject && prop == &pcObject->Label) { if (view){ - const char* docname = pcObject->getDocument()->Label.getValue(); const char* objname = pcObject->Label.getValue(); - QString title = QString::fromAscii("%1 : %2[*]") - .arg(QString::fromUtf8(docname)) - .arg(QString::fromUtf8(objname)); - view->setWindowTitle(title); + view->setObjectName(QString::fromUtf8(objname)); + Gui::Document* doc = Gui::Application::Instance->getDocument + (pcObject->getDocument()); + view->onRelabel(doc); } } } @@ -147,12 +146,9 @@ DrawingView* ViewProviderDrawingPage::showDrawingView() view = new DrawingView(doc, Gui::getMainWindow()); view->setWindowIcon(Gui::BitmapFactory().pixmap("actions/drawing-landscape")); - const char* docname = pcObject->getDocument()->Label.getValue(); const char* objname = pcObject->Label.getValue(); - QString title = QString::fromAscii("%1 : %2[*]") - .arg(QString::fromUtf8(docname)) - .arg(QString::fromUtf8(objname)); - view->setWindowTitle(title); + view->setObjectName(QString::fromUtf8(objname)); + view->onRelabel(doc); Gui::getMainWindow()->addWindow(view); }