Hello community, here is the log from the commit of package umbrello for openSUSE:Factory checked in at 2013-12-11 14:36:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 2013-12-02 12:36:16.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.umbrello.new/umbrello.changes 2013-12-11 14:37:09.000000000 +0100 @@ -1,0 +2,14 @@ +Fri Nov 29 08:47:51 UTC 2013 - [email protected] + +- Update to 4.11.97 + * KDE 4.12 RC 1 release + * See http://www.kde.org/announcements/announce-4.12-rc.php + +------------------------------------------------------------------- +Sat Nov 23 23:01:56 UTC 2013 - [email protected] + +- Update to 4.11.95 + * KDE 4.12 Beta 3 release + * See http://www.kde.org/announcements/announce-4.12-beta3.php + +------------------------------------------------------------------- Old: ---- umbrello-4.11.90.tar.xz New: ---- umbrello-4.11.97.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ umbrello.spec ++++++ --- /var/tmp/diff_new_pack.sp9hg8/_old 2013-12-11 14:37:09.000000000 +0100 +++ /var/tmp/diff_new_pack.sp9hg8/_new 2013-12-11 14:37:09.000000000 +0100 @@ -24,7 +24,7 @@ License: GPL-2.0 and GFDL-1.2 Group: Development/Tools/Other Url: http://www.kde.org/ -Version: 4.11.90 +Version: 4.11.97 Release: 0 Source0: %{name}-%{version}.tar.xz BuildRoot: %{_tmppath}/%{name}-%{version}-build ++++++ umbrello-4.11.90.tar.xz -> umbrello-4.11.97.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/CMakeLists.txt new/umbrello-4.11.97/CMakeLists.txt --- old/umbrello-4.11.90/CMakeLists.txt 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/CMakeLists.txt 2013-11-26 11:15:06.000000000 +0100 @@ -8,7 +8,7 @@ set(VERSION_MAJOR "2") set(VERSION_MINOR "11") -set(VERSION_PATCH "90") +set(VERSION_PATCH "97") # set default umbrello version # umbrello version could be overriden by cmake command line using -DUMBRELLO_VERSION_STRING=major.minor.patch @@ -17,6 +17,7 @@ if(EXISTS ${CMAKE_SOURCE_DIR}/.git) execute_process( COMMAND git rev-parse --short HEAD + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE _hash ) string(REPLACE "\n" "" hash ${_hash}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/clipboard/umlclipboard.cpp new/umbrello-4.11.97/umbrello/clipboard/umlclipboard.cpp --- old/umbrello-4.11.90/umbrello/clipboard/umlclipboard.cpp 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/clipboard/umlclipboard.cpp 2013-11-26 11:15:06.000000000 +0100 @@ -93,7 +93,15 @@ // example when using cut-paste or pasting to another Umbrello // instance. foreach (WidgetBase* widget, m_WidgetList) { - m_ObjectList.append(widget->umlObject()); + if (widget->umlObject() != 0) { + m_ObjectList.append(widget->umlObject()); + } + } + + foreach (WidgetBase* widget, m_AssociationList) { + if (widget->umlObject() != 0) { + m_ObjectList.append(widget->umlObject()); + } } } else { //if the copy action is being performed from the ListView UMLListViewItemList itemsSelected = listView->selectedItems(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/clipboard/umldragdata.cpp new/umbrello-4.11.97/umbrello/clipboard/umldragdata.cpp --- old/umbrello-4.11.90/umbrello/clipboard/umldragdata.cpp 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/clipboard/umldragdata.cpp 2013-11-26 11:15:06.000000000 +0100 @@ -640,9 +640,6 @@ while (!element.isNull()) { UMLObject* pObject = 0; QString type = element.tagName(); - //FIXME associations don't load - if (type == "UML:Association") - continue; UMLDoc* doc = UMLApp::app()->document(); Uml::ID::Type elmId = Uml::ID::fromString(element.attribute("xmi.id")); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/codeimport/adaimport.cpp new/umbrello-4.11.97/umbrello/codeimport/adaimport.cpp --- old/umbrello-4.11.90/umbrello/codeimport/adaimport.cpp 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/codeimport/adaimport.cpp 2013-11-26 11:15:06.000000000 +0100 @@ -257,7 +257,8 @@ umldoc->addAssociation(assoc); skipStmt(); } else { - m_scope[++m_scopeIndex] = static_cast<UMLPackage*>(ns); + m_scope.append(static_cast<UMLPackage*>(ns)); + m_scopeIndex = m_scope.size() - 1; } } else if (m_source[m_srcIndex] == "renames") { m_renaming[name] = advance(); @@ -441,7 +442,8 @@ uError() << "end: expecting " << scopeName << ", found " << m_source[m_srcIndex]; } - m_scopeIndex--; + m_scope.takeLast(); + m_scopeIndex = m_scope.size() - 1; m_currentAccess = Uml::Visibility::Public; // @todo make a stack for this } else { uError() << "importAda: too many \"end\""; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/codeimport/nativeimportbase.cpp new/umbrello-4.11.97/umbrello/codeimport/nativeimportbase.cpp --- old/umbrello-4.11.90/umbrello/codeimport/nativeimportbase.cpp 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/codeimport/nativeimportbase.cpp 2013-11-26 11:15:06.000000000 +0100 @@ -145,7 +145,7 @@ while (m_srcIndex < m_source.count() - 1) { m_srcIndex++; if (m_source[m_srcIndex].startsWith(m_singleLineCommentIntro)) - m_comment += m_source[m_srcIndex]; + m_comment += m_source[m_srcIndex].mid(m_singleLineCommentIntro.length()); else break; } @@ -213,11 +213,11 @@ delimIntroLen = m_multiLineAltCommentIntro.length(); } if (pos != -1) { - int endpos = line.indexOf(m_multiLineCommentEnd); + int endpos = line.indexOf(m_multiLineCommentEnd, pos + delimIntroLen); if (endpos != -1) { delimEndLen = m_multiLineCommentEnd.length(); } else if (!m_multiLineAltCommentEnd.isEmpty()) { - endpos = line.indexOf(m_multiLineAltCommentEnd); + endpos = line.indexOf(m_multiLineAltCommentEnd, pos + delimIntroLen); if (endpos != -1) delimEndLen = m_multiLineAltCommentEnd.length(); } @@ -413,7 +413,7 @@ m_klass = NULL; m_currentAccess = Uml::Visibility::Public; m_scopeIndex = 0; - m_scope[0] = NULL; // index 0 is reserved for global scope + m_scope.append(NULL); // index 0 is reserved for global scope const int srcLength = m_source.count(); for (m_srcIndex = 0; m_srcIndex < srcLength; ++m_srcIndex) { const QString& firstToken = m_source[m_srcIndex]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/codeimport/nativeimportbase.h new/umbrello-4.11.97/umbrello/codeimport/nativeimportbase.h --- old/umbrello-4.11.90/umbrello/codeimport/nativeimportbase.h 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/codeimport/nativeimportbase.h 2013-11-26 11:15:06.000000000 +0100 @@ -88,7 +88,7 @@ QString m_singleLineCommentIntro; ///< start token of a single line comment QStringList m_source; ///< the scanned lexemes int m_srcIndex; ///< used for indexing m_source - UMLPackage *m_scope[32]; ///< stack of scopes for use by the specific importer + QList<UMLPackage *> m_scope; ///< stack of scopes for use by the specific importer uint m_scopeIndex; ///< indexes m_scope, index 0 is reserved for global scope UMLClassifier *m_klass; ///< class currently being processed Uml::Visibility::Enum m_currentAccess; ///< current access (public/protected/private) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/codeimport/pythonimport.cpp new/umbrello-4.11.97/umbrello/codeimport/pythonimport.cpp --- old/umbrello-4.11.90/umbrello/codeimport/pythonimport.cpp 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/codeimport/pythonimport.cpp 2013-11-26 11:15:06.000000000 +0100 @@ -103,6 +103,12 @@ m_srcIndex++; } } + + if (m_braceWasOpened && m_srcIndentIndex == 0) { + m_source.append("}"); + m_srcIndex++; + } + if (line.endsWith(':')) { line.replace(QRegExp(":$"), "{"); m_braceWasOpened = true; @@ -211,7 +217,8 @@ const QString& name = advance(); UMLObject *ns = Import_Utils::createUMLObject(UMLObject::ot_Class, name, m_scope[m_scopeIndex], m_comment); - m_scope[++m_scopeIndex] = m_klass = static_cast<UMLClassifier*>(ns); + m_scope.append(m_klass = static_cast<UMLClassifier*>(ns)); + m_scopeIndex = m_scope.size() - 1; m_comment.clear(); if (advance() == "(") { while (m_srcIndex < srcLength - 1 && advance() != ")") { @@ -233,6 +240,12 @@ skipBody(); return true; } + + if (!m_klass->hasDoc() && !m_comment.isEmpty()) { + m_klass->setDoc(m_comment); + m_comment = ""; + } + const QString& name = advance(); // operation UMLOperation *op = Import_Utils::makeOperation(m_klass, name); @@ -251,13 +264,20 @@ false /*isStatic*/, false /*isAbstract*/, false /*isFriend*/, false /*isConstructor*/, m_comment); op->setSourceCode(skipBody()); + + if (!op->hasDoc() && !m_comment.isEmpty()) { + op->setDoc(m_comment); + m_comment = ""; + } log("def " + name); return true; } if (keyword == "}") { - if (m_scopeIndex) - m_klass = dynamic_cast<UMLClassifier*>(m_scope[--m_scopeIndex]); + if (m_scopeIndex) { + m_klass = dynamic_cast<UMLClassifier*>(m_scope.takeLast()); + m_scopeIndex = m_scope.size() - 1; + } else uError() << "parsing: too many }"; return true; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/layouts/activity-export.desktop new/umbrello-4.11.97/umbrello/layouts/activity-export.desktop --- old/umbrello-4.11.90/umbrello/layouts/activity-export.desktop 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/layouts/activity-export.desktop 2013-11-26 11:15:06.000000000 +0100 @@ -26,6 +26,7 @@ Name[pt_BR]=Exportar leiaute Name[ru]=Шаблон экспорта Name[sk]=Exportovať rozloženie +Name[sl]=Izvozi postavitev Name[sr]=Извези распоред Name[sr@ijekavian]=Извези распоред Name[sr@ijekavianlatin]=Izvezi raspored @@ -59,6 +60,7 @@ Comment[pt_BR]=Exportar leiaute para diagramas de atividades Comment[ru]=Шаблон экспорта для диаграмм деятельности Comment[sk]=Exportovať rozloženie pre diagramy aktivít +Comment[sl]=Izvozi postavitev za diagrame dejavnosti Comment[sr]=Извези распоред за дијаграме активности Comment[sr@ijekavian]=Извези распоред за дијаграме активности Comment[sr@ijekavianlatin]=Izvezi raspored za dijagrame aktivnosti diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/layouts/class-export.desktop new/umbrello-4.11.97/umbrello/layouts/class-export.desktop --- old/umbrello-4.11.90/umbrello/layouts/class-export.desktop 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/layouts/class-export.desktop 2013-11-26 11:15:06.000000000 +0100 @@ -26,6 +26,7 @@ Name[pt_BR]=Exportar leiaute Name[ru]=Шаблон экспорта Name[sk]=Exportovať rozloženie +Name[sl]=Izvozi postavitev Name[sr]=Извези распоред Name[sr@ijekavian]=Извези распоред Name[sr@ijekavianlatin]=Izvezi raspored @@ -59,6 +60,7 @@ Comment[pt_BR]=Exportar leiaute para diagramas de classe Comment[ru]=Шаблон экспорта для диаграмм классов Comment[sk]=Exportovať rozloženie pre diagramy tried +Comment[sl]=Izvozi postavitev za diagrame razredov Comment[sr]=Извези распоред за дијаграме класа Comment[sr@ijekavian]=Извези распоред за дијаграме класа Comment[sr@ijekavianlatin]=Izvezi raspored za dijagrame klasa diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/layouts/class-horizontal.desktop new/umbrello-4.11.97/umbrello/layouts/class-horizontal.desktop --- old/umbrello-4.11.90/umbrello/layouts/class-horizontal.desktop 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/layouts/class-horizontal.desktop 2013-11-26 11:15:06.000000000 +0100 @@ -25,6 +25,7 @@ Name[pt_BR]=Leiaute horizontal Name[ru]=Горизонтальный шаблон Name[sk]=Vodorovné rozloženie +Name[sl]=Vodoravna postavitev Name[sr]=Водоравни распоред Name[sr@ijekavian]=Водоравни распоред Name[sr@ijekavianlatin]=Vodoravni raspored @@ -57,6 +58,7 @@ Comment[pt_BR]=Leiaute que representa os itens na horizontal Comment[ru]=Шаблон с расположением по горизонтали Comment[sk]=Rozloženie, ktoré renderuje vodorovne +Comment[sl]=Postavitev, ki se izriše vodoravno Comment[sr]=Распоред који исцртава водоравно Comment[sr@ijekavian]=Распоред који исцртава водоравно Comment[sr@ijekavianlatin]=Raspored koji iscrtava vodoravno diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/layouts/class-vertical.desktop new/umbrello-4.11.97/umbrello/layouts/class-vertical.desktop --- old/umbrello-4.11.90/umbrello/layouts/class-vertical.desktop 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/layouts/class-vertical.desktop 2013-11-26 11:15:06.000000000 +0100 @@ -26,6 +26,7 @@ Name[pt_BR]=Leiaute vertical Name[ru]=Вертикальный шаблон Name[sk]=Zvislé rozloženie +Name[sl]=Navpična postavitev Name[sr]=Усправни распоред Name[sr@ijekavian]=Усправни распоред Name[sr@ijekavianlatin]=Uspravni raspored @@ -58,6 +59,7 @@ Comment[pt_BR]=Leiaute que representa os itens na vertical Comment[ru]=Шаблон с расположением по вертикали Comment[sk]=Rozloženie, ktoré renderuje zvislo +Comment[sl]=Postavitev, ki se izriše navpično Comment[sr]=Распоред који исцртава усправно Comment[sr@ijekavian]=Распоред који исцртава усправно Comment[sr@ijekavianlatin]=Raspored koji iscrtava uspravno diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/layouts/state-export.desktop new/umbrello-4.11.97/umbrello/layouts/state-export.desktop --- old/umbrello-4.11.90/umbrello/layouts/state-export.desktop 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/layouts/state-export.desktop 2013-11-26 11:15:06.000000000 +0100 @@ -26,6 +26,7 @@ Name[pt_BR]=Exportar leiaute Name[ru]=Шаблон экспорта Name[sk]=Exportovať rozloženie +Name[sl]=Izvozi postavitev Name[sr]=Извези распоред Name[sr@ijekavian]=Извези распоред Name[sr@ijekavianlatin]=Izvezi raspored @@ -58,6 +59,7 @@ Comment[pt_BR]=Exportar leiaute para diagramas de estado Comment[ru]=Шаблон экспорта для диаграмм состояний Comment[sk]=Exportovať rozloženie pre stavové diagramy +Comment[sl]=Izvozi postavitev za diagrame stanja Comment[sr]=Извези распоред за дијаграме стања Comment[sr@ijekavian]=Извези распоред за дијаграме стања Comment[sr@ijekavianlatin]=Izvezi raspored za dijagrame stanja diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/layouts/state-vertical.desktop new/umbrello-4.11.97/umbrello/layouts/state-vertical.desktop --- old/umbrello-4.11.90/umbrello/layouts/state-vertical.desktop 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/layouts/state-vertical.desktop 2013-11-26 11:15:06.000000000 +0100 @@ -26,6 +26,7 @@ Name[pt_BR]=Leiaute vertical Name[ru]=Вертикальный шаблон Name[sk]=Zvislé rozloženie +Name[sl]=Navpična postavitev Name[sr]=Усправни распоред Name[sr@ijekavian]=Усправни распоред Name[sr@ijekavianlatin]=Uspravni raspored @@ -58,6 +59,7 @@ Comment[pt_BR]=Leiaute que representa os itens na vertical Comment[ru]=Шаблон с расположением по вертикали Comment[sk]=Rozloženie, ktoré renderuje zvislo +Comment[sl]=Postavitev, ki se izriše navpično Comment[sr]=Распоред који исцртава усправно Comment[sr@ijekavian]=Распоред који исцртава усправно Comment[sr@ijekavianlatin]=Raspored koji iscrtava uspravno diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/layouts/usecase-default.desktop new/umbrello-4.11.97/umbrello/layouts/usecase-default.desktop --- old/umbrello-4.11.90/umbrello/layouts/usecase-default.desktop 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/layouts/usecase-default.desktop 2013-11-26 11:15:06.000000000 +0100 @@ -22,6 +22,7 @@ Name[pt_BR]=Leiaute padrão de casos de uso Name[ru]=Стандартный шаблон диаграммы прецедентов Name[sk]=Predvolené rozloženie Usecase +Name[sl]=Privzeta postavitev primera uporabe Name[sr]=Подразумевани распоред за случај употребе Name[sr@ijekavian]=Подразумевани распоред за случај употребе Name[sr@ijekavianlatin]=Podrazumevani raspored za slučaj upotrebe @@ -55,6 +56,7 @@ Comment[pt_BR]=Leiaute padrão de casos de uso Comment[ru]=Стандартный шаблон диаграммы прецедентов Comment[sk]=Predvolené rozloženie Usecase +Comment[sl]=Privzeta postavitev primera uporabe Comment[sr]=Подразумевани распоред за случај употребе Comment[sr@ijekavian]=Подразумевани распоред за случај употребе Comment[sr@ijekavianlatin]=Podrazumevani raspored za slučaj upotrebe diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/model_utils.cpp new/umbrello-4.11.97/umbrello/model_utils.cpp --- old/umbrello-4.11.90/umbrello/model_utils.cpp 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/model_utils.cpp 2013-11-26 11:15:06.000000000 +0100 @@ -972,7 +972,9 @@ return true; return (type == UMLListViewItem::lvt_Package || type == UMLListViewItem::lvt_Subsystem || - type == UMLListViewItem::lvt_Component); + type == UMLListViewItem::lvt_Component || + type == UMLListViewItem::lvt_Class || + type == UMLListViewItem::lvt_Interface); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/refactoring/refactoringassistant.cpp new/umbrello-4.11.97/umbrello/refactoring/refactoringassistant.cpp --- old/umbrello-4.11.90/umbrello/refactoring/refactoringassistant.cpp 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/refactoring/refactoringassistant.cpp 2013-11-26 11:15:06.000000000 +0100 @@ -85,6 +85,7 @@ } DEBUG(DBG_SRC) << "called for " << m_umlObject->name(); + m_alreadySeen.clear(); addClassifier(obj, 0, true, true, true); QTreeWidgetItem *item = topLevelItem(0); item->setExpanded(true); @@ -646,6 +647,7 @@ classifierItem = new QTreeWidgetItem(this, QStringList(classifier->name())); m_umlObjectMap[classifierItem] = classifier; } + m_alreadySeen << classifier; connect(classifier, SIGNAL(modified()), this, SLOT(objectModified())); @@ -692,6 +694,10 @@ item->setExpanded(true); m_umlObjectMap[item] = cl; if (recurse) { + if (m_alreadySeen.contains(cl)) { + DEBUG(DBG_SRC) << "super class already seen" << cl; + continue; + } addClassifier(cl, item, true, false, true); } } @@ -707,6 +713,10 @@ item->setExpanded(true); m_umlObjectMap[item] = d; if (recurse) { + if (m_alreadySeen.contains(d)) { + DEBUG(DBG_SRC) << "derived class already seen" << d; + continue; + } addClassifier(d, item, false, true, true); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/refactoring/refactoringassistant.h new/umbrello-4.11.97/umbrello/refactoring/refactoringassistant.h --- old/umbrello-4.11.90/umbrello/refactoring/refactoringassistant.h 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/refactoring/refactoringassistant.h 2013-11-26 11:15:06.000000000 +0100 @@ -79,6 +79,7 @@ UMLDoc * m_doc; QMenu * m_menu; QMap<QTreeWidgetItem*, UMLObject*> m_umlObjectMap; + QSet<UMLClassifier *> m_alreadySeen; ///< recursive guard private slots: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/uml.cpp new/umbrello-4.11.97/umbrello/uml.cpp --- old/umbrello-4.11.90/umbrello/uml.cpp 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/uml.cpp 2013-11-26 11:15:06.000000000 +0100 @@ -149,6 +149,7 @@ s_instance = this; m_doc->init(); m_printer->setFullPage(true); + layout()->setSizeConstraint(QLayout::SetNoConstraint); readOptionState(); initActions(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/umlscene.cpp new/umbrello-4.11.97/umbrello/umlscene.cpp --- old/umbrello-4.11.90/umbrello/umlscene.cpp 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/umlscene.cpp 2013-11-26 11:15:06.000000000 +0100 @@ -1479,11 +1479,24 @@ } /** + * resize selected widgets + */ +void UMLScene::resizeSelection() +{ + if (selectedCount() == 0) + return; + foreach(UMLWidget *w, selectedWidgets()) { + w->resize(); + } + m_doc->setModified(); +} + +/** * Selects all widgets */ void UMLScene::selectAll() { - selectWidgets(0, 0, width(), height()); + selectWidgets(sceneRect().left(), sceneRect().top(), sceneRect().right(), sceneRect().bottom()); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/umlscene.h new/umbrello-4.11.97/umbrello/umlscene.h --- old/umbrello-4.11.90/umbrello/umlscene.h 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/umlscene.h 2013-11-26 11:15:06.000000000 +0100 @@ -193,6 +193,7 @@ void selectionToggleShow(int sel); void deleteSelection(); + void resizeSelection(); void selectAll(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/widgets/umlwidget.cpp new/umbrello-4.11.97/umbrello/widgets/umlwidget.cpp --- old/umbrello-4.11.90/umbrello/widgets/umlwidget.cpp 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/widgets/umlwidget.cpp 2013-11-26 11:15:06.000000000 +0100 @@ -104,7 +104,6 @@ m_usesDiagramUseFillColor = other.m_usesDiagramUseFillColor; m_fillColor = other.m_fillColor; m_Assocs = other.m_Assocs; - m_Font = other.m_Font; m_isInstance = other.m_isInstance; m_instanceName = other.m_instanceName; m_instanceName = other.m_instanceName; @@ -171,8 +170,6 @@ return false; if(m_nId != other.m_nId) return false; - if(m_Font != other.m_Font) - return false; if(m_nX != other.m_nX) return false; if(m_nY != other.m_nY) @@ -657,8 +654,6 @@ m_usesDiagramUseFillColor = true; const Settings::OptionState& optionState = m_scene->optionState(); m_fillColor = optionState.uiState.fillColor; - // FIXME: using setFont() here let umbrello hang probably because of doc->loading() not set. - m_Font = optionState.uiState.font; m_showStereotype = optionState.classState.showStereoType; } else { uError() << "SERIOUS PROBLEM - m_scene is NULL"; @@ -722,8 +717,7 @@ break; case ListPopupMenu::mt_Resize: - resize(); - m_doc->setModified(); + umlScene()->resizeSelection(); break; default: @@ -902,7 +896,7 @@ return false; } } - setFont(m_Font); + setFont(m_font); setSize(width(), height()); m_activated = true; updateGeometry(); @@ -1519,8 +1513,8 @@ */ void UMLWidget::setDefaultFontMetrics(UMLWidget::FontType fontType) { - setupFontType(m_Font, fontType); - setFontMetrics(fontType, QFontMetrics(m_Font)); + setupFontType(m_font, fontType); + setFontMetrics(fontType, QFontMetrics(m_font)); } void UMLWidget::setupFontType(QFont &font, UMLWidget::FontType fontType) @@ -1615,8 +1609,8 @@ */ void UMLWidget::setDefaultFontMetrics(UMLWidget::FontType fontType, QPainter &painter) { - setupFontType(m_Font, fontType); - painter.setFont(m_Font); + setupFontType(m_font, fontType); + painter.setFont(m_font); setFontMetrics(fontType, painter.fontMetrics()); } @@ -1642,21 +1636,13 @@ } /** - * Returns the font the widget is to use. - */ -QFont UMLWidget::font() const -{ - return m_Font; -} - -/** * Sets the font the widget is to use. * * @param font Font to be set. */ -void UMLWidget::setFont(QFont font) +void UMLWidget::setFont(const QFont &font) { - m_Font = font; + WidgetBase::setFont(font); forceUpdateFontMetrics(0); if (m_doc->loading()) return; @@ -1728,7 +1714,6 @@ */ WidgetBase::saveToXMI(qDoc, qElement); qElement.setAttribute("xmi.id", Uml::ID::toString(id())); - qElement.setAttribute("font", m_Font.toString()); qElement.setAttribute("x", x()); qElement.setAttribute("y", y()); qElement.setAttribute("width", width()); @@ -1742,25 +1727,15 @@ bool UMLWidget::loadFromXMI(QDomElement & qElement) { - WidgetBase::loadFromXMI(qElement); QString id = qElement.attribute("xmi.id", "-1"); - QString font = qElement.attribute("font", ""); + m_nId = Uml::ID::fromString(id); + + WidgetBase::loadFromXMI(qElement); QString x = qElement.attribute("x", "0"); QString y = qElement.attribute("y", "0"); QString h = qElement.attribute("height", "0"); QString w = qElement.attribute("width", "0"); - m_nId = Uml::ID::fromString(id); - - if (!font.isEmpty()) { - QFont newFont; - newFont.fromString(font); - setFont(newFont); - } else { - uWarning() << "Using default font " << m_Font.toString() - << " for widget with xmi.id " << Uml::ID::toString(m_nId); - } - setSize(w.toFloat(), h.toFloat()); setX(x.toFloat()); setY(y.toFloat()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/widgets/umlwidget.h new/umbrello-4.11.97/umbrello/widgets/umlwidget.h --- old/umbrello-4.11.90/umbrello/widgets/umlwidget.h 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/widgets/umlwidget.h 2013-11-26 11:15:06.000000000 +0100 @@ -101,8 +101,7 @@ void setPenFromSettings(QPainter &p); void setPenFromSettings(QPainter *p); - virtual QFont font() const; - virtual void setFont(QFont font); + virtual void setFont(const QFont &font); /** * Returns whether we triggered the update of position movement. @@ -289,8 +288,6 @@ /// A list of AssociationWidgets between the UMLWidget and other UMLWidgets in the diagram AssociationWidgetList m_Assocs; - QFont m_Font; ///< the font the widget will use - QString m_instanceName; ///< instance name (used if on a deployment diagram) bool m_isInstance; ///< holds whether this widget is a component instance (i.e. on a deployment diagram) bool m_showStereotype; ///< should the stereotype be displayed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/widgets/widgetbase.cpp new/umbrello-4.11.97/umbrello/widgets/widgetbase.cpp --- old/umbrello-4.11.90/umbrello/widgets/widgetbase.cpp 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/widgets/widgetbase.cpp 2013-11-26 11:15:06.000000000 +0100 @@ -57,6 +57,7 @@ m_textColor = optionState.uiState.textColor; m_lineColor = optionState.uiState.lineColor; m_lineWidth = optionState.uiState.lineWidth; + m_font = optionState.uiState.font; } else { uError() << "WidgetBase constructor: SERIOUS PROBLEM - m_scene is NULL"; } @@ -488,6 +489,7 @@ } else { qElement.setAttribute("fillcolor", m_fillColor.name()); } + qElement.setAttribute("font", m_font.toString()); } /** @@ -553,6 +555,16 @@ usesDiagramUseFillColor = qElement.attribute("usesdiagramusefillcolor", usesDiagramUseFillColor); m_usesDiagramUseFillColor = (bool)usesDiagramUseFillColor.toInt(); + QString font = qElement.attribute("font", ""); + if (!font.isEmpty()) { + QFont newFont; + newFont.fromString(font); + setFont(newFont); + } else { + uWarning() << "Using default font " << m_font.toString() + << " for widget with xmi.id " << Uml::ID::toString(m_nId); + } + return true; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/umbrello-4.11.90/umbrello/widgets/widgetbase.h new/umbrello-4.11.97/umbrello/widgets/widgetbase.h --- old/umbrello-4.11.90/umbrello/widgets/widgetbase.h 2013-11-13 13:06:45.000000000 +0100 +++ new/umbrello-4.11.97/umbrello/widgets/widgetbase.h 2013-11-26 11:15:06.000000000 +0100 @@ -125,8 +125,8 @@ bool usesDiagramUseFillColor() const; void setUsesDiagramUseFillColor(bool state); - QFont font() const; - void setFont(const QFont& font); + virtual QFont font() const; + virtual void setFont(const QFont& font); virtual void showPropertiesDialog(); -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
