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