From 357067be63465e7a1151b1fc82acf4f195073d04 Mon Sep 17 00:00:00 2001 From: ruglory Date: Wed, 28 Jan 2009 21:42:15 +0000 Subject: [PATCH] When new item added or edited by dialog cdscene notified to be changed git-svn-id: https://svn.code.sf.net/p/qlscribe/svn/trunk@27 cac9541e-1b8d-4bfa-827e-589bba606050 --- src/mainwindow.cpp | 1 + src/qcdscene.cpp | 6 ++++++ src/qcdscene.h | 1 + src/qlscribe.pro | 2 +- src/qshapefactory.cpp | 7 ++++++- 5 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index fc6f892..e317a6c 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -162,6 +162,7 @@ void MainWindow::onMenuInsert( int id ) item->setFlag( QGraphicsItem::ItemIsMovable, true ); item->setFlag( QGraphicsItem::ItemIsSelectable, true ); cdscene->addItem( item ); + cdscene->setChanged(); } void MainWindow::onMenuOpen() diff --git a/src/qcdscene.cpp b/src/qcdscene.cpp index 14ea8a5..173cb1f 100644 --- a/src/qcdscene.cpp +++ b/src/qcdscene.cpp @@ -98,6 +98,12 @@ void QCDScene::setName() updateTitles(); } +void QCDScene::setChanged() +{ + m_saved = false; + updateTitles(); +} + void QCDScene::updateTitles() const { QString name = m_name; diff --git a/src/qcdscene.h b/src/qcdscene.h index 89a957e..bb75a56 100644 --- a/src/qcdscene.h +++ b/src/qcdscene.h @@ -35,6 +35,7 @@ public: bool isSaved() const { return m_saved; } bool isUnnamed() const { return m_fileName.isEmpty(); } + void setChanged(); void setName(); bool load( const QString &fileName ); void save(); diff --git a/src/qlscribe.pro b/src/qlscribe.pro index a88f06f..04d7238 100644 --- a/src/qlscribe.pro +++ b/src/qlscribe.pro @@ -1,7 +1,7 @@ TEMPLATE = app LANGUAGE = C++ CONFIG += qt -INCLUDEPATH += /home/slava/projects/qlscribe/build/src +INCLUDEPATH += ../build/src QMAKE_CXXFLAGS += -m32 QMAKE_LFLAGS += -m32 QMAKE_LIBDIR = /usr/lib32 diff --git a/src/qshapefactory.cpp b/src/qshapefactory.cpp index cf0149a..ee2a51c 100644 --- a/src/qshapefactory.cpp +++ b/src/qshapefactory.cpp @@ -16,9 +16,10 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - $Id:$ */ + $Id$ */ #include "qshapefactory.h" +#include "qcdscene.h" #include #include @@ -43,6 +44,10 @@ bool QShapeController::edit( QGraphicsItem *item, QWidget *parent ) const throw; } delete dialog; + + if( rez && item->scene() ) + static_cast< QCDScene * >( item->scene() )->setChanged(); + return rez; }