[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