Hello community, here is the log from the commit of package umbrello for openSUSE:Factory checked in at 2015-07-14 17:40:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/umbrello (Old) and /work/SRC/openSUSE:Factory/.umbrello.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "umbrello" Changes: -------- --- /work/SRC/openSUSE:Factory/umbrello/umbrello.changes 2015-06-04 11:22:59.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.umbrello.new/umbrello.changes 2015-07-14 17:40:40.000000000 +0200 @@ -1,0 +2,8 @@ +Mon Jul 6 06:02:09 UTC 2015 - [email protected] + +- Update to KDE Applications 15.04.3 + * KDE Applications 15.04.3 + * https://www.kde.org/announcements/announce-applications-15.04.3.php + + +------------------------------------------------------------------- Old: ---- umbrello-15.04.2.tar.xz New: ---- umbrello-15.04.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ umbrello.spec ++++++ --- /var/tmp/diff_new_pack.yBE92g/_old 2015-07-14 17:40:41.000000000 +0200 +++ /var/tmp/diff_new_pack.yBE92g/_new 2015-07-14 17:40:41.000000000 +0200 @@ -24,7 +24,7 @@ License: GPL-2.0 and GFDL-1.2 Group: Development/Tools/Other Url: http://www.kde.org/ -Version: 15.04.2 +Version: 15.04.3 Release: 0 Source0: %{name}-%{version}.tar.xz BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ umbrello-15.04.2.tar.xz -> umbrello-15.04.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/CMakeLists.txt new/umbrello-15.04.3/CMakeLists.txt --- old/umbrello-15.04.2/CMakeLists.txt 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/CMakeLists.txt 2015-06-22 07:35:59.000000000 +0200 @@ -8,7 +8,7 @@ set(VERSION_MAJOR "2") set(VERSION_MINOR "16") -set(VERSION_PATCH "1") +set(VERSION_PATCH "3") # set default umbrello version # umbrello version could be overridden by cmake command line using -DUMBRELLO_VERSION_STRING=major.minor.patch diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/lib/cppparser/parser.cpp new/umbrello-15.04.3/lib/cppparser/parser.cpp --- old/umbrello-15.04.2/lib/cppparser/parser.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/lib/cppparser/parser.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -2741,7 +2741,9 @@ ADVANCE(')', ")"); StatementAST::Node body; - parseStatement(body); + if (!parseStatement(body)) { + reportError(i18n("statement expected")); + } ForStatementAST::Node ast = CreateNode<ForStatementAST>(); ast->setInitStatement(init); @@ -2769,7 +2771,9 @@ ADVANCE(')', ")"); StatementAST::Node body; - parseStatement(body); + if (!parseStatement(body)) { + reportError(i18n("statement expected")); + } ForEachStatementAST::Node ast = CreateNode<ForEachStatementAST>(); // add here the parser results diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/maintainer/update-version new/umbrello-15.04.3/maintainer/update-version --- old/umbrello-15.04.2/maintainer/update-version 1970-01-01 01:00:00.000000000 +0100 +++ new/umbrello-15.04.3/maintainer/update-version 2015-06-22 07:35:59.000000000 +0200 @@ -0,0 +1,27 @@ +#!/bin/sh +# +# Update patch level in CMakelists.txt for non master branch and commit the new version. +# +# requirements: +# - current branch is named 'Applications/...' +# +# Author: [email protected] +# +version_major=$(grep set\(VERSION_MAJOR CMakeLists.txt | sed 's,^.* ",,g;s,".*$,,g') +version_minor=$(grep set\(VERSION_MINOR CMakeLists.txt | sed 's,^.* ",,g;s,".*$,,g') +version_patch=$(grep set\(VERSION_PATCH CMakeLists.txt | sed 's,^.* ",,g;s,".*$,,g') +if test $version_patch -eq 99; then + echo could not update master branch + exit 1 +fi + +kde_branch=$(git branch | grep '* Applications' | sed 's,^.*/,,g') +if test -z "$kde_branch"; then + echo could not find Applications branch + exit 1 +fi +old_version_patch=$version_patch +version_patch=$(expr $version_patch '+' 1) +perl -pi -e "s,VERSION_PATCH \"$old_version_patch\",VERSION_PATCH \"$version_patch\",g" CMakeLists.txt +git commit -m "Update version to $version_major.$version_minor.$version_patch (KDE Applications version $kde_branch.$version_patch)." CMakeLists.txt + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/classifier.cpp new/umbrello-15.04.3/umbrello/classifier.cpp --- old/umbrello-15.04.2/umbrello/classifier.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/classifier.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -1217,7 +1217,7 @@ break; } case UMLObject::ot_Attribute: { - UMLAttribute *retval = dynamic_cast<UMLAttribute*>(m_List.takeAt(index)); + UMLAttribute *retval = dynamic_cast<UMLAttribute*>(m_List.takeAt(index).data()); if (retval) { emit attributeRemoved(retval); UMLObject::emitModified(); @@ -1227,7 +1227,7 @@ break; } case UMLObject::ot_Template: { - UMLTemplate *templt = dynamic_cast<UMLTemplate*>(m_List.takeAt(index)); + UMLTemplate *templt = dynamic_cast<UMLTemplate*>(m_List.takeAt(index).data()); if (templt) { emit templateRemoved(templt); UMLObject::emitModified(); @@ -1237,7 +1237,7 @@ break; } case UMLObject::ot_EnumLiteral: { - UMLEnumLiteral *el = dynamic_cast<UMLEnumLiteral*>(m_List.takeAt(index) ); + UMLEnumLiteral *el = dynamic_cast<UMLEnumLiteral*>(m_List.takeAt(index).data()); if (el) { UMLEnum *e = static_cast<UMLEnum*>(this); e->signalEnumLiteralRemoved(el); @@ -1248,7 +1248,7 @@ break; } case UMLObject::ot_EntityAttribute: { - UMLEntityAttribute* el = dynamic_cast<UMLEntityAttribute*>(m_List.takeAt(index)); + UMLEntityAttribute* el = dynamic_cast<UMLEntityAttribute*>(m_List.takeAt(index).data()); if (el) { UMLEntity *e = static_cast<UMLEntity*>(this); e->signalEntityAttributeRemoved(el); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/codegenerators/cpp/cppheadercodedocument.cpp new/umbrello-15.04.3/umbrello/codegenerators/cpp/cppheadercodedocument.cpp --- old/umbrello-15.04.2/umbrello/codegenerators/cpp/cppheadercodedocument.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/codegenerators/cpp/cppheadercodedocument.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -210,17 +210,7 @@ if(!loadCheckForChildrenOK) { - CodeDocument * test = dynamic_cast<CodeDocument*>(this); - if(test) - { - uWarning()<<" loadChildBlocks : unable to initialize any child blocks in doc: "<<test->getFileName()<<" "<<this; - } else { - HierarchicalCodeBlock * hb = dynamic_cast<HierarchicalCodeBlock*>(this); - if(hb) - uWarning()<<" loadChildBlocks : unable to initialize any child blocks in Hblock: "<<hb->getTag()<<" "<<this; - else - uDebug()<<" loadChildBlocks : unable to initialize any child blocks in UNKNOWN OBJ:"<<this; - } + uWarning() << "loadChildBlocks : unable to initialize any child blocks in doc: " << getFileName() << " " << this; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/codegenerators/cpp/cppwriter.cpp new/umbrello-15.04.3/umbrello/codegenerators/cpp/cppwriter.cpp --- old/umbrello-15.04.2/umbrello/codegenerators/cpp/cppwriter.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/codegenerators/cpp/cppwriter.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -923,7 +923,7 @@ QString indnt = indent(); // set method - if (change == Uml::Changeability::Changeable && !isStatic) { + if (change == Uml::Changeability::Changeable) { writeDocumentation(QLatin1String("Set the value of ") + fieldVarName, description, policyExt()->getDocToolTag() + QLatin1String("param new_var the new value of ") + fieldVarName, stream); stream << indnt << "void "; if (!isHeaderMethod) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/codegenerators/d/dclassifiercodedocument.cpp new/umbrello-15.04.3/umbrello/codegenerators/d/dclassifiercodedocument.cpp --- old/umbrello-15.04.2/umbrello/codegenerators/d/dclassifiercodedocument.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/codegenerators/d/dclassifiercodedocument.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -240,17 +240,7 @@ if (!loadCheckForChildrenOK) { - CodeDocument * test = dynamic_cast<CodeDocument*>(this); - if (test) - { - uWarning()<<" loadChildBlocks : unable to initialize any child blocks in doc: "<<test->getFileName()<<" "<<this; - } else { - HierarchicalCodeBlock * hb = dynamic_cast<HierarchicalCodeBlock*>(this); - if (hb) - uWarning()<<" loadChildBlocks : unable to initialize any child blocks in Hblock: "<<hb->getTag()<<" "<<this; - else - uDebug()<<" loadChildBlocks : unable to initialize any child blocks in UNKNOWN OBJ:"<<this; - } + uWarning() << "loadChildBlocks : unable to initialize any child blocks in doc: " << getFileName() << " " << this; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/codegenerators/d/dcodeclassfield.cpp new/umbrello-15.04.3/umbrello/codegenerators/d/dcodeclassfield.cpp --- old/umbrello-15.04.2/umbrello/codegenerators/d/dcodeclassfield.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/codegenerators/d/dcodeclassfield.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -73,7 +73,6 @@ uError() << "parent object is not a UMLAttribute"; return QString(); } - return fixInitialStringDeclValue(at->getInitialValue(), getTypeName()); } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/codegenerators/java/javaantcodedocument.cpp new/umbrello-15.04.3/umbrello/codegenerators/java/javaantcodedocument.cpp --- old/umbrello-15.04.2/umbrello/codegenerators/java/javaantcodedocument.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/codegenerators/java/javaantcodedocument.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -168,17 +168,7 @@ if (!loadCheckForChildrenOK) { - CodeDocument * test = dynamic_cast<CodeDocument*>(this); - if (test) - { - uWarning()<<" loadChildBlocks : unable to initialize any child blocks in doc: "<<test->getFileName()<<" "<<this; - } else { - HierarchicalCodeBlock * hb = dynamic_cast<HierarchicalCodeBlock*>(this); - if (hb) - uWarning()<<" loadChildBlocks : unable to initialize any child blocks in Hblock: "<<hb->getTag()<<" "<<this; - else - uDebug()<<" loadChildBlocks : unable to initialize any child blocks in UNKNOWN OBJ:"<<this; - } + uWarning() << " loadChildBlocks : unable to initialize any child blocks in doc: " << getFileName() << " " << this; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/codegenerators/java/javaclassifiercodedocument.cpp new/umbrello-15.04.3/umbrello/codegenerators/java/javaclassifiercodedocument.cpp --- old/umbrello-15.04.2/umbrello/codegenerators/java/javaclassifiercodedocument.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/codegenerators/java/javaclassifiercodedocument.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -237,16 +237,7 @@ } if (!loadCheckForChildrenOK) { - CodeDocument * test = dynamic_cast<CodeDocument*>(this); - if (test) { - uWarning()<<" loadChildBlocks : unable to initialize any child blocks in doc: "<<test->getFileName()<<" "<<this; - } else { - HierarchicalCodeBlock * hb = dynamic_cast<HierarchicalCodeBlock*>(this); - if (hb) - uWarning()<<" loadChildBlocks : unable to initialize any child blocks in Hblock: "<<hb->getTag()<<" "<<this; - else - uDebug()<<" loadChildBlocks : unable to initialize any child blocks in UNKNOWN OBJ:"<<this; - } + uWarning() << "loadChildBlocks : unable to initialize any child blocks in doc: " << getFileName() << " " << this; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/codegenerators/ruby/rubyclassifiercodedocument.cpp new/umbrello-15.04.3/umbrello/codegenerators/ruby/rubyclassifiercodedocument.cpp --- old/umbrello-15.04.2/umbrello/codegenerators/ruby/rubyclassifiercodedocument.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/codegenerators/ruby/rubyclassifiercodedocument.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -274,17 +274,7 @@ if (!loadCheckForChildrenOK) { - CodeDocument * test = dynamic_cast<CodeDocument*>(this); - if (test) - { - uWarning()<<" loadChildBlocks : unable to initialize any child blocks in doc: "<<test->getFileName()<<" "<<this; - } else { - HierarchicalCodeBlock * hb = dynamic_cast<HierarchicalCodeBlock*>(this); - if (hb) - uWarning()<<" loadChildBlocks : unable to initialize any child blocks in Hblock: "<<hb->getTag()<<" "<<this; - else - uDebug()<<" loadChildBlocks : unable to initialize any child blocks in UNKNOWN OBJ:"<<this; - } + uWarning()<<" loadChildBlocks : unable to initialize any child blocks in doc: " << getFileName() << " " << this; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/codegenerators/ruby/rubycodeclassfield.cpp new/umbrello-15.04.3/umbrello/codegenerators/ruby/rubycodeclassfield.cpp --- old/umbrello-15.04.2/umbrello/codegenerators/ruby/rubycodeclassfield.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/codegenerators/ruby/rubycodeclassfield.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -71,7 +71,6 @@ uError() << "parent object is not a UMLAttribute"; return QString(); } - return fixInitialStringDeclValue(at->getInitialValue(), getTypeName()); } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/codeimport/kdevcppparser/cpptree2uml.cpp new/umbrello-15.04.3/umbrello/codeimport/kdevcppparser/cpptree2uml.cpp --- old/umbrello-15.04.2/umbrello/codeimport/kdevcppparser/cpptree2uml.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/codeimport/kdevcppparser/cpptree2uml.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -36,8 +36,9 @@ #include <QRegExp> CppTree2Uml::CppTree2Uml(const QString& fileName, CodeImpThread* thread) - : m_anon(0), m_nsCnt(0), m_clsCnt(0), m_thread(thread) + : m_thread(thread) { + clear(); QDir dir(fileName); m_fileName = dir.canonicalPath(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/dialogs/codeeditor.cpp new/umbrello-15.04.3/umbrello/dialogs/codeeditor.cpp --- old/umbrello-15.04.2/umbrello/dialogs/codeeditor.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/dialogs/codeeditor.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -1061,7 +1061,7 @@ // auto-indent new lines textCursor().setPosition(para); QString currentParaText = textCursor().block().text(); - QString baseIndent = tBlock->getNewEditorLine(tBlock->getIndentationLevel()+(cmb ? 1 : 0)); + QString baseIndent = tBlock->getNewEditorLine(tBlock->getIndentationLevel() + 1); // cerr<<"AUTO INDENT:["<<baseIndent.latin1()<<"] isMethod?"<<(cmb?"true":"false")<<endl; int minPos = baseIndent.length(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/dialogs/pages/umlwidgetstylepage.cpp new/umbrello-15.04.3/umbrello/dialogs/pages/umlwidgetstylepage.cpp --- old/umbrello-15.04.2/umbrello/dialogs/pages/umlwidgetstylepage.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/dialogs/pages/umlwidgetstylepage.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -263,7 +263,7 @@ m_options->uiState.lineWidth = m_lineWidthB->value(); } else if (m_scene) { - Settings::OptionState state; + Settings::OptionState state = m_scene->optionState(); state.uiState.useFillColor = m_pUseFillColorCB->isChecked(); state.uiState.textColor = m_pTextColorB->color(); state.uiState.lineColor = m_pLineColorB->color(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/finder/umlfinder.cpp new/umbrello-15.04.3/umbrello/finder/umlfinder.cpp --- old/umbrello-15.04.2/umbrello/finder/umlfinder.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/finder/umlfinder.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -24,7 +24,7 @@ { if (!o) return false; - UMLObject::ObjectType type = o ? o->baseType() : UMLObject::ot_Unknown; + UMLObject::ObjectType type = o->baseType(); return category == All || (category == Classes && type == UMLObject::ot_Class) || (category == Interfaces && type == UMLObject::ot_Interface) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/layouts/activity-vertical.desktop new/umbrello-15.04.3/umbrello/layouts/activity-vertical.desktop --- old/umbrello-15.04.2/umbrello/layouts/activity-vertical.desktop 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/layouts/activity-vertical.desktop 2015-06-22 07:35:59.000000000 +0200 @@ -41,7 +41,7 @@ Name[zh_TW]=垂直佈局 Comment=Layout which renders vertical Comment[bs]=Raspored koji obrađuej vertikalno -Comment[ca]=DIsposició que renderitza verticalment +Comment[ca]=Disposició que renderitza verticalment Comment[ca@valencia]=DIsposició que renderitza verticalment Comment[da]=Layout som renderer lodret Comment[de]=Layout, das vertikal gerendert wird diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/layouts/class-horizontal.desktop new/umbrello-15.04.3/umbrello/layouts/class-horizontal.desktop --- old/umbrello-15.04.2/umbrello/layouts/class-horizontal.desktop 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/layouts/class-horizontal.desktop 2015-06-22 07:35:59.000000000 +0200 @@ -40,7 +40,7 @@ Name[zh_TW]=水平佈局 Comment=Layout which renders Horizontal Comment[bs]=Raspored koji obrađuje horizontalno -Comment[ca]=DIsposició que renderitza horitzontalment +Comment[ca]=Disposició que renderitza horitzontalment Comment[ca@valencia]=DIsposició que renderitza horitzontalment Comment[da]=Layout som renderer vandret Comment[de]=Layout, das horizontal gerendert wird diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/layouts/class-vertical.desktop new/umbrello-15.04.3/umbrello/layouts/class-vertical.desktop --- old/umbrello-15.04.2/umbrello/layouts/class-vertical.desktop 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/layouts/class-vertical.desktop 2015-06-22 07:35:59.000000000 +0200 @@ -41,7 +41,7 @@ Name[zh_TW]=垂直佈局 Comment=Layout which renders vertical Comment[bs]=Raspored koji obrađuej vertikalno -Comment[ca]=DIsposició que renderitza verticalment +Comment[ca]=Disposició que renderitza verticalment Comment[ca@valencia]=DIsposició que renderitza verticalment Comment[da]=Layout som renderer lodret Comment[de]=Layout, das vertikal gerendert wird diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/layouts/state-vertical.desktop new/umbrello-15.04.3/umbrello/layouts/state-vertical.desktop --- old/umbrello-15.04.2/umbrello/layouts/state-vertical.desktop 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/layouts/state-vertical.desktop 2015-06-22 07:35:59.000000000 +0200 @@ -41,7 +41,7 @@ Name[zh_TW]=垂直佈局 Comment=Layout which renders vertical Comment[bs]=Raspored koji obrađuej vertikalno -Comment[ca]=DIsposició que renderitza verticalment +Comment[ca]=Disposició que renderitza verticalment Comment[ca@valencia]=DIsposició que renderitza verticalment Comment[da]=Layout som renderer lodret Comment[de]=Layout, das vertikal gerendert wird diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/model_utils.cpp new/umbrello-15.04.3/umbrello/model_utils.cpp --- old/umbrello-15.04.2/umbrello/model_utils.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/model_utils.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -431,6 +431,8 @@ /** * Build the diagram name from the tree view. + + * The function returns a relative path constructed from the folder hierachy. * @param id the id of the diaram * @return the constructed diagram name */ @@ -440,13 +442,12 @@ UMLListViewItem* listViewItem = listView->findItem(id); if (listViewItem) { - // skip the name of the first item because it's the View + QString name = listViewItem->text(0); listViewItem = static_cast<UMLListViewItem*>(listViewItem->parent()); // Relies on the tree structure of the UMLListView. There are a base "Views" folder // and five children, one for each view type (Logical, use case, components, deployment // and entity relationship) - QString name; while (listView->rootView(listViewItem->type()) == NULL) { name.insert(0, listViewItem->text(0) + QLatin1Char('/')); listViewItem = static_cast<UMLListViewItem*>(listViewItem->parent()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/object_factory.cpp new/umbrello-15.04.3/umbrello/object_factory.cpp --- old/umbrello-15.04.2/umbrello/object_factory.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/object_factory.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -95,7 +95,7 @@ uError() << name << ": parentPkg is NULL"; return NULL; } - UMLObject *o = NULL; + QPointer<UMLObject> o = NULL; switch (type) { case UMLObject::ot_Actor: o = new UMLActor(name, g_predefinedId); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/package.cpp new/umbrello-15.04.3/umbrello/package.cpp --- old/umbrello-15.04.2/umbrello/package.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/package.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -241,6 +241,8 @@ const bool caseSensitive = UMLApp::app()->activeLanguageIsCaseSensitive(); for (UMLObjectListIt oit(m_objects); oit.hasNext();) { UMLObject *obj = oit.next(); + if (!obj) + continue; if (caseSensitive) { if (obj->name() == name) return obj; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/petaltree2uml.cpp new/umbrello-15.04.3/umbrello/petaltree2uml.cpp --- old/umbrello-15.04.2/umbrello/petaltree2uml.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/petaltree2uml.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -488,9 +488,6 @@ uError() << assocStr << " roleview_list roles are incomplete"; return; } - } else { - supElem = attr->findAttribute(QLatin1String("supplier")); - cliElem = attr->findAttribute(QLatin1String("client")); } QString supplier = supElem.string; QString client = cliElem.string; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/uml.cpp new/umbrello-15.04.3/umbrello/uml.cpp --- old/umbrello-15.04.2/umbrello/uml.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/uml.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -1484,8 +1484,12 @@ */ void UMLApp::slotFileExportDocbook() { + QString path = KFileDialog::getExistingDirectory(); + if (path.isEmpty()) { + return; + } DocbookGenerator* docbookGenerator = new DocbookGenerator; - docbookGenerator->generateDocbookForProject(); + docbookGenerator->generateDocbookForProjectInto(path); connect(docbookGenerator, SIGNAL(finished(bool)), docbookGenerator, SLOT(deleteLater())); } @@ -1497,12 +1501,16 @@ */ void UMLApp::slotFileExportXhtml() { - if (m_xhtmlGenerator != 0) { - return; - } - m_xhtmlGenerator = new XhtmlGenerator(); - m_xhtmlGenerator->generateXhtmlForProject(); - connect(m_xhtmlGenerator, SIGNAL(finished(bool)), this, SLOT(slotXhtmlDocGenerationFinished(bool))); + QString path = KFileDialog::getExistingDirectory(); + if (path.isEmpty()) { + return; + } + + if (!m_xhtmlGenerator) { + m_xhtmlGenerator = new XhtmlGenerator; + } + m_xhtmlGenerator->generateXhtmlForProjectInto(path); + connect(m_xhtmlGenerator, SIGNAL(finished(bool)), this, SLOT(slotXhtmlDocGenerationFinished(bool))); } /** @@ -3101,7 +3109,7 @@ void UMLApp::slotChangeTabLeft() { //DEBUG(DBG_SRC) << "currentIndex = " << m_tabWidget->currentIndex() << " of " << m_tabWidget->count(); - if (m_tabWidget) { + if (Settings::optionState().generalState.tabdiagrams && m_tabWidget) { m_tabWidget->setCurrentIndex(m_tabWidget->currentIndex() - 1); return; } @@ -3131,7 +3139,7 @@ void UMLApp::slotChangeTabRight() { //DEBUG(DBG_SRC) << "currentIndex = " << m_tabWidget->currentIndex() << " of " << m_tabWidget->count(); - if (m_tabWidget) { + if (Settings::optionState().generalState.tabdiagrams && m_tabWidget) { m_tabWidget->setCurrentIndex(m_tabWidget->currentIndex() + 1); return; } @@ -3143,16 +3151,12 @@ return; } UMLView* nextView = NULL; - if (viewIndex!= views.count()) { - views.begin()[viewIndex + 1]; + if (viewIndex < views.count()-1) { + nextView = views.begin()[viewIndex + 1]; + setCurrentView(nextView); } - - if ((currView = nextView) != NULL) { - setCurrentView(currView); - } - else { + else setCurrentView(views.first()); - } } /* for debugging only diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/umldoc.cpp new/umbrello-15.04.3/umbrello/umldoc.cpp --- old/umbrello-15.04.2/umbrello/umldoc.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/umldoc.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -2933,7 +2933,7 @@ * Sets the default settings to the given settings. * @param optionState settings */ -void UMLDoc::settingsChanged(Settings::OptionState optionState) +void UMLDoc::settingsChanged(Settings::OptionState &optionState) { for (int i = 0; i < Uml::ModelType::N_MODELTYPES; ++i) { m_root[i]->setViewOptions(optionState); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/umldoc.h new/umbrello-15.04.3/umbrello/umldoc.h --- old/umbrello-15.04.2/umbrello/umldoc.h 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/umldoc.h 2015-06-22 07:35:59.000000000 +0200 @@ -194,7 +194,7 @@ void setDocumentation(const QString &doc); QString documentation() const; - void settingsChanged(Settings::OptionState optionState); + void settingsChanged(Settings::OptionState &optionState); QString uniqueViewName(const Uml::DiagramType::Enum type); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/umlobjectlist.h new/umbrello-15.04.3/umbrello/umlobjectlist.h --- old/umbrello-15.04.2/umbrello/umlobjectlist.h 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/umlobjectlist.h 2015-06-22 07:35:59.000000000 +0200 @@ -13,17 +13,19 @@ #define UMLOBJECTLIST_H #include <QList> +#include <QPointer> // forward declarations class UMLObject; -typedef QListIterator<UMLObject*> UMLObjectListIt; +typedef QListIterator<QPointer<UMLObject> > +UMLObjectListIt; /** * This sub-class adds copyInto and clone to the QList<UMLObject*> * base class. */ -class UMLObjectList : public QList<UMLObject*> +class UMLObjectList : public QList<QPointer<UMLObject> > { public: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/umlscene.cpp new/umbrello-15.04.3/umbrello/umlscene.cpp --- old/umbrello-15.04.2/umbrello/umlscene.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/umlscene.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -1014,7 +1014,7 @@ foreach(MessageWidget *obj, m_MessageList) { if (obj->hasObjectWidget(w)) { - removeWidget(obj); + removeWidgetCmd(obj); } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/umlviewimageexportermodel.cpp new/umbrello-15.04.3/umbrello/umlviewimageexportermodel.cpp --- old/umbrello-15.04.2/umbrello/umlviewimageexportermodel.cpp 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/umlviewimageexportermodel.cpp 2015-06-22 07:35:59.000000000 +0200 @@ -27,6 +27,7 @@ // include files for Qt #include <QApplication> +#include <QDesktopWidget> #include <QDir> #include <QImage> #include <QImageWriter> @@ -289,7 +290,7 @@ if (scene) { if (useFolders) { qApp->processEvents(); //:TODO: still needed ??? - return Model_Utils::treeViewBuildDiagramName(scene->ID()); + return Model_Utils::treeViewBuildDiagramName(scene->ID()) + QLatin1Char('.') + imageType.toLower(); } else { return scene->name() + QLatin1Char('.') + imageType.toLower(); @@ -356,7 +357,7 @@ return false; } } else if (imageMimeType == QLatin1String("image/x-eps")) { - if (!exportViewToEps(scene, fileName, true)) { + if (!exportViewToEps(scene, fileName)) { return false; } } else if (imageMimeType == QLatin1String("image/svg+xml")) { @@ -399,66 +400,47 @@ * * @param scene The scene to export. * @param fileName The name of the file where the image will be saved. - * @param isEPS The file is an eps file and needs adjusting - * of the eps bounding box values. * @return True if the operation was successful, * false if a problem occurred while exporting. */ -bool UMLViewImageExporterModel::exportViewToEps(UMLScene* scene, const QString &fileName, bool isEPS) const +bool UMLViewImageExporterModel::exportViewToEps(UMLScene* scene, const QString &fileName) const { if (!scene) { uWarning() << "Scene is null!"; return false; } - bool exportSuccessful = true; - - // print the image to a normal postscript file, - // do not clip so that everything ends up in the file - // regardless of "paper size" - - // because we want to work with postscript - // user-coordinates, set to the resolution - // of the printer (which should be 72dpi here) - QPrinter *printer; + qreal border = 0.01; // mm + QRectF rect = scene->diagramRect(); + QSizeF paperSize(rect.size() * 25.4f / qApp->desktop()->logicalDpiX()); - if (isEPS == false) { - printer = new QPrinter(QPrinter::PrinterResolution); - } else { - printer = new QPrinter(QPrinter::ScreenResolution); - } - printer->setOutputFileName(fileName); - printer->setOutputFormat(QPrinter::PostScriptFormat); - printer->setColorMode(QPrinter::Color); + QPrinter printer(QPrinter::ScreenResolution); + printer.setOutputFileName(fileName); + printer.setOutputFormat(QPrinter::PostScriptFormat); + printer.setColorMode(QPrinter::Color); + printer.setPaperSize(paperSize, QPrinter::Millimeter); + printer.setPageMargins(paperSize.width() * border, paperSize.height() * border, 0, 0, QPrinter::Millimeter); + printer.setResolution(qApp->desktop()->logicalDpiX()); + printer.setOrientation(paperSize.width() < paperSize.height() ? QPrinter::Landscape : QPrinter::Portrait); // do not call printer.setup(); because we want no user // interaction here - QPainter *painter = new QPainter(printer); + QPainter painter(&printer); + + // add border around image + painter.scale(1 - border, 1 - border); // make sure the widget sizes will be according to the // actually used printer font, important for diagramRect() // and the actual painting - scene->forceUpdateWidgetFontMetrics(painter); - - QRectF rect = scene->diagramRect(); - painter->translate(-rect.x(), -rect.y()); - scene->getDiagram(*painter, rect); + scene->forceUpdateWidgetFontMetrics(&painter); - int resolution = printer->resolution(); + scene->getDiagram(painter, rect); - // delete painter and printer before we try to open and fix the file - delete painter; - delete printer; - if (isEPS) { - // modify bounding box from screen to eps resolution. - rect.setWidth(int(ceil(rect.width() * 72.0/resolution))); - rect.setHeight(int(ceil(rect.height() * 72.0/resolution))); - exportSuccessful = fixEPS(fileName, rect); - } // next painting will most probably be to a different device (i.e. the screen) scene->forceUpdateWidgetFontMetrics(0); - return exportSuccessful; + return true; } /** @@ -482,6 +464,7 @@ QSvgGenerator generator; generator.setFileName(fileName); generator.setSize(rect.toRect().size()); + generator.setResolution(qApp->desktop()->logicalDpiX()); generator.setViewBox(QRect(0, 0, rect.width(), rect.height())); QPainter painter(&generator); @@ -526,7 +509,9 @@ } QRectF rect = scene->diagramRect(); - QPixmap diagram(rect.width(), rect.height()); + float scale = 72.0f / qApp->desktop()->logicalDpiX(); + QSizeF size = rect.size() * scale; + QPixmap diagram(size.toSize()); scene->getDiagram(diagram, rect); bool exportSuccessful = diagram.save(fileName, qPrintable(imageType.toUpper())); DEBUG(DBG_IEM) << "saving to file " << fileName @@ -536,56 +521,3 @@ << ", successful=" << exportSuccessful; return exportSuccessful; } - -/** - * Fix the file 'fileName' to be a valid EPS containing the - * specified area (rect) of the diagram. - * Corrects the bounding box. - * - * @return True if the operation was successful, - * false if a problem occurred while exporting. - */ -bool UMLViewImageExporterModel::fixEPS(const QString &fileName, const QRectF& rect) const -{ - // now open the file and make a correct eps out of it - QFile epsfile(fileName); - if (! epsfile.open(QIODevice::ReadOnly)) { - return false; - } - // read - QTextStream ts(&epsfile); - QString fileContent = ts.readAll(); - epsfile.close(); - - // read information - QRegExp rx(QLatin1String("%%BoundingBox:\\s*(-?[\\d\\.:]+)\\s*(-?[\\d\\.:]+)\\s*(-?[\\d\\.:]+)\\s*(-?[\\d\\.:]+)")); - const int pos = rx.indexIn(fileContent); - if (pos < 0) { - uError() << fileName << ": cannot find %%BoundingBox"; - return false; - } - - // write new content to file - if (! epsfile.open(QIODevice::WriteOnly | QIODevice::Truncate)) { - uError() << fileName << ": cannot open file for writing"; - return false; - } - - // be careful when rounding (ceil/floor) the BB, these roundings - // were mainly obtained experimentally... - const double epsleft = rx.cap(1).toFloat(); - const double epstop = rx.cap(4).toFloat(); - const int left = int(floor(epsleft)); - const int right = int(ceil(epsleft)) + rect.width(); - const int top = int(ceil(epstop)) + 1; - const int bottom = int(floor(epstop)) - rect.height() + 1; - - // modify content - fileContent.replace(pos, rx.cap(0).length(), - QString::fromLatin1("%%BoundingBox: %1 %2 %3 %4").arg(left).arg(bottom).arg(right).arg(top)); - - ts << fileContent; - epsfile.close(); - - return true; -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-15.04.2/umbrello/umlviewimageexportermodel.h new/umbrello-15.04.3/umbrello/umlviewimageexportermodel.h --- old/umbrello-15.04.2/umbrello/umlviewimageexportermodel.h 2015-05-18 10:51:20.000000000 +0200 +++ new/umbrello-15.04.3/umbrello/umlviewimageexportermodel.h 2015-06-22 07:35:59.000000000 +0200 @@ -53,12 +53,10 @@ bool exportViewTo(UMLScene* scene, const QString &imageType, const QString &fileName) const; bool exportViewToDot(UMLScene* scene, const QString &fileName) const; - bool exportViewToEps(UMLScene* scene, const QString &fileName, bool isEPS) const; + bool exportViewToEps(UMLScene* scene, const QString &fileName) const; bool exportViewToSvg(UMLScene* scene, const QString &fileName) const; bool exportViewToPixmap(UMLScene* scene, const QString &imageType, const QString &fileName) const; - bool fixEPS(const QString &fileName, const QRectF& rect) const; - static QStringList s_supportedImageTypesList; static QStringList s_supportedMimeTypesList;
