[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/office/skrooge
From: Stephane Mankowski <stephane () mankowski ! fr>
Date: 2009-06-04 20:04:01
Message-ID: 1244145841.700884.16812.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 977608 by smankowski:
Correction bug 195254: Don't allow to link operations to a closed tracker
Correction bug 195026: A setting must allow to clean history when the application is \
[saved]
BUG: 195254
BUG: 195026
M +2 -0 CHANGELOG
M +1 -1 skgbankmodeler/skgdocumentbank.cpp
M +7 -1 skgbankmodeler/skgsuboperationobject.cpp
M +19 -4 skgbasemodeler/skgdocument.cpp
M +22 -2 skgbasemodelertest/skgtesttransaction.cpp
M +5 -3 skrooge_undoredo/skgundoredoplugin.cpp
M +33 -18 skrooge_undoredo/skgundoredopluginwidget_pref.ui
M +4 -0 skrooge_undoredo/skrooge_undoredo.kcfg
--- trunk/playground/office/skrooge/CHANGELOG #977607:977608
@@ -1,6 +1,8 @@
skrooge (0.3.0)
*Correction bug 191970: Attach receipts (images) to transactions
*Addition of "Trackers" for lines in report
+ *Correction bug 195254: Don't allow to link operations to a closed tracker
+ *Correction bug 195026: A setting must allow to clean history when the application \
is [saved]
-- maintainer Stephane MANKOWSKI <miraks@users.sourceforge.net> xxx
--- trunk/playground/office/skrooge/skgbankmodeler/skgdocumentbank.cpp #977607:977608
@@ -71,7 +71,7 @@
QString SKGDocumentBank::getViewsIndexesAndTriggersVersion() const
{
- return "2009.05.31_"+getParameter("SKGLANGUAGE");
+ return "2009.06.02_"+getParameter("SKGLANGUAGE");
}
SKGError SKGDocumentBank::refreshViewsIndexesAndTriggers() const
--- trunk/playground/office/skrooge/skgbankmodeler/skgsuboperationobject.cpp \
#977607:977608 @@ -99,7 +99,13 @@
SKGError SKGSubOperationObject::setRefundTracker(const SKGRefundTrackerObject& \
iTracker) {
- return setAttribute("r_refund_id", \
SKGServices::intToString(iTracker.getID())); + SKGError err;
+ if (iTracker.isClosed()) {
+ err=SKGError(ERR_FAIL, tr("Impossible to add an operation in a \
closed tracker")); + } else {
+ err=setAttribute("r_refund_id", \
SKGServices::intToString(iTracker.getID())); + }
+ return err;
}
SKGError SKGSubOperationObject::getRefundTracker(SKGRefundTrackerObject& oTracker) \
const
--- trunk/playground/office/skrooge/skgbasemodeler/skgdocument.cpp #977607:977608
@@ -901,11 +901,20 @@
err.setMessage(tr("save is forbidden if a transaction is still \
opened"));
} else {
+ err=SKGError();
+
+ if (getParameter("SKG_UNDO_CLEAN_AFTER_SAVE")=="Y") {
+ err = SKGServices::executeSqliteOrder(this,"delete from \
doctransaction"); + }
+
//No transaction opened ==> it's ok
//We mark the last transaction as a save point
- err = SKGServices::executeSqliteOrder(this,"update doctransaction \
set t_savestep='Y' where id in (select A.id from doctransaction A \
where "
- "((select count(1) from \
doctransaction B where B.i_parent=A.id)=0) "
- "and A.t_mode='U')");
+ if (err.isSucceeded()) {
+ err = SKGServices::executeSqliteOrder(this,"update \
doctransaction set t_savestep='Y' where id in (select A.id from doctransaction A \
where " + "((select \
count(1) from doctransaction B where B.i_parent=A.id)=0) " + \
"and A.t_mode='U')"); + }
+ emit tableModified("doctransaction", 0);
//Optimization
if (err.isSucceeded()) {
@@ -1154,6 +1163,9 @@
"DROP VIEW IF EXISTS v_node_displayname;;"
"CREATE VIEW v_node_displayname AS SELECT *, t_fullname AS \
t_displayname from node;;" +
+ "DROP VIEW IF EXISTS v_parameters_displayname;;"
+ "CREATE VIEW v_parameters_displayname AS SELECT *, t_name AS \
t_displayname from parameters;;" ;
err = SKGServices::executeSqliteOrder(this, InitialDataModelIndex);
@@ -1203,6 +1215,10 @@
err = setParameter("SKG_UNDO_MAX_DEPTH", \
SKGServices::intToString(SKG_UNDO_MAX_DEPTH)); }
+ if (getParameter("SKG_UNDO_CLEAN_AFTER_SAVE").isEmpty()) {
+ err = setParameter("SKG_UNDO_CLEAN_AFTER_SAVE", "N");
+ }
+
uniqueIdentifier=getParameter("SKG_UNIQUE_ID");
if (getParameter("SKG_UNIQUE_ID").isEmpty()) {
uniqueIdentifier=QUuid::createUuid ().toString();
@@ -1305,7 +1321,6 @@
oMigrationDone=true;
}
-
//Refresh views
if (err.isSucceeded()) err = refreshViewsIndexesAndTriggers();
--- trunk/playground/office/skrooge/skgbasemodelertest/skgtesttransaction.cpp \
#977607:977608 @@ -260,10 +260,10 @@
SKGObjectModificationList oModifications;
SKGTESTERROR("MAXDEPTH.getModifications", \
document1.getModifications(document1.getTransactionToTreat(), \
oModifications), true);
SKGTEST("MAXDEPTH.oModifications.count", oModifications.count(), 2);
- SKGTEST("MAXDEPTH.oModifications.id", oModifications[0].id, 6);
+ SKGTEST("MAXDEPTH.oModifications.id", oModifications[0].id, 7);
SKGTEST("MAXDEPTH.oModifications.table", oModifications[0].table, \
"parameters");
SKGTEST("MAXDEPTH.oModifications.type", oModifications[0].type, U);
- SKGTEST("MAXDEPTH.oModifications.id", oModifications[1].id, 7);
+ SKGTEST("MAXDEPTH.oModifications.id", oModifications[1].id, 8);
SKGTEST("MAXDEPTH.oModifications.table", oModifications[1].table, \
"parameters");
SKGTEST("MAXDEPTH.oModifications.type", oModifications[1].type, I);
}
@@ -538,6 +538,26 @@
SKGTEST("MSG.msg", msg.at(2), "World");
}
+ {
+ //Test clean after save
+ SKGDocument document1;
+ SKGTESTERROR("CLEAN.initialize()", document1.initialize(), true);
+
+ SKGTESTERROR("CLEAN.beginTransaction", \
document1.beginTransaction("T1"), true); + \
SKGTESTERROR("CLEAN.setParameter", \
document1.setParameter("SKG_UNDO_CLEAN_AFTER_SAVE", "Y"), true); + \
SKGTESTERROR("CLEAN.setParameter", document1.setParameter("ATT", "VAL1"), true); + \
SKGTESTERROR("CLEAN.endTransaction", document1.endTransaction(true), true); +
+ SKGTESTERROR("CLEAN.beginTransaction", \
document1.beginTransaction("T2"), true); + \
SKGTESTERROR("CLEAN.setParameter", document1.setParameter("ATT", "VAL2"), true); + \
SKGTESTERROR("CLEAN.endTransaction", document1.endTransaction(true), true); +
+ SKGTEST("CLEAN.getNbTransaction", \
document1.getNbTransaction(SKGDocument::UNDO), 2); +
+ QString filename1 = getTestPath("OUT")+"/filename1.skg";
+ SKGTESTERROR("CLEAN.saveAs", document1.saveAs(filename1, true), \
true); + SKGTEST("CLEAN.getNbTransaction", \
document1.getNbTransaction(SKGDocument::UNDO), 0); + }
//End test
SKGENDTEST();
}
--- trunk/playground/office/skrooge/skrooge_undoredo/skgundoredoplugin.cpp \
#977607:977608 @@ -142,6 +142,7 @@
KSharedConfigPtr config=KSharedConfig::openConfig ( \
"skrooge_undoredorc" ); KConfigGroup pref=config->group ( "skrooge_undoredo" );
pref.writeEntry ( "maxNumberOfUndo",SKGServices::stringToInt ( \
currentBankDocument->getParameter ( "SKG_UNDO_MAX_DEPTH" ) ) ); + \
pref.writeEntry ( "cleanHistoryOnSave",(currentBankDocument->getParameter ( \
"SKG_UNDO_CLEAN_AFTER_SAVE" )=="Y") ); }
//Create widget
@@ -162,11 +163,12 @@
//Read Setting
KSharedConfigPtr config=KSharedConfig::openConfig ( \
"skrooge_undoredorc" ); KConfigGroup pref=config->group ( "skrooge_undoredo" );
- int max = pref.readEntry ( "maxNumberOfUndo", 50 );
+ QString max = SKGServices::intToString (pref.readEntry ( \
"maxNumberOfUndo", 50 )); + QString clean = (pref.readEntry ( \
"cleanHistoryOnSave", false ) ? "Y" : "N");
//Save setting in document
- QString newValue=SKGServices::intToString ( max );
- if ( newValue!=currentBankDocument->getParameter ( \
"SKG_UNDO_MAX_DEPTH" ) ) err=currentBankDocument->setParameter ( \
"SKG_UNDO_MAX_DEPTH",newValue ); + if ( \
max!=currentBankDocument->getParameter ( "SKG_UNDO_MAX_DEPTH" ) ) \
err=currentBankDocument->setParameter ( "SKG_UNDO_MAX_DEPTH", max ); + \
if ( clean!=currentBankDocument->getParameter ( "SKG_UNDO_CLEAN_AFTER_SAVE" ) ) \
err=currentBankDocument->setParameter ( "SKG_UNDO_CLEAN_AFTER_SAVE",clean ); }
return err;
}
--- trunk/playground/office/skrooge/skrooge_undoredo/skgundoredopluginwidget_pref.ui \
#977607:977608 @@ -1,7 +1,8 @@
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
<class>skgundoredoplugin_pref</class>
- <widget class="QWidget" name="skgundoredoplugin_pref" >
- <property name="geometry" >
+ <widget class="QWidget" name="skgundoredoplugin_pref">
+ <property name="geometry">
<rect>
<x>0</x>
<y>0</y>
@@ -9,41 +10,41 @@
<height>184</height>
</rect>
</property>
- <layout class="QVBoxLayout" name="verticalLayout" >
+ <layout class="QVBoxLayout" name="verticalLayout">
<item>
- <layout class="QHBoxLayout" name="horizontalLayout" >
+ <layout class="QHBoxLayout" name="horizontalLayout">
<item>
- <widget class="QLabel" name="label" >
- <property name="sizePolicy" >
- <sizepolicy vsizetype="Preferred" hsizetype="Fixed" >
+ <widget class="QLabel" name="label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="font" >
+ <property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
<underline>true</underline>
</font>
</property>
- <property name="text" >
+ <property name="text">
<string>Maximum undo depth:</string>
</property>
</widget>
</item>
<item>
- <widget class="KIntNumInput" name="kcfg_maxNumberOfUndo" >
- <property name="toolTip" >
+ <widget class="KIntNumInput" name="kcfg_maxNumberOfUndo">
+ <property name="toolTip">
<string>-1 for no limit</string>
</property>
- <property name="statusTip" >
+ <property name="statusTip">
<string>-1 for no limit</string>
</property>
- <property name="value" >
+ <property name="value">
<number>0</number>
</property>
- <property name="minimum" >
+ <property name="minimum">
<number>-1</number>
</property>
</widget>
@@ -51,11 +52,25 @@
</layout>
</item>
<item>
- <spacer name="verticalSpacer" >
- <property name="orientation" >
+ <widget class="QCheckBox" name="kcfg_cleanHistoryOnSave">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ <underline>true</underline>
+ </font>
+ </property>
+ <property name="text">
+ <string>Clean history on save</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
<enum>Qt::Vertical</enum>
</property>
- <property name="sizeHint" stdset="0" >
+ <property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>126</height>
--- trunk/playground/office/skrooge/skrooge_undoredo/skrooge_undoredo.kcfg \
#977607:977608 @@ -9,5 +9,9 @@
<label>Maximum undo depth</label>
<default>50</default>
</entry>
+ <entry name="cleanHistoryOnSave" type="Bool">
+ <label>Clean history on save</label>
+ <default>false</default>
+ </entry>
</group>
</kcfg>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic