[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