# HG changeset patch
# User insilmaril
# Date 1237463128 0
# Node ID 54d44ecd609748c18dbcbfc81cd82d2583ddc76b
# Parent 1b4d1ea6ea8cb83f1aaa199f07ce5ef0fa7d942a
ProgressBar during load and more fixes
diff -r 1b4d1ea6ea8c -r 54d44ecd6097 aboutdialog.cpp
--- a/aboutdialog.cpp Fri Mar 06 15:02:58 2009 +0000
+++ b/aboutdialog.cpp Thu Mar 19 11:45:28 2009 +0000
@@ -59,6 +59,7 @@
"
Brasilian: Amadeu JĂșnior"
" Russion: Anton Olenev"
" Simplified Chinese: Moligaloo"
+ " Traditional Chinese: Wei-Lun Chao "
" "
""
" Patches"
diff -r 1b4d1ea6ea8c -r 54d44ecd6097 branchobj.cpp
--- a/branchobj.cpp Fri Mar 06 15:02:58 2009 +0000
+++ b/branchobj.cpp Thu Mar 19 11:45:28 2009 +0000
@@ -1537,7 +1537,8 @@
void BranchObj::select() // FIXME try to get rid of this in BO completely
{
- // update NoteEditor
+ cout << "BO::select()\n";
+ // update NoteEditor FIXME do this via VymView::changeSelection
textEditor->setText(note.getNote() );
QString fnh=note.getFilenameHint();
if (fnh!="")
@@ -1550,11 +1551,12 @@
// set selected and visible
LinkableMapObj::select();
- //if (po) po->setLastSelectedBranch(this);
+ //if (po) po->setLastSelectedBranch(this); FIXME needed?
// temporary unscroll, if we have scrolled parents somewhere
if (parObj) ((BranchObj*)(parObj))->tmpUnscroll();
+ /* FIXME moved to vymmodel or vymview...
// Show URL and link in statusbar
QString status;
if (!url.isEmpty()) status+="URL: "+url+" ";
@@ -1566,6 +1568,7 @@
// Update actions
model->updateActions();
+ */
}
void BranchObj::unselect()
diff -r 1b4d1ea6ea8c -r 54d44ecd6097 demos/math.vym
Binary file demos/math.vym has changed
diff -r 1b4d1ea6ea8c -r 54d44ecd6097 demos/vym-projectplan.vym
Binary file demos/vym-projectplan.vym has changed
diff -r 1b4d1ea6ea8c -r 54d44ecd6097 exports.cpp
--- a/exports.cpp Fri Mar 06 15:02:58 2009 +0000
+++ b/exports.cpp Thu Mar 19 11:45:28 2009 +0000
@@ -262,11 +262,41 @@
}
////////////////////////////////////////////////////////////////////////
-void ExportKDEBookmarks::doExport()
+void ExportKDE3Bookmarks::doExport()
{
WarningDialog dia;
dia.showCancelButton (true);
dia.setText(QObject::tr("Exporting the %1 bookmarks will overwrite\nyour existing bookmarks file.").arg("KDE"));
+ dia.setCaption(QObject::tr("Warning: Overwriting %1 bookmarks").arg("KDE 3"));
+ dia.setShowAgainName("/exports/KDE/overwriteKDEBookmarks");
+ if (dia.exec()==QDialog::Accepted)
+ {
+ model->exportXML(tmpDir.path(),false);
+
+ XSLTProc p;
+ p.setInputFile (tmpDir.path()+"/"+model->getMapName()+".xml");
+ p.setOutputFile (tmpDir.home().path()+"/.kde/share/apps/konqueror/bookmarks.xml");
+ p.setXSLFile (vymBaseDir.path()+"/styles/vym2kdebookmarks.xsl");
+ p.process();
+
+ QString ub=vymBaseDir.path()+"/scripts/update-bookmarks";
+ QProcess *proc= new QProcess ;
+ proc->start( ub);
+ if (!proc->waitForStarted())
+ {
+ QMessageBox::warning(0,
+ QObject::tr("Warning"),
+ QObject::tr("Couldn't find script %1\nto notifiy Browsers of changed bookmarks.").arg(ub));
+ }
+ }
+}
+
+////////////////////////////////////////////////////////////////////////
+void ExportKDE4Bookmarks::doExport()
+{
+ WarningDialog dia;
+ dia.showCancelButton (true);
+ dia.setText(QObject::tr("Exporting the %1 bookmarks will overwrite\nyour existing bookmarks file.").arg("KDE 4"));
dia.setCaption(QObject::tr("Warning: Overwriting %1 bookmarks").arg("KDE"));
dia.setShowAgainName("/exports/KDE/overwriteKDEBookmarks");
if (dia.exec()==QDialog::Accepted)
@@ -275,7 +305,7 @@
XSLTProc p;
p.setInputFile (tmpDir.path()+"/"+model->getMapName()+".xml");
- p.setOutputFile (tmpDir.home().path()+"/.kde/share/apps/konqueror/bookmarks.xml");
+ p.setOutputFile (tmpDir.home().path()+"/.kde4/share/apps/konqueror/bookmarks.xml");
p.setXSLFile (vymBaseDir.path()+"/styles/vym2kdebookmarks.xsl");
p.process();
diff -r 1b4d1ea6ea8c -r 54d44ecd6097 exports.h
--- a/exports.h Fri Mar 06 15:02:58 2009 +0000
+++ b/exports.h Thu Mar 19 11:45:28 2009 +0000
@@ -63,7 +63,14 @@
};
///////////////////////////////////////////////////////////////////////
-class ExportKDEBookmarks:public ExportXMLBase
+class ExportKDE3Bookmarks:public ExportXMLBase
+{
+public:
+ virtual void doExport();
+};
+
+///////////////////////////////////////////////////////////////////////
+class ExportKDE4Bookmarks:public ExportXMLBase
{
public:
virtual void doExport();
diff -r 1b4d1ea6ea8c -r 54d44ecd6097 flagrowobj.cpp
--- a/flagrowobj.cpp Fri Mar 06 15:02:58 2009 +0000
+++ b/flagrowobj.cpp Thu Mar 19 11:45:28 2009 +0000
@@ -295,7 +295,7 @@
name=n;
}
-void FlagRowObj::updateToolbar()
+void FlagRowObj::updateToolbar() //FIXME this needs to be changed with VM
{
if (parentRow)
{
diff -r 1b4d1ea6ea8c -r 54d44ecd6097 imports.cpp
--- a/imports.cpp Fri Mar 06 15:02:58 2009 +0000
+++ b/imports.cpp Thu Mar 19 11:45:28 2009 +0000
@@ -50,7 +50,7 @@
}
/////////////////////////////////////////////////
-bool ImportKDEBookmarks::transform()
+bool ImportKDE3Bookmarks::transform()
{
transformedFile=tmpDir.path()+"/bookmarks.xml";
@@ -63,6 +63,21 @@
return true;
}
+/////////////////////////////////////////////////
+bool ImportKDE4Bookmarks::transform()
+{
+ transformedFile=tmpDir.path()+"/bookmarks.xml";
+
+ XSLTProc p;
+ p.setInputFile (tmpDir.home().path()+"/.kde4/share/apps/konqueror/bookmarks.xml");
+ p.setOutputFile (transformedFile);
+ p.setXSLFile (vymBaseDir.path()+"/styles/kdebookmarks2vym.xsl");
+ p.process();
+
+ return true;
+}
+
+
/////////////////////////////////////////////////
bool ImportFirefoxBookmarks::transform()
diff -r 1b4d1ea6ea8c -r 54d44ecd6097 imports.h
--- a/imports.h Fri Mar 06 15:02:58 2009 +0000
+++ b/imports.h Thu Mar 19 11:45:28 2009 +0000
@@ -31,7 +31,13 @@
};
///////////////////////////////////////////////////////////////////////
-class ImportKDEBookmarks:public ImportBase
+class ImportKDE3Bookmarks:public ImportBase
+{
+public:
+ bool transform();
+};
+
+class ImportKDE4Bookmarks:public ImportBase
{
public:
bool transform();
diff -r 1b4d1ea6ea8c -r 54d44ecd6097 main.cpp
--- a/main.cpp Fri Mar 06 15:02:58 2009 +0000
+++ b/main.cpp Thu Mar 19 11:45:28 2009 +0000
@@ -179,6 +179,11 @@
m.setIcon (QPixmap (iconPath+"vym-48x48.png"));
m.show();
m.fileNew();
+
+
+ // Paint Mainwindow first time
+ qApp->processEvents();
+
m.loadCmdLine();
// Run script
diff -r 1b4d1ea6ea8c -r 54d44ecd6097 mainwindow.cpp
--- a/mainwindow.cpp Fri Mar 06 15:02:58 2009 +0000
+++ b/mainwindow.cpp Thu Mar 19 11:45:28 2009 +0000
@@ -217,7 +217,12 @@
if (settings.value( "/mainwindow/showTestMenu",false).toBool()) setupTestActions();
setupHelpActions();
+ // Status bar and progress bar there
statusBar();
+ progressMax=0;
+ progressBar=new QProgressBar;
+ progressBar->hide();
+ statusBar()->addPermanentWidget(progressBar);
restoreState (settings.value("/mainwindow/state",0).toByteArray());
@@ -239,7 +244,7 @@
settings.setValue( "/version/version", vymVersion );
settings.setValue( "/version/builddate", vymBuildDate );
- settings.setValue( "/mapeditor/autosave/use",actionSettingsAutosaveToggle->isOn() );
+ settings.setValue( "/mainwindow/autosave/use",actionSettingsAutosaveToggle->isOn() );
settings.setValue( "/mapeditor/editmode/autoSelectNewBranch",actionSettingsAutoSelectNewBranch->isOn() );
settings.setValue( "/mainwindow/writeBackupFile",actionSettingsWriteBackupFile->isOn() );
settings.setValue( "/mapeditor/editmode/autoSelectText",actionSettingsAutoSelectText->isOn() );
@@ -254,6 +259,7 @@
delete textEditor;
delete historyWindow;
delete branchPropertyWindow;
+ delete progressBar;
// Remove temporary directory
removeDir (QDir(tmpVymDir));
@@ -280,7 +286,39 @@
void Main::statusMessage(const QString &s)
{
- statusBar()->message( s);
+ // Surpress messages while progressbar during
+ // load is active
+ if (progressMin==progressMax)
+ statusBar()->message( s);
+}
+
+void Main::setProgressMinimum (int min)
+{
+ progressBar->setMinimum(min);
+ progressMin=min;
+}
+
+void Main::setProgressMaximum (int max)
+{
+ progressBar->setMaximum(max);
+ progressMax=max;
+ if (max>0)
+ {
+ statusBar()->addPermanentWidget(progressBar);
+ progressBar->show();
+ }
+}
+
+void Main::setProgressValue (int v)
+{
+ progressBar->setValue (v);
+}
+
+void Main::removeProgressBar()
+{
+ if (progressMax>0)
+ statusBar()->removeWidget(progressBar);
+ progressMax=progressMin=0;
}
void Main::closeEvent (QCloseEvent* )
@@ -337,10 +375,15 @@
fileImportMenu = fileMenu->addMenu (tr("Import","File menu"));
- a = new QAction(tr("KDE Bookmarks"), this);
- a->setStatusTip ( tr( "Import %1","Status tip file menu" ).arg(tr("KDE bookmarks")));
+ a = new QAction(tr("KDE 3 Bookmarks"), this);
+ a->setStatusTip ( tr( "Import %1","Status tip file menu" ).arg(tr("KDE 3 bookmarks")));
a->addTo (fileImportMenu);
- connect( a, SIGNAL( triggered() ), this, SLOT( fileImportKDEBookmarks() ) );
+ connect( a, SIGNAL( triggered() ), this, SLOT( fileImportKDE3Bookmarks() ) );
+
+ a = new QAction(tr("KDE 4 Bookmarks"), this);
+ a->setStatusTip ( tr( "Import %1","Status tip file menu" ).arg(tr("KDE 4 bookmarks")));
+ a->addTo (fileImportMenu);
+ connect( a, SIGNAL( triggered() ), this, SLOT( fileImportKDE4Bookmarks() ) );
if (settings.value( "/mainwindow/showTestMenu",false).toBool())
{
@@ -393,9 +436,14 @@
connect( a, SIGNAL( triggered() ), this, SLOT( fileExportCSV() ) );
fileExportMenu->addAction (a);
- a = new QAction( tr("KDE Bookmarks","File menu"), this);
- a->setStatusTip( tr( "Export as %1").arg(tr("KDE Bookmarks" )));
- connect( a, SIGNAL( triggered() ), this, SLOT( fileExportKDEBookmarks() ) );
+ a = new QAction( tr("KDE 3 Bookmarks","File menu"), this);
+ a->setStatusTip( tr( "Export as %1").arg(tr("KDE 3 Bookmarks" )));
+ connect( a, SIGNAL( triggered() ), this, SLOT( fileExportKDE3Bookmarks() ) );
+ fileExportMenu->addAction (a);
+
+ a = new QAction( tr("KDE 4 Bookmarks","File menu"), this);
+ a->setStatusTip( tr( "Export as %1").arg(tr("KDE 4 Bookmarks" )));
+ connect( a, SIGNAL( triggered() ), this, SLOT( fileExportKDE4Bookmarks() ) );
fileExportMenu->addAction (a);
a = new QAction( "Taskjuggler...", this );
@@ -1403,7 +1451,7 @@
a = new QAction( tr( "Autosave","Settings action"), this);
a->setStatusTip( tr( "Autosave"));
a->setToggleAction(true);
- a->setOn ( settings.value ("/mapeditor/autosave/use",false).toBool());
+ a->setOn ( settings.value ("/mainwindow/autosave/use",false).toBool());
connect( a, SIGNAL( triggered() ), this, SLOT( settingsAutosaveToggle() ) );
settingsMenu->addAction (a);
actionSettingsAutosaveToggle=a;
@@ -2065,11 +2113,19 @@
fileSaveAs (CompleteMap);
}
-void Main::fileImportKDEBookmarks()
+void Main::fileImportKDE3Bookmarks()
{
- ImportKDEBookmarks im;
+ ImportKDE3Bookmarks im;
im.transform();
- if (success==fileLoad (im.getTransformedFile(),NewMap) && currentMapEditor() )
+ if (aborted!=fileLoad (im.getTransformedFile(),NewMap) && currentMapEditor() )
+ currentMapEditor()->getModel()->setFilePath ("");
+}
+
+void Main::fileImportKDE4Bookmarks()
+{
+ ImportKDE4Bookmarks im;
+ im.transform();
+ if (aborted!=fileLoad (im.getTransformedFile(),NewMap) && currentMapEditor() )
currentMapEditor()->getModel()->setFilePath ("");
}
@@ -2091,7 +2147,7 @@
{
im.setFile (*it);
if (im.transform() &&
- success==fileLoad (im.getTransformedFile(),NewMap,FreemindMap) &&
+ aborted!=fileLoad (im.getTransformedFile(),NewMap,FreemindMap) &&
currentMapEditor() )
currentMapEditor()->getModel()->setFilePath ("");
++it;
@@ -2229,9 +2285,20 @@
}
}
-void Main::fileExportKDEBookmarks() //FIXME not scriptable yet
+void Main::fileExportKDE3Bookmarks() //FIXME not scriptable yet
{
- ExportKDEBookmarks ex;
+ ExportKDE3Bookmarks ex;
+ VymModel *m=currentModel();
+ if (m)
+ {
+ ex.setModel (m);
+ ex.doExport();
+ }
+}
+
+void Main::fileExportKDE4Bookmarks() //FIXME not scriptable yet
+{
+ ExportKDE4Bookmarks ex;
VymModel *m=currentModel();
if (m)
{
@@ -2321,10 +2388,16 @@
return;
}
}
- me->close();
tabModel.removeAt (tabWidget->currentIndex() );
tabWidget->removeTab (tabWidget->currentIndex() );
- delete me; // FIXME if event was triggered _in_ ME this causes warning message
+
+ // Remove mapEditor;
+ // Better would be delete (me), but then we could have a Qt error:
+ // "QObject: Do not delete object, 'MapEditor', during its event handler!"
+ // So we only remove data now and call deconstructor when vym closes later
+ // FIXME this needs to be moved to vymview... me->clear();
+ // some model->clear is needed to free up memory ...
+
updateActions();
}
}
@@ -2792,9 +2865,9 @@
dia.setAuthor (m->getAuthor() );
dia.setComment(m->getComment() );
-/* FIXME no stats at the moment (view dependent...)
// Calc some stats
QString stats;
+/* FIXME no stats at the moment (view dependent...)
stats+=tr("%1 items on map\n","Info about map").arg (mapScene->items().size(),6);
uint b=0;
@@ -2811,13 +2884,13 @@
xl+=bo->countXLinks();
bo=m->next(bo);
}
- stats+=QString ("%1 branches\n").arg (b-1,6);
stats+=QString ("%1 xLinks \n").arg (xl,6);
stats+=QString ("%1 notes\n").arg (n,6);
stats+=QString ("%1 images\n").arg (f,6);
+*/
+ stats+=QString ("%1 branches\n").arg (m->countBranches(),6);
dia.setStats (stats);
-*/
// Finally show dialog
if (dia.exec() == QDialog::Accepted)
{
@@ -3282,7 +3355,7 @@
void Main::settingsAutosaveToggle()
{
- settings.setValue ("/mapeditor/autosave/use",actionSettingsAutosaveToggle->isOn() );
+ settings.setValue ("/mainwindow/autosave/use",actionSettingsAutosaveToggle->isOn() );
}
void Main::settingsAutosaveTime()
@@ -3291,14 +3364,14 @@
int i = QInputDialog::getInteger(
this,
tr("QInputDialog::getInteger()"),
- tr("Number of seconds before autosave:"), settings.value("/mapeditor/autosave/ms").toInt() / 1000, 10, 10000, 1, &ok);
+ tr("Number of seconds before autosave:"), settings.value("/mainwindow/autosave/ms").toInt() / 1000, 10, 10000, 1, &ok);
if (ok)
- settings.setValue ("/mapeditor/autosave/ms",i * 1000);
+ settings.setValue ("/mainwindow/autosave/ms",i * 1000);
}
void Main::settingsWriteBackupFileToggle()
{
- settings.setValue ("/mapeditor/writeBackupFile",actionSettingsWriteBackupFile->isOn() );
+ settings.setValue ("/mainwindow/writeBackupFile",actionSettingsWriteBackupFile->isOn() );
}
void Main::settingsToggleAnimation()
diff -r 1b4d1ea6ea8c -r 54d44ecd6097 mainwindow.h
--- a/mainwindow.h Fri Mar 06 15:02:58 2009 +0000
+++ b/mainwindow.h Thu Mar 19 11:45:28 2009 +0000
@@ -29,7 +29,17 @@
Main(QWidget* parent=0, const char* name=0, Qt::WFlags f=0);
~Main();
void loadCmdLine();
+
+private:
+ QProgressBar *progressBar;
+ int progressMax;
+ int progressMin;
+public:
void statusMessage (const QString &);
+ void setProgressMinimum (int min);
+ void setProgressMaximum (int max);
+ void setProgressValue (int v);
+ void removeProgressBar();
private:
VymView* createView (VymModel*);
@@ -77,7 +87,8 @@
private slots:
void fileSaveAs(const SaveMode &);
void fileSaveAs();
- void fileImportKDEBookmarks();
+ void fileImportKDE3Bookmarks();
+ void fileImportKDE4Bookmarks();
void fileImportFirefoxBookmarks();
void fileImportFreemind();
void fileImportMM();
@@ -88,7 +99,8 @@
void fileExportASCII();
void fileExportCSV();
void fileExportLaTeX();
- void fileExportKDEBookmarks();
+ void fileExportKDE3Bookmarks();
+ void fileExportKDE4Bookmarks();
void fileExportTaskjuggler();
void fileExportOOPresentation();
void fileCloseMap();
diff -r 1b4d1ea6ea8c -r 54d44ecd6097 mapeditor.cpp
--- a/mapeditor.cpp Fri Mar 06 15:02:58 2009 +0000
+++ b/mapeditor.cpp Thu Mar 19 11:45:28 2009 +0000
@@ -128,10 +128,11 @@
MapEditor::~MapEditor()
{
- //cout <<"Destructor MapEditor\n";
- // tmpMapDir is in tmpVymDir, so it gets removed automagically when vym closes
+ cout <<"Destructor MapEditor for "<getMapName().toStdString()<unregisterEditor(this);
}
@@ -413,21 +414,21 @@
if (model->getSelectedBranch() )
{
// Context Menu on branch or mapcenter
- model->updateActions();
+ //FIXME model->updateActions(); needed?
branchContextMenu->popup(e->globalPos() );
} else
{
if (model->getSelectedFloatImage() )
{
// Context Menu on floatimage
- model->updateActions();
+ // model->updateActions(); FIXME needed?
floatimageContextMenu->popup(e->globalPos() );
}
}
} else
{ // No MapObj found, we are on the Canvas itself
// Context Menu on scene
- model->updateActions();
+ // model->updateActions(); FIXME needed?
// Open context menu synchronously to position new mapcenter
model->setContextPos (p);
@@ -602,7 +603,7 @@
// a button in the toolbar)
if (e->button() == Qt::MidButton )
model->toggleScroll();
- model->updateActions();
+ // model->updateActions(); FIXME needed?
// FIXME needed? xelection.update();
} else
{ // No MapObj found, we are on the scene itself
@@ -946,13 +947,13 @@
model->reposition();
}
}
- model->updateSelection();
+ model->updateSelection(); //FIXME needed? at least not after pos of selection has changed...
// Finally resize scene, if needed
scene()->update();
movingObj=NULL;
// Just make sure, that actions are still ok,e.g. the move branch up/down buttons...
- model->updateActions();
+ // model->updateActions(); FIXME neeeded?
} else
// maybe we moved View: set old cursor
setCursor (Qt::ArrowCursor);
diff -r 1b4d1ea6ea8c -r 54d44ecd6097 version.h
--- a/version.h Fri Mar 06 15:02:58 2009 +0000
+++ b/version.h Thu Mar 19 11:45:28 2009 +0000
@@ -7,7 +7,7 @@
#define __VYM_VERSION "1.13.0"
//#define __VYM_CODENAME "Codename: RC-1"
#define __VYM_CODENAME "Codename: development version"
-#define __VYM_BUILD_DATE "2009-03-06"
+#define __VYM_BUILD_DATE "2009-03-19"
bool checkVersion(const QString &);
diff -r 1b4d1ea6ea8c -r 54d44ecd6097 vym.pro
--- a/vym.pro Fri Mar 06 15:02:58 2009 +0000
+++ b/vym.pro Thu Mar 19 11:45:28 2009 +0000
@@ -11,6 +11,7 @@
TRANSLATIONS += lang/vym_fr.ts
TRANSLATIONS += lang/vym_zh_CN.ts
TRANSLATIONS += lang/vym_pt_BR.ts
+TRANSLATIONS += lang/vym_zh_TW.ts
# Manifest embedding was suggested by Qt docs somewhere...
win32: CONFIG += embed_manifest_exe
diff -r 1b4d1ea6ea8c -r 54d44ecd6097 vymmodel.cpp
--- a/vymmodel.cpp Fri Mar 06 15:02:58 2009 +0000
+++ b/vymmodel.cpp Thu Mar 19 11:45:28 2009 +0000
@@ -66,7 +66,6 @@
void VymModel::clear()
{
- cout << "VymModel::clear rows="<clearSelection();
// Remove stuff
@@ -147,8 +146,6 @@
hidemode=HideNone;
-
-
// Network
netstate=Offline;
@@ -179,6 +176,7 @@
void VymModel::updateActions() // FIXME maybe don't update if blockReposition is set
{
+ cout << "VymModel::updateActions \n";
// Tell mainwindow to update states of actions
mainWindow->updateActions();
}
@@ -224,6 +222,7 @@
mapAttr+= xml.attribut("author",author) +
xml.attribut("comment",comment) +
xml.attribut("date",getDate()) +
+ xml.attribut("countBranches", QString().number(countBranches())) +
xml.attribut("backgroundColor", mapScene->backgroundBrush().color().name() ) +
xml.attribut("selectionColor", mapEditor->getSelectionColor().name() ) +
xml.attribut("linkStyle", ls ) +
@@ -889,6 +888,12 @@
void VymModel::autosave()
{
+ if (filePath=="")
+ {
+ if (debug)
+ cout << "VymModel::autosave rejected due to missing filePath\n";
+ }
+
QDateTime now=QDateTime().currentDateTime();
// Disable autosave, while we have gone back in history
@@ -899,7 +904,7 @@
if (filePath.isEmpty()) return;
- if (mapUnsaved &&mapChanged && settings.value ("/autosave/use",true).toBool() )
+ if (mapUnsaved &&mapChanged && settings.value ("/mainwindow/autosave/use",true).toBool() )
{
if (QFileInfo(filePath).lastModified()<=fileChangedTime)
mainWindow->fileSave (this);
@@ -959,8 +964,12 @@
void VymModel::setChanged()
{
+ cout << "VM::setChanged()\n";
if (!mapChanged)
- autosaveTimer->start(settings.value("/autosave/ms/",300000).toInt());
+ {
+ autosaveTimer->start(settings.value("/mainwindow/autosave/ms/",300000).toInt());
+ cout <<" timer started with "<selection();
- /*
- cout << "VM::updateSelection new=";
- if (!newsel.indexes().isEmpty() )
- cout << newsel.indexes().first().row()<<"," << newsel.indexes().first().column();
- cout << " old=";
- if (!oldsel.indexes().isEmpty() )
- cout << oldsel.indexes().first().row()<<"," << oldsel.indexes().first().column();
- cout <
+using namespace std;
#include "mainwindow.h"
#include "mapeditor.h"
@@ -8,8 +9,10 @@
extern Main *mainWindow;
-VymView::VymView(VymModel *model)
+VymView::VymView(VymModel *m)
{
+ model=m;
+
// Create TreeView
treeview=new QTreeView;
treeview->setModel ((QAbstractItemModel*)model);
@@ -61,11 +64,28 @@
}
-void VymView::changeSelection (const QItemSelection &newSel, const QItemSelection &delSel)
+void VymView::changeSelection (const QItemSelection &, const QItemSelection &)
{
- // FIXME Currently this works only from treeview->ME
- treeview->expandAll(); //FIXME only for testing
+ cout << "VymView::changeSelection (newsel,delsel)\n";
+ //treeview->expandAll(); //FIXME only for testing
//((VymModel*)treeview->model())->select ();
+
+ // Show URL and link in statusbar
+ QString status;
+ QString s=model->getURL();
+ if (!s.isEmpty() ) status+="URL: "+s+" ";
+ s=model->getVymLink();
+ if (!s.isEmpty() ) status+="Link: "+s;
+ if (!status.isEmpty() ) mainWindow->statusMessage (status);
+
+/* FIXME, was so far in BranchObj
+ // Update Toolbar
+ //updateFlagsToolbar();
+
+*/
+
+ // Update actions
+ mainWindow->updateActions();
}
diff -r 1b4d1ea6ea8c -r 54d44ecd6097 vymview.h
--- a/vymview.h Fri Mar 06 15:02:58 2009 +0000
+++ b/vymview.h Thu Mar 19 11:45:28 2009 +0000
@@ -19,6 +19,7 @@
void changeSelection (const QItemSelection &newSel, const QItemSelection &delSel);
private:
+ VymModel *model;
QTreeView *treeview;
QItemSelectionModel *selModel;
};
diff -r 1b4d1ea6ea8c -r 54d44ecd6097 xml-vym.cpp
--- a/xml-vym.cpp Fri Mar 06 15:02:58 2009 +0000
+++ b/xml-vym.cpp Thu Mar 19 11:45:28 2009 +0000
@@ -9,12 +9,14 @@
#include "misc.h"
#include "settings.h"
#include "linkablemapobj.h"
+#include "mainwindow.h"
#include "version.h"
static BranchObj *lastBranch;
static FloatObj *lastFloat;
static OrnamentedObj *lastOO;
+extern Main *mainWindow;
extern Settings settings;
extern QString vymVersion;
@@ -46,6 +48,7 @@
if ( state == StateInit && (eName == "vymmap") )
{
state = StateMap;
+ branchesTotal=branchesCurrent=0;
if (loadMode==NewMap )
{
@@ -57,6 +60,23 @@
model->setAuthor(atts.value( "author" ) );
if (!atts.value( "comment").isEmpty() )
model->setComment (atts.value( "comment" ) );
+ if (!atts.value( "countBranches").isEmpty() )
+ {
+ branchesTotal=atts.value("countBranches").toInt();
+ if (branchesTotal>10)
+ {
+ mainWindow->setProgressMinimum (0);
+ mainWindow->setProgressMaximum (branchesTotal);
+ mainWindow->setProgressValue(0);
+ }
+ } else
+ {
+ mainWindow->setProgressMinimum (0);
+ mainWindow->setProgressMaximum (0);
+ mainWindow->setProgressValue(0);
+ }
+
+
if (!atts.value( "backgroundColor").isEmpty() )
{
col.setNamedColor(atts.value("backgroundColor"));
@@ -264,6 +284,9 @@
*/
switch ( state )
{
+ case StateMap:
+ mainWindow->removeProgressBar();
+ break;
case StateBranch:
model->selectParent();
lastBranch=model->getSelectedBranch();
@@ -330,6 +353,8 @@
bool parseVYMHandler::readBranchAttr (const QXmlAttributes& a)
{
+ branchesCurrent++;
+ mainWindow->setProgressValue (branchesCurrent);
lastOO=lastBranch;
if (!readOOAttr(a)) return false;
diff -r 1b4d1ea6ea8c -r 54d44ecd6097 xml-vym.h
--- a/xml-vym.h Fri Mar 06 15:02:58 2009 +0000
+++ b/xml-vym.h Thu Mar 19 11:45:28 2009 +0000
@@ -3,7 +3,6 @@
#include "xml-base.h"
-
/*! \brief Parsing VYM maps from XML documents */
class parseVYMHandler : public parseBaseHandler
@@ -42,8 +41,9 @@
StateFloatImage,
StateHeading
};
-
+ int branchesCurrent;
+ int branchesTotal;
State state;
State laststate;