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

List:       kde-commits
Subject:    branches/work/sharedkraft
From:       Klaas Freitag <freitag () suse ! de>
Date:       2011-01-31 7:23:26
Message-ID: 20110131072326.15BB9AC8BC () svn ! kde ! org
[Download RAW message or body]

SVN commit 1218079 by freitag:

Added qwebdav and kitoc classes

 M  +2 -2      CMakeLists.txt  
 A             qwebdav (directory)  
 A             qwebdav/CMakeLists.txt  
 A             qwebdav/COPYING  
 A             qwebdav/INSTALL  
 A             qwebdav/QWebdav.pc.in  
 A             qwebdav/README  
 A             qwebdav/cmake (directory)  
 A             qwebdav/cmake/modules (directory)  
 A             qwebdav/cmake/modules/CMakeLists.txt  
 A             qwebdav/cmake/modules/FindQWebdav.cmake  
 A             qwebdav/examples (directory)  
 A             qwebdav/examples/CMakeLists.txt  
 A             qwebdav/examples/explorer (directory)  
 A             qwebdav/examples/explorer/CMakeLists.txt  
 A             qwebdav/examples/explorer/Makefile  
 A             qwebdav/examples/explorer/explorer.qrc  
 AM            qwebdav/examples/explorer/icon.png  
 A             qwebdav/examples/explorer/main.cpp   [License: LGPL (v2+)]
 A             qwebdav/examples/explorer/mainwindow.cpp   [License: LGPL (v2+)]
 A             qwebdav/examples/explorer/mainwindow.h   [License: LGPL (v2+)]
 A             qwebdav/examples/explorer/mainwindow.ui  
 A             qwebdav/examples/explorer/propertiesdialog.cpp   [License: LGPL (v2+)]
 A             qwebdav/examples/explorer/propertiesdialog.h   [License: LGPL (v2+)]
 A             qwebdav/examples/explorer/propertiesdialog.ui  
 A             qwebdav/src (directory)  
 A             qwebdav/src/CMakeLists.txt  
 A             qwebdav/src/QWebdav  
 A             qwebdav/src/QWebdavUrlInfo  
 A             qwebdav/src/webdav.cpp   [License: LGPL (v2+)]
 A             qwebdav/src/webdav.h   [License: LGPL (v2+)]
 A             qwebdav/src/webdav_export.h   [License: LGPL (v2+)]
 A             qwebdav/src/webdav_url_info.cpp   [License: LGPL (v2+)]
 A             qwebdav/src/webdav_url_info.h   [License: LGPL (v2+)]
 M  +2 -1      src/CMakeLists.txt  
 M  +2 -1      src/documentindexer.cpp  
 A             src/kitoc (directory)  
 A             src/kitoc/README  
 A             src/kitoc/kitoc.cpp   [License: UNKNOWN]
 A             src/kitoc/kitoc.h   [License: UNKNOWN]
 M  +51 -2     src/kraftdoc.cpp  
 M  +3 -0      src/kraftdoc.h  
 M  +4 -0      src/kraftview.cpp  
 M  +0 -3      src/portal.cpp  


--- branches/work/sharedkraft/CMakeLists.txt #1218078:1218079
@@ -11,7 +11,7 @@
 
 include(KDE4Defaults)
 
-include_directories(${KDE4_INCLUDES} ${QT_INCLUDES} src)
+include_directories(${KDE4_INCLUDES} ${QT_INCLUDES} src qwebdav/src)
 
 add_subdirectory(cmake)
 add_subdirectory(src)
@@ -20,5 +20,5 @@
 add_subdirectory(importfilter)
 add_subdirectory(tools)
 add_subdirectory(styles)
+add_subdirectory(qwebdav)
 
-
--- branches/work/sharedkraft/src/CMakeLists.txt #1218078:1218079
@@ -152,6 +152,7 @@
     models/documentmodel.cpp
     models/documentproxymodels.cpp
     models/modeltest.cpp
+    kitoc/kitoc.cpp
 )
 
 kde4_add_kcfg_files(kraft_SRCS databasesettings.kcfgc kraftsettings.kcfgc)
@@ -179,7 +180,7 @@
 
 kde4_add_executable(kraft ${kraft_SRCS})
 
-target_link_libraries(kraft kraftcat akonadi-contact ${QT_AND_KDECORE_LIBS} \
${QT_QTSQL_LIBRARY} ${KDE4_KHTML_LIBS} ${KDE4_KDEUI_LIBS} ${KDEPIMLIBS_KABC_LIBS} \
${KDE4_KIO_LIBS} ctemplate pthread) +target_link_libraries(kraft kraftcat qwebdav \
akonadi-contact ${QT_AND_KDECORE_LIBS} ${QT_QTSQL_LIBRARY} ${KDE4_KHTML_LIBS} \
${KDE4_KDEUI_LIBS} ${KDEPIMLIBS_KABC_LIBS} ${KDE4_KIO_LIBS} ctemplate pthread)  
 install(TARGETS kraft ${INSTALL_TARGETS_DEFAULT_ARGS})
 
--- branches/work/sharedkraft/src/documentindexer.cpp #1218078:1218079
@@ -43,7 +43,8 @@
   mModel.insertRecord( -1, record );
   mModel.submitAll();
   kDebug() << "Last Database Model error was: " << mModel.lastError().text();
