[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    extragear/office/kile/kile
From:       Thomas Braun <braun () physik ! fu-berlin ! de>
Date:       2006-01-30 22:25:01
Message-ID: 1138659901.105531.18928.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 503979 by tbraun:

feature: add versioned kilepr files, so we always know from now on which version of \
kile created the project. Also added an warning when opening new kilepr files with an \
old kile version

 M  +5 -5      Makefile.am  
 M  +7 -0      kiledocmanager.cpp  
 M  +36 -11    kileproject.cpp  
 M  +5 -4      kileproject.h  
 A             kileversion.h   [License: GPL (v2+)]
 M  +3 -2      main.cpp  


--- trunk/extragear/office/kile/kile/Makefile.am #503978:503979
@@ -90,9 +90,9 @@
 
 syntaxdir = $(kde_appsdir)/katepart/syntax
 noinst_HEADERS = kiletool.h kilelauncher.h kiletool_enums.h kiletoolmanager.h \
-	kilestdtools.h kilelogwidget.h kileoutputwidget.h kilekonsolewidget.h kilewizard.h \
                \
-	kilestructurewidget.h convert.h kiledocmanager.h kileviewmanager.h \
                kileeventfilter.h \
-	latexconfigwidget.h kilespell.h kileerrorhandler.h configcheckerdlg.h \
                configtester.h \
-	kilesidebar.h plaintolatexconverter.h kileuntitled.h \
-	kilestatsdlg.h kilestatswidget.h envconfigwidget.h structureconfigwidget.h
+		kilestdtools.h kilelogwidget.h kileoutputwidget.h kilekonsolewidget.h kilewizard.h \
\ +		kilestructurewidget.h convert.h kiledocmanager.h kileviewmanager.h \
kileeventfilter.h \ +		latexconfigwidget.h kilespell.h kileerrorhandler.h \
configcheckerdlg.h configtester.h \ +		kilesidebar.h plaintolatexconverter.h \
kileuntitled.h 	kilestatsdlg.h \ +	kilestatswidget.h envconfigwidget.h \
structureconfigwidget.h kileversion.h  
--- trunk/extragear/office/kile/kile/kiledocmanager.cpp #503978:503979
@@ -1107,6 +1107,13 @@
 	m_kpd->show();
 
 	KileProject *kp = new KileProject(url);
+	
+	if(kp->isInvalid())
+	{
+		m_kpd->cancel();
+		delete kp;
+		return 0L;
+	}
 
 	emit(addToRecentProjects(url));
 
--- trunk/extragear/office/kile/kile/kileproject.cpp #503978:503979
@@ -13,6 +13,7 @@
  *                                                                         *
  ***************************************************************************/
 #include "kileproject.h"
+#include "kileversion.h"
 
 #include <qstringlist.h>
 #include <qfileinfo.h>
@@ -21,11 +22,19 @@
 #include <klocale.h>
 #include <kglobal.h>
 #include <kdebug.h>
+#include <kmessagebox.h>
 
 #include "kiledocumentinfo.h"
 #include "kiletoolmanager.h"
 
 /*
+ 01/24/06 tbraun
+	Added the logic to get versioned kilepr files
+	We also warn if the user wants to open a project file with a different \
kileprversion +*/
+
+
+/*
  * KileProjectItem
  */
 KileProjectItem::KileProjectItem(KileProject *project, const KURL & url, int type) :
@@ -110,16 +119,15 @@
 /*
  * KileProject
  */
-KileProject::KileProject(const QString& name, const KURL& url) : \
QObject(0,name.ascii()), m_masterDocument(QString::null), \
m_useMakeIndexOptions(false) +KileProject::KileProject(const QString& name, const \
KURL& url) : QObject(0,name.ascii()), m_invalid(false), \
m_masterDocument(QString::null), m_useMakeIndexOptions(false)  {
-	init(name,url);
+	init(name, url);
 }
 
-KileProject::KileProject(const KURL& url) :
-	QObject(0,url.fileName().ascii()), m_masterDocument(QString::null), \
m_useMakeIndexOptions(false) +KileProject::KileProject(const KURL& url) : \
QObject(0,url.fileName().ascii()), m_invalid(false), m_masterDocument(QString::null), \
m_useMakeIndexOptions(false)  {
 	init(url.fileName(), url);
-}
+}	
 
 KileProject::~KileProject()
 {
@@ -149,6 +157,8 @@
 		//create the project file
 		m_config->setGroup("General");
 		m_config->writeEntry("name", m_name);
+		m_config->writeEntry("kileprversion", kilePrVersion);
+		m_config->writeEntry("kileversion", kileVersion);
 		m_config->sync();
 	}
 }
