[elvystrac] r2231 - better handling of layout and panel changing

  • From: elvys@xxxxxxxxxxxxxxxxxxxxxx
  • To: elvystrac@xxxxxxxxxxxxx
  • Date: Sun, 11 Apr 2010 15:38:29 +0200

Author: JirkaH
Date: 2010-04-11 15:38:29 +0200 (Sun, 11 Apr 2010)
New Revision: 2231

Modified:
   trunk/client/elvys-client/src/abstractmaintainer.cpp
   trunk/client/elvys-client/src/appmaintainer.cpp
   trunk/client/elvys-client/src/category.cpp
   trunk/client/elvys-client/src/categorymaintainerdoc.cpp
   trunk/client/elvys-client/src/categorymaintainerlayout.cpp
   trunk/client/elvys-client/src/constants.h
   trunk/client/elvys-client/src/documentmaintainer.cpp
   trunk/client/elvys-client/src/filecachemaintainer.cpp
   trunk/client/elvys-client/src/http.cpp
   trunk/client/elvys-client/src/layoutmaintainer.cpp
   trunk/client/elvys-client/src/panel.cpp
   trunk/client/elvys-client/src/xmldocumentparser.cpp
   trunk/client/elvys-client/src/xmlpaneldocparser.cpp
Log:
better handling of layout and panel changing


Modified: trunk/client/elvys-client/src/abstractmaintainer.cpp
===================================================================
--- trunk/client/elvys-client/src/abstractmaintainer.cpp        2010-04-11 
11:37:24 UTC (rev 2230)
+++ trunk/client/elvys-client/src/abstractmaintainer.cpp        2010-04-11 
13:38:29 UTC (rev 2231)
@@ -47,19 +47,21 @@
 void AbstractMaintainer::deleteTempFile(const QString & id) {
        Q_UNUSED(id);
 
+       qDebug() << "removing file" << xmlNameTemp;
        if (QFile::exists(xmlNameTemp)) {
                QFile::remove(xmlNameTemp);
        }
 }
 
 void AbstractMaintainer::moveTempToProd() {
+       qDebug() << "moving temp to prod: " << xmlNameTemp << "-->" << xmlName;
        if ( QFile::exists(xmlNameTemp)) {
                if (QFile::exists(xmlName)) { // smazeme stary
                        QFile::remove(xmlName);
                }
                QFile::rename(xmlNameTemp, xmlName);
        } else {
-               //qDebug() << "Neco je spatne, soubor " << xmlNameTemp << " 
neexistuje" ;
+               qWarning() << Q_FUNC_INFO << "Neco je spatne, soubor " << 
xmlNameTemp << " neexistuje" ;
        }
 }
 
@@ -113,6 +115,9 @@
                parser->addData(aa);
                parser->read();
                parser->clear();
+       } else {
+               qWarning() << Q_FUNC_INFO << "File:" << fileName << "doesn't 
exist or has zero size";
        }
+
        delete file;
 }

Modified: trunk/client/elvys-client/src/appmaintainer.cpp
===================================================================
--- trunk/client/elvys-client/src/appmaintainer.cpp     2010-04-11 11:37:24 UTC 
(rev 2230)
+++ trunk/client/elvys-client/src/appmaintainer.cpp     2010-04-11 13:38:29 UTC 
(rev 2231)
@@ -12,8 +12,7 @@
        xmlName = QCoreApplication::applicationDirPath() + "/appconfig.xml";
        xmlNameTemp = xmlName + ".tmp";
 
-       fileTemp = new QFile(xmlNameTemp);
-       fileTemp->remove();
+       fileTemp = new QFile(xmlNameTemp);      
 
        AppConfigData * appConfigData = AppConfig::getInstance();
        //AppConfigData * appConfigData = new AppConfigData();

Modified: trunk/client/elvys-client/src/category.cpp
===================================================================
--- trunk/client/elvys-client/src/category.cpp  2010-04-11 11:37:24 UTC (rev 
2230)
+++ trunk/client/elvys-client/src/category.cpp  2010-04-11 13:38:29 UTC (rev 
2231)
@@ -161,8 +161,7 @@
 /** Adds new document to category layout.
   */
 
-void Category::addLayoutDocument(QString & id, QRectF & rect) {
-       qDebug() << Q_FUNC_INFO << "adding document" << id << rect << "to 
category" << objectName();
+void Category::addLayoutDocument(QString & id, QRectF & rect) {        
        dummyPanel->newDummyDocument(id, rect);
 }
 
@@ -195,7 +194,7 @@
   */
 
 Panel * Category::newPanel(int id) {   
-       qDebug() << "newPanel" << "id";
+       qDebug() << "newPanel" << id;
        if (!enabled) {
                return NULL;
        }
@@ -228,6 +227,7 @@
        Panel * panel;
        int index;
 
+       qDebug() << Q_FUNC_INFO << "category" << objectName() << "deleting 
panel" << panelId;
        panel = findChild<Panel *>(QString::number(panelId));
        if ( panel == NULL) {
                qWarning() << "Trying to delete panel no." << panelId << " 
which doesn't exist!";
@@ -245,6 +245,7 @@
                        }
                }               
                delete panel;
+               showAndHidePanels();
        }       
 }
 
@@ -279,8 +280,10 @@
 
                if ((panel = findChild<Panel 
*>(QString::number(SPARE_PANEL_ID))) == NULL) {
                        panel = newPanel(SPARE_PANEL_ID);
-               }               
+               }
+               addTab(panel, getPanelName(panel->id()));
                updatePanelNames();
+
                return;
        }
        
@@ -392,7 +395,7 @@
                emit layoutMismatch(layoutMaint->currentLayoutId(), layoutId);
                return;
        }       
-       readDocumentFile(fileName, charOffset);
+       readDocumentFile(fileName, charOffset); 
 }
 
 /** Convinience function. Starts reading document config @a fileName at 
@charOffset position. It should be position where document related
@@ -420,19 +423,21 @@
                 * potentially quite big amount of memory. But it works :-)
                 */
 
-               QString aa = textStream.readAll();
+               QString aa = textStream.readAll();              
                if (charOffset != 0 ) {
                        aa.remove(0, charOffset);
-               }
+               }               
 
-               docParser->addData(aa);
-               docParser->read();
+               docParser->addData(aa);         
+               docParser->read();              
                docParser->clear();
-               file->close();
+               file->close();          
+               emit docuMaintananceFinished();
+       } else {
+               qWarning() << Q_FUNC_INFO << "file" << fileName << "doesn't 
exist or it has zero size!";
        }
        delete file;
 
-       emit docuMaintananceFinished();
 }
 
 /** Slot to be called when documentConfig reading start. Together with 
=docMaintananceFinished function, it serves for keeping track
@@ -459,7 +464,7 @@
                        }
                }
        }
-       showAndHidePanels();    
+       showAndHidePanels();
 }
 
 /** Slot to be called when new panel appears in document config. Please note 
that it might be panel that is already present here (parser
@@ -470,9 +475,10 @@
 void Category::newPanelDocuments(int panelId) {
        Panel * panel = NULL;
        panelsFound.insert(panelId, true);
+       qDebug() << "Category" << objectName() << "panel" << panelId << "added 
to panelsFound";
 
        if ( (panel = findChild<Panel *>(QString::number(panelId))) == NULL ) {
-               //qDebug() << "Category" << objectName() << ": no such panel" 
<< panelId << ". Creating new one";
+               qDebug() << "Category" << objectName() << ": no such panel" << 
panelId << ". Creating new one";
                panel = newPanel(panelId);
        }
 

Modified: trunk/client/elvys-client/src/categorymaintainerdoc.cpp
===================================================================
--- trunk/client/elvys-client/src/categorymaintainerdoc.cpp     2010-04-11 
11:37:24 UTC (rev 2230)
+++ trunk/client/elvys-client/src/categorymaintainerdoc.cpp     2010-04-11 
13:38:29 UTC (rev 2231)
@@ -6,8 +6,7 @@
        xmlName = QCoreApplication::applicationDirPath() + "/document.xml";
        xmlNameTemp = xmlName + ".tmp";
 
-       fileTemp = new QFile(xmlNameTemp);
-       fileTemp->remove();
+       fileTemp = new QFile(xmlNameTemp);      
 
        connect(parser, SIGNAL(newCategoryDocuments(int, int )), this, 
SLOT(gotNewCategoryDocuments(int,int)));
 

Modified: trunk/client/elvys-client/src/categorymaintainerlayout.cpp
===================================================================
--- trunk/client/elvys-client/src/categorymaintainerlayout.cpp  2010-04-11 
11:37:24 UTC (rev 2230)
+++ trunk/client/elvys-client/src/categorymaintainerlayout.cpp  2010-04-11 
13:38:29 UTC (rev 2231)
@@ -9,8 +9,7 @@
        xmlName = QCoreApplication::applicationDirPath() + "/category.xml";
        xmlNameTemp = xmlName + ".tmp";
 
-       fileTemp = new QFile(xmlNameTemp);
-       fileTemp->remove();     
+       fileTemp = new QFile(xmlNameTemp);      
 
        connect(parser, SIGNAL(newCategory(int, int , QString &)), this, 
SLOT(gotNewCategory(int,int,QString&)));
 

Modified: trunk/client/elvys-client/src/constants.h
===================================================================
--- trunk/client/elvys-client/src/constants.h   2010-04-11 11:37:24 UTC (rev 
2230)
+++ trunk/client/elvys-client/src/constants.h   2010-04-11 13:38:29 UTC (rev 
2231)
@@ -3,7 +3,7 @@
 
 /* Cache size in KB for PDF image data for each PDF object.
  */
-#define CACHE_MAX_COST (15*1024)
+#define CACHE_MAX_COST (20*1024)
 
 /** Count of pages to preload to the memory when opening PDF document.
  */
@@ -19,7 +19,7 @@
  * recommended size is as much as you can stand :-)
 */
 
-#define PIXMAP_CACHE_LIMIT (1024*100)
+#define PIXMAP_CACHE_LIMIT (1024*400)
 
 /** scale factor for zooming-in and zooming-out*/
 #define SCALE_FACTOR 1.20L

Modified: trunk/client/elvys-client/src/documentmaintainer.cpp
===================================================================
--- trunk/client/elvys-client/src/documentmaintainer.cpp        2010-04-11 
11:37:24 UTC (rev 2230)
+++ trunk/client/elvys-client/src/documentmaintainer.cpp        2010-04-11 
13:38:29 UTC (rev 2231)
@@ -16,8 +16,6 @@
 #include "videodocument.h"
 #include "http.h"
 
-using namespace std;
-
 DocumentMaintainer::DocumentMaintainer(QObject * _panel) {
        panel = _panel;
        parser = new XMLDocumentParser();
@@ -25,7 +23,6 @@
        xmlNameTemp = xmlName + ".tmp";
 
        fileTemp = new QFile(xmlNameTemp);
-       fileTemp->remove();
 
        enabled = false;
 

Modified: trunk/client/elvys-client/src/filecachemaintainer.cpp
===================================================================
--- trunk/client/elvys-client/src/filecachemaintainer.cpp       2010-04-11 
11:37:24 UTC (rev 2230)
+++ trunk/client/elvys-client/src/filecachemaintainer.cpp       2010-04-11 
13:38:29 UTC (rev 2231)
@@ -7,8 +7,7 @@
        parser = new XMLFileCacheParser();
        xmlName = QCoreApplication::applicationDirPath() + "/filecache.xml";
        xmlNameTemp = xmlName + ".tmp"; 
-       fileTemp = new QFile(xmlNameTemp);
-       fileTemp->remove();
+       fileTemp = new QFile(xmlNameTemp);      
 
        connect(parser, SIGNAL(newFile(QString & , QString &, qint64 , QString 
&)), this, SLOT(downloadFile(QString&, QString &, qint64, QString&)));
 

Modified: trunk/client/elvys-client/src/http.cpp
===================================================================
--- trunk/client/elvys-client/src/http.cpp      2010-04-11 11:37:24 UTC (rev 
2230)
+++ trunk/client/elvys-client/src/http.cpp      2010-04-11 13:38:29 UTC (rev 
2231)
@@ -420,7 +420,7 @@
                        emit downloadFailed(downloads[id]);
                        downloads.remove(id);                   
                        mtx.unlock();                   
-               } else {
+               } else {                        
                        if ( QFile::rename(file->fileName(), 
file->fileName().remove(fileSuffix)) == false ) { //target filename probably 
already exists
                                emit downloadFailed(downloads[id]);
                                transfers.remove(downloads[id]);

Modified: trunk/client/elvys-client/src/layoutmaintainer.cpp
===================================================================
--- trunk/client/elvys-client/src/layoutmaintainer.cpp  2010-04-11 11:37:24 UTC 
(rev 2230)
+++ trunk/client/elvys-client/src/layoutmaintainer.cpp  2010-04-11 13:38:29 UTC 
(rev 2231)
@@ -78,8 +78,7 @@
  */
 
 void LayoutMaintainer::manageIdRevision(int id, int revision) {
-       if ( id == layoutID && revision == layoutRevision ) { // seems like 
layout we already have
-               qDebug() << "layout stejne ID a revize" ;
+       if ( id == layoutID && revision == layoutRevision ) { // seems like 
layout we already have              
                parser->stopReading(true);
        } else if ( id != layoutID && revision != layoutRevision ) { // new 
layout
                qDebug() << "layout jine ID i revize" ;

Modified: trunk/client/elvys-client/src/panel.cpp
===================================================================
--- trunk/client/elvys-client/src/panel.cpp     2010-04-11 11:37:24 UTC (rev 
2230)
+++ trunk/client/elvys-client/src/panel.cpp     2010-04-11 13:38:29 UTC (rev 
2231)
@@ -259,6 +259,8 @@
 void Panel::destroyLayout() {
 
        qWarning() << Q_FUNC_INFO << "This function is disabled. Try to delete 
the panel instead. See @todo in function description.";
+       return;
+
        QList<Document *> documents = findChildren<Document *>();
 
        QList<Document *>::iterator it = documents.begin();
@@ -503,6 +505,7 @@
        QList<Document *> documents = findChildren<Document *>();
        Document * doc;
 
+       qDebug() << Q_FUNC_INFO << "Panel" << id() << "set to be deleted";
        toBeDeleted = val;
        if (toBeDeleted) { //do not accept new documents
                docMaint->disable(true);        

Modified: trunk/client/elvys-client/src/xmldocumentparser.cpp
===================================================================
--- trunk/client/elvys-client/src/xmldocumentparser.cpp 2010-04-11 11:37:24 UTC 
(rev 2230)
+++ trunk/client/elvys-client/src/xmldocumentparser.cpp 2010-04-11 13:38:29 UTC 
(rev 2231)
@@ -22,7 +22,7 @@
        while (!atEnd()) {
                readNext();
                if (isEndElement()) {
-                       //qDebug() << Q_FUNC_INFO << "error? :END DOCUMENT:" << 
name().toString().toLocal8Bit().constData() ;
+                       qDebug() << Q_FUNC_INFO << "error? :END DOCUMENT:" << 
name();
                        break;
                }
                if (isStartElement()) {
@@ -31,7 +31,7 @@
                                emit haveLayoutId(layoutId);
                                if ( ! stopped ) { // predchozi commit mohl 
vyvolat stopnuti
                                        if ( ! readDocument()) {
-                                               //qDebug() << Q_FUNC_INFO << 
":chyba cteni XML DOC!!!" ;
+                                               qDebug() << Q_FUNC_INFO << 
":chyba cteni XML DOC!!!" ;
                                                raiseError(QObject::tr("Doslo k 
chybe..."));
                                                break;
                                        } else { // everything goes right, stop 
reading explicitly
@@ -83,7 +83,7 @@
                                emit noneDocument(toId);
                                readNext(); // prectu end element
                        } else {
-                               //qDebug() << "XMLDocumentParser - NOT 
IMPLEMENTED??? " << name().toString();
+                               qDebug() << "XMLDocumentParser - NOT 
IMPLEMENTED??? " << name().toString();
                                return false;
                        }
                }
@@ -272,7 +272,7 @@
                                mainPage = readElementText().toInt();
                                readNext(); //end element
                        } else {
-                               qDebug() << "XMLDocumentParser - NOT 
IMPLEMENTED - readpages ??? " << name().toString().toLocal8Bit().constData() ;
+                               qDebug() << "XMLDocumentParser - NOT 
IMPLEMENTED - readpages ??? " << name();
                                return false;
                        }
                }

Modified: trunk/client/elvys-client/src/xmlpaneldocparser.cpp
===================================================================
--- trunk/client/elvys-client/src/xmlpaneldocparser.cpp 2010-04-11 11:37:24 UTC 
(rev 2230)
+++ trunk/client/elvys-client/src/xmlpaneldocparser.cpp 2010-04-11 13:38:29 UTC 
(rev 2231)
@@ -80,6 +80,7 @@
                return false;
        }
 
+       qDebug() << Q_FUNC_INFO << "emitting new panel" << panelId;
        emit newPanelDocuments(panelId);
 
        skipElement(); //skip reading of this document, as it is read by 
another class


Other related posts:

  • » [elvystrac] r2231 - better handling of layout and panel changing - elvys