+
   kDebug() << "New document indexed, this is the id: " << \
record.value("id").toString();  
-  return record.value("id").toInt();
+
 }
--- branches/work/sharedkraft/src/kraftdoc.cpp #1218078:1218079
@@ -35,12 +35,15 @@
 #include "portal.h"
 #include "kraftview.h"
 #include "docposition.h"
+#include "doctype.h"
 #include "documentsaverdb.h"
 #include "documentsaverfile.h"
 #include "defaultprovider.h"
 #include "documentman.h"
+#include "documentindexer.h"
 #include "kraftsettings.h"
 #include "version.h"
+#include "kitoc/kitoc.h"
 
 // FIXME: Make KraftDoc inheriting DocDigest!
 
@@ -48,6 +51,7 @@
   : QObject(parent),
     mIsNew(true),
     mLocale(0),
+    mKitoc(0),
     mSaver(0)
 {
   mLocale = new KLocale( "kraft" );
@@ -56,8 +60,10 @@
 
 KraftDoc::~KraftDoc()
 {
+  kDebug() << "Killing KraftDoc";
   delete mLocale;
   delete mSaver;
+  delete mKitoc;
 }
 
 KraftDoc& KraftDoc::operator=( KraftDoc& origDoc )
@@ -196,11 +202,15 @@
 {
     bool result = false;
 
-    DocumentSaverBase *saver = getSaver();
-    if( saver ) {
         if ( isNew() ) {
           setLastModified( QDateTime::currentDateTime() );
+      DocType dt( docType() );
+      setIdent( dt.generateDocumentIdent( this ) ); // Create a local id
         }
+
+    DocumentSaverBase *saver = getSaver();
+    if( saver ) {
+
         result = saver->saveDocument( this );
 
         // We go through the whole document and remove the positions
@@ -214,11 +224,50 @@
             mPositions.removeAll( dp );
           }
         }
+
+        if( result && isNew() ) {
+          // write the document index
+          DocumentIndexer indexer;
+          indexer.indexNewDoc( this );
+
+          //if( KraftSettings::self()->useKitoc() ) {
+            kDebug() << "Kitoc in use: now calling the host to get a new ident";
+
+            DocType dt( docType() );
+            if( ! mKitoc ) mKitoc = new Kitoc;
+            connect( mKitoc, SIGNAL(gotNextId()), SLOT(slotReceivedId() ) );
+            mKitoc->requestDocumentIdent( dt.numberCycleName() );
+          //}
+
+        }
         modified = false;
     }
     return result;
 }
 
+// Called in sharedKraft mode, when the kitoc object received the answer from the
+// owncloud and parsed it. This one must generate the ident and save it to the
+// file.
+void KraftDoc::slotReceivedId()
+{
+  int nextId = mKitoc->nextId();
+  kDebug() << "received next ID to use: " << nextId;
+
+  DocType dt( docType() );
+  QString ident = dt.generateDocumentIdent( this, nextId );
+  setIdent( ident );
+
+  // save again.
+  DocumentSaverBase *saver = getSaver();
+  if( saver ) {
+    bool result = saver->saveDocument( this );
+  } else {
+    kDebug() << "ERR: could not get a saver";
+  }
+
+  // update the index again
+}
+
 QString KraftDoc::docIdentifier()
 {
   QString re = docType();
--- branches/work/sharedkraft/src/kraftdoc.h #1218078:1218079
@@ -32,6 +32,7 @@
 
 class DocumentSaverBase;
 class Geld;
+class Kitoc;
 
 class KLocale;
 class KraftView;
@@ -154,6 +155,7 @@
   void slotMoveUpPosition( int );
   void slotMoveDownPosition( int );
 
+  void slotReceivedId();
 private:
   /** the list of the views currently connected to the document */
   QList<KraftView*> pViewList;
@@ -180,6 +182,7 @@
   QString mLanguage;
   KLocale *mLocale;
 
+  Kitoc              *mKitoc;
   QDate              mDate;
   QDateTime          mLastModified;
   DocPositionList    mPositions;
--- branches/work/sharedkraft/src/kraftview.cpp #1218078:1218079
@@ -77,6 +77,7 @@
 #include "doctype.h"
 #include "catalogtemplate.h"
 #include "importitemdialog.h"
+#include "documentindexer.h"
 
 #include <qtimer.h>
 #include "doclocaledialog.h"
@@ -1334,6 +1335,9 @@
       // default for the future
       KraftSettings::self()->setGreeting( m_footerEdit->m_cbGreeting->currentText() \
                );
       KraftSettings::self()->setSalut( m_headerEdit->m_letterHead->currentIndex() );
+
+      // get a document ident from the server in case we are in sharedkraft
+
     }
 
     KraftSettings::self()->setDocViewSplitter( mCSplit->sizes() );
--- branches/work/sharedkraft/src/portal.cpp #1218078:1218079
@@ -366,9 +366,6 @@
     doc->setDocType( wiz.docType() );
     doc->setWhiteboard( wiz.whiteboard() );
 
-    DocumentIndexer indexer;
-    indexer.indexNewDoc( doc );
-
     createView( doc );
   }
   slotStatusMsg(i18n("Ready."));


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

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