@@ -272,14 +282,26 @@
 {
 	kdDebug() << "KileProject: loading..." <<endl;
 
-	QStringList groups = m_config->groupList();
-
 	//load general settings/options
 	m_config->setGroup("General");
 	m_name = m_config->readEntry("name", i18n("Project"));
+	m_kileversion = m_config->readEntry("kileversion",QString::null);
+	m_kileprversion = m_config->readEntry("kileprversion",QString::null);
 
-  QString master = addBaseURL(m_config->readEntry("masterDocument", QString::null));
-  kdDebug() << "LOADED MASTER = " << master << endl;
+	if(!m_kileprversion.isNull() && m_kileprversion.toInt() > kilePrVersion.toInt())
+	{
+		if(KMessageBox::warningYesNo(0L,i18n("The project file of %1 was created by a \
newer version of kile.\ +				Opening it can lead to unexpected results.\n\
+				Do you really want to continue (not recommended)?").arg(m_name),
+				 QString::null, KStdGuiItem::yes(), \
KStdGuiItem::no(),QString::null,KMessageBox::Dangerous) == KMessageBox::No) +		{
+			m_invalid=true;
+			return false;
+		}
+	}
+	
+	QString master = addBaseURL(m_config->readEntry("masterDocument", QString::null));
+  	kdDebug() << "LOADED MASTER = " << master << endl;
 	setMasterDocument(master);
 
 	// IsRegExp has to be loaded _before_ the Extensions
@@ -295,6 +317,7 @@
 
 	KURL url;
 	KileProjectItem *item;
+	QStringList groups = m_config->groupList();
 
 	//retrieve all the project files and create and initialize project items for them
 	for (uint i=0; i < groups.count(); ++i)
@@ -343,10 +366,12 @@
 
 	m_config->setGroup("General");
 	m_config->writeEntry("name", m_name);
+	m_config->writeEntry("kileprversion", kilePrVersion);
+	m_config->writeEntry("kileversion", kileVersion);
 
-  kdDebug() << "KileProject::save() masterDoc = " << m_masterDocument << endl;
+  	kdDebug() << "KileProject::save() masterDoc = " << m_masterDocument << endl;
 	m_config->writeEntry("masterDocument", removeBaseURL(m_masterDocument));
-  m_config->writeEntry("lastDocument", removeBaseURL(m_lastDocument.path()));
+  	m_config->writeEntry("lastDocument", removeBaseURL(m_lastDocument.path()));
 
 	m_config->writeEntry("src_extensions", extensions(KileProjectItem::Source));
 	m_config->writeEntry("src_extIsRegExp", extIsRegExp(KileProjectItem::Source));
--- trunk/extragear/office/kile/kile/kileproject.h #503978:503979
@@ -176,6 +176,7 @@
 	bool contains(const KURL&);
 	KileProjectItem *rootItem(KileProjectItem *) const;
 	const QPtrList<KileProjectItem>* rootItems() const {return &m_rootItems;}
+	bool isInvalid(){ return m_invalid;}
 
 signals:
 	void nameChanged(const QString &);
@@ -203,13 +204,13 @@
 	void 	init(const QString& name, const KURL& url);
 	QString	findRelativePath(const KURL&);
 	void setType(KileProjectItem *item);
-  QString addBaseURL(const QString &path);
-  QString removeBaseURL(const QString &path);
+  	QString addBaseURL(const QString &path);
+  	QString removeBaseURL(const QString &path);
 
 private:
-	QString		m_name, m_quickBuildConfig;
+	QString		m_name, m_quickBuildConfig, m_kileversion, m_kileprversion;
 	KURL		m_projecturl, m_baseurl, m_lastDocument;
-
+	bool		m_invalid;
 	QPtrList<KileProjectItem> m_rootItems;
 	KileProjectItemList	m_projectitems;
 
--- trunk/extragear/office/kile/kile/main.cpp #503978:503979
@@ -25,11 +25,12 @@
 #include <kglobal.h>
 #include <kinstance.h>
 #include <kurl.h>
+#include <kdebug.h>
 
 #include "kileapplication.h"
 #include "kile.h"
+#include "kileversion.h"
 
-#include <kdebug.h>
 
 static KCmdLineOptions options[] =
 {
@@ -71,7 +72,7 @@
 
 int main( int argc, char ** argv )
 {
-	KAboutData aboutData( "kile", "Kile",	"1.9b1", I18N_NOOP("KDE Integrated LaTeX \
Environment"), KAboutData::License_GPL, +	KAboutData aboutData( "kile", "Kile", \
kileVersion.ascii(), I18N_NOOP("KDE Integrated LaTeX Environment"), \
KAboutData::License_GPL,  I18N_NOOP("by the Kile Team (2003 - 2006)"),
 						0,
 						"http://kile.sourceforge.net");


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic