├── .clang-format ├── CMakeLists.txt ├── LICENSE.txt ├── README.md ├── config ├── io.github.insilmaril.vym.appdata.xml ├── vym.desktop └── vym.xml ├── demos ├── default-dark.vym ├── default.vym ├── frames.vym ├── lifeforms.vym ├── math.vym ├── new-flags.vym ├── scripts │ ├── confluence-delete-labels.vys │ ├── confluence-find-labels.vys │ ├── examplescript.vys │ ├── export-image.vys │ ├── iterating-branches.vys │ ├── setSelectionBoxDarkTheme.vys │ └── strip-url.vys ├── task-management.vym ├── time-management.vym └── vym-contribute.vym ├── doc ├── devel │ ├── README-layout.md │ ├── architecture-notes.md │ └── xml-changes.md ├── vym.1.gz ├── vym.pdf ├── vym_es.pdf └── vym_fr.pdf ├── exports ├── orange-blue.conf └── template-orange-blue │ ├── META-INF │ └── manifest.xml │ ├── Pictures │ └── 1000000000000040000000400142E835.png │ ├── Thumbnails │ └── thumbnail.png │ ├── content-template.xml │ ├── content.xml │ ├── meta.xml │ ├── mimetype │ ├── page-template.xml │ ├── settings.xml │ └── styles.xml ├── flags ├── flag-hideexport.png ├── flag-present.png ├── flag-rose.png ├── flag-scrolled-right.png ├── flag-thumb-down.png ├── flag-thumb-up.png ├── flag-tmpUnscrolled-right.png ├── flag-vymlink.png ├── flag-vymlinknew.png ├── freemind │ ├── attach.png │ ├── back.png │ ├── bell.png │ ├── bookmark.png │ ├── clanbomber.png │ ├── desktopnew.png │ ├── flag.png │ ├── forward.png │ ├── gohome.png │ ├── help.png │ ├── idea.png │ ├── kaddressbook.png │ ├── knotify.png │ ├── korn.png │ ├── licq.png │ ├── mail.png │ ├── password.png │ ├── pencil.png │ ├── penguin.png │ ├── priority-1.png │ ├── priority-2.png │ ├── priority-3.png │ ├── priority-4.png │ ├── priority-5.png │ ├── priority-6.png │ ├── priority-7.png │ ├── stop.png │ ├── warning.png │ ├── wizard.png │ └── xmag.png ├── standard │ ├── Dialog-STOP.svg │ ├── Dialog-information_on.svg │ ├── arrow-2down-blue.svg │ ├── arrow-2up-blue.svg │ ├── arrow-down-blue.svg │ ├── arrow-up-blue.svg │ ├── dialog-ok-apply.svg │ ├── dialog-warning.svg │ ├── edit-delete.svg │ ├── edit-undo.svg │ ├── emblem-favorite.svg │ ├── face-plain.svg │ ├── face-sad.svg │ ├── face-smile.svg │ ├── face-surprise.svg │ ├── flash.svg │ ├── help-about.svg │ ├── help-contextual.svg │ ├── internet-telephony.svg │ ├── kalarm.svg │ └── question-mark.svg └── system │ ├── applications-internet-new.svg │ ├── applications-internet.svg │ ├── jissue.svg │ ├── klipper.svg │ ├── no-arrow-up.png │ ├── stopsign-arrow-2up.png │ ├── stopsign-arrow-up.png │ ├── target.svg │ ├── task-finished.svg │ ├── task-new-morning.svg │ ├── task-new-sleeping.svg │ ├── task-new.svg │ ├── task-wip-morning.svg │ ├── task-wip-sleeping.svg │ └── task-wip.svg ├── forms ├── actionlog-dialog.ui ├── attributedialog.ui ├── attributewidget.ui ├── background-dialog.ui ├── branchpropeditor.ui ├── confluence-settings-dialog.ui ├── confluence-userdialog.ui ├── darktheme-settings-dialog.ui ├── default-map-settings-dialog.ui ├── editxlinkdialog.ui ├── export-confluence-dialog.ui ├── export-html-dialog.ui ├── exportxhtmldialog.ui ├── extrainfodialog.ui ├── historywindow.ui ├── jira-settings-dialog.ui ├── lineeditdialog.ui ├── lockedfiledialog.ui ├── scripteditor.ui ├── showtextdialog.ui └── warningdialog.ui ├── icons ├── bright │ ├── application-exit.svg │ ├── camera-photo.svg │ ├── document-close.svg │ ├── document-export.svg │ ├── document-new.svg │ ├── document-open.svg │ ├── document-print.svg │ ├── document-save-as.svg │ ├── document-save.svg │ ├── edit-copy.svg │ ├── edit-cut.svg │ ├── edit-delete.svg │ ├── edit-find.svg │ ├── edit-paste.svg │ ├── folder-cloud.svg │ ├── format-justify-center.svg │ ├── format-justify-fill.svg │ ├── format-justify-left.svg │ ├── format-justify-right.svg │ ├── format-text-bold.svg │ ├── format-text-italic.svg │ ├── format-text-subscript.svg │ ├── format-text-superscript.svg │ ├── format-text-underline.svg │ ├── go-next.svg │ ├── go-previous.svg │ ├── insert-image.svg │ ├── transform-rotate-ccw.svg │ ├── transform-rotate-cw.svg │ ├── view-sort-ascending-name.svg │ ├── view-sort-descending-name.svg │ ├── zoom-fit-best.svg │ ├── zoom-in-large.svg │ ├── zoom-in.svg │ ├── zoom-original.svg │ ├── zoom-out-large.svg │ └── zoom-out.svg ├── classic │ ├── application-exit.svg │ ├── camera-photo.png │ ├── document-close.png │ ├── document-export.svg │ ├── document-new.svg │ ├── document-open.svg │ ├── document-print.svg │ ├── document-save-as.svg │ ├── document-save.svg │ ├── edit-copy.svg │ ├── edit-cut.svg │ ├── edit-delete.svg │ ├── edit-find.svg │ ├── edit-paste.svg │ ├── editsort.png │ ├── editsortback.png │ ├── fileopen.png │ ├── go-next.png │ ├── go-previous.png │ ├── transform-rotate-ccw.svg │ ├── transform-rotate-cw.svg │ ├── viewmag+.png │ ├── viewmag-.png │ ├── viewmag-reset.png │ └── viewshowsel.png ├── color-text.svg ├── configure-plus.svg ├── cursors │ ├── cursorcolorpicker.png │ └── cursorxlink.png ├── dark │ ├── application-exit.svg │ ├── camera-photo.svg │ ├── document-close.svg │ ├── document-export.svg │ ├── document-new.svg │ ├── document-open.svg │ ├── document-print.svg │ ├── document-save-as.svg │ ├── document-save.svg │ ├── edit-copy.svg │ ├── edit-cut.svg │ ├── edit-delete.svg │ ├── edit-find.svg │ ├── edit-paste.svg │ ├── folder-cloud.svg │ ├── format-justify-center.svg │ ├── format-justify-fill.svg │ ├── format-justify-left.svg │ ├── format-justify-right.svg │ ├── format-text-bold.svg │ ├── format-text-italic.svg │ ├── format-text-subscript.svg │ ├── format-text-superscript.svg │ ├── format-text-underline.svg │ ├── go-next.svg │ ├── go-previous.svg │ ├── insert-image.svg │ ├── transform-rotate-ccw.svg │ ├── transform-rotate-cw.svg │ ├── view-sort-ascending-name.svg │ ├── view-sort-descending-name.svg │ ├── zoom-fit-best.svg │ ├── zoom-in.svg │ ├── zoom-original.svg │ └── zoom-out.svg ├── document-new-copy.svg ├── down-diagonal-left.png ├── down-diagonal-right.png ├── down.png ├── draw-brush.svg ├── edit-clear-list.svg ├── formatcolorbranch.png ├── formatcolorpicker.png ├── formatcolorsubtree.png ├── formatfixedfont.png ├── formatrichtext.svg ├── headingeditor.png ├── history.png ├── linestyle-dash.png ├── linestyle-dashdot.png ├── linestyle-dashdotdot.png ├── linestyle-dot.png ├── linestyle-solid.png ├── modifiers │ ├── cursorhandopen.png │ ├── mode-color.png │ ├── mode-move-object.svg │ ├── mode-select.svg │ └── mode-xlink.png ├── newbranch.png ├── newmapcenter.png ├── redo.png ├── script-reload.svg ├── script-run.svg ├── scripteditor.png ├── slideeditor.png ├── slidenext.png ├── slideprevious.png ├── sliderecord.png ├── taskeditor.png ├── taskfilter-activetask.png ├── taskfilter-currentmap.png ├── taskfilter-newtask.png ├── treeeditor.png ├── undo.png ├── up-diagonal-left.png ├── up-diagonal-right.png ├── up.png ├── video-projector.png ├── view-filter.png ├── vym-128x128.ico ├── vym-128x128.png ├── vym-16x16.png ├── vym-editor.png ├── vym.icns ├── vym.png └── vym.xpm ├── images └── background-grid.png ├── lang ├── vym.cs_CZ.ts ├── vym.de.ts ├── vym.el.ts ├── vym.en.ts ├── vym.es.ts ├── vym.fr.ts ├── vym.hr_HR.ts ├── vym.ia.ts ├── vym.it.ts ├── vym.ja.ts ├── vym.pt_BR.ts ├── vym.ru.ts ├── vym.sv.ts ├── vym.zh_CN.ts └── vym.zh_TW.ts ├── macros ├── macros.vys └── slideeditor-snapshot.vys ├── release-notes-2.9.md ├── scripts ├── vivym ├── vym-addmail.rb └── vym-ruby.rb ├── src ├── aboutdialog.cpp ├── aboutdialog.h ├── actionlog-dialog.cpp ├── actionlog-dialog.h ├── animpoint.cpp ├── animpoint.h ├── arrowobj.cpp ├── arrowobj.h ├── attribute-wrapper.cpp ├── attribute-wrapper.h ├── attributeitem.cpp ├── attributeitem.h ├── background-dialog.cpp ├── background-dialog.h ├── branch-container-base.cpp ├── branch-container-base.h ├── branch-container.cpp ├── branch-container.h ├── branch-wrapper.cpp ├── branch-wrapper.h ├── branchitem.cpp ├── branchitem.h ├── branchpropeditor.cpp ├── branchpropeditor.h ├── codeeditor.cpp ├── codeeditor.h ├── command.cpp ├── command.h ├── confluence-agent.cpp ├── confluence-agent.h ├── confluence-settings-dialog.cpp ├── confluence-settings-dialog.h ├── confluence-user.cpp ├── confluence-user.h ├── confluence-userdialog.cpp ├── confluence-userdialog.h ├── container.cpp ├── container.h ├── darktheme-settings-dialog.cpp ├── darktheme-settings-dialog.h ├── dbus │ ├── adaptormodel.cpp │ ├── adaptormodel.h │ ├── adaptorvym.cpp │ └── adaptorvym.h ├── debuginfo.cpp ├── debuginfo.h ├── default-map-settings-dialog.cpp ├── default-map-settings-dialog.h ├── dockeditor.cpp ├── dockeditor.h ├── download-agent.cpp ├── download-agent.h ├── editxlinkdialog.cpp ├── editxlinkdialog.h ├── export-ao.cpp ├── export-ao.h ├── export-ascii.cpp ├── export-ascii.h ├── export-base.cpp ├── export-base.h ├── export-confluence-dialog.cpp ├── export-confluence-dialog.h ├── export-confluence.cpp ├── export-confluence.h ├── export-csv.cpp ├── export-csv.h ├── export-firefox.cpp ├── export-firefox.h ├── export-html-dialog.cpp ├── export-html-dialog.h ├── export-html.cpp ├── export-html.h ├── export-impress-filedialog.cpp ├── export-impress-filedialog.h ├── export-impress.cpp ├── export-impress.h ├── export-latex.cpp ├── export-latex.h ├── export-markdown.cpp ├── export-markdown.h ├── export-orgmode.cpp ├── export-orgmode.h ├── export-taskjuggler.cpp ├── export-taskjuggler.h ├── extrainfodialog.cpp ├── extrainfodialog.h ├── file.cpp ├── file.h ├── findresultitem.cpp ├── findresultitem.h ├── findresultmodel.cpp ├── findresultmodel.h ├── findresultwidget.cpp ├── findresultwidget.h ├── findwidget.cpp ├── findwidget.h ├── flag-container.cpp ├── flag-container.h ├── flag.cpp ├── flag.h ├── flagrow-container.cpp ├── flagrow-container.h ├── flagrow-master.cpp ├── flagrow-master.h ├── flagrow.cpp ├── flagrow.h ├── frame-container.cpp ├── frame-container.h ├── geometry.cpp ├── geometry.h ├── heading-container.cpp ├── heading-container.h ├── heading.cpp ├── heading.h ├── headingeditor.cpp ├── headingeditor.h ├── highlighter.cpp ├── highlighter.h ├── historywindow.cpp ├── historywindow.h ├── image-container.cpp ├── image-container.h ├── image-wrapper.cpp ├── image-wrapper.h ├── imageitem.cpp ├── imageitem.h ├── imports.cpp ├── imports.h ├── jira-agent.cpp ├── jira-agent.h ├── jira-issue.cpp ├── jira-issue.h ├── jira-settings-dialog.cpp ├── jira-settings-dialog.h ├── lineeditdialog.cpp ├── lineeditdialog.h ├── link-container.cpp ├── link-container.h ├── linkable-container.cpp ├── linkable-container.h ├── linkobj.cpp ├── linkobj.h ├── lockedfiledialog.cpp ├── lockedfiledialog.h ├── macros.cpp ├── macros.h ├── main.cpp ├── mainwindow.cpp ├── mainwindow.h ├── mapdesign.cpp ├── mapdesign.h ├── mapeditor.cpp ├── mapeditor.h ├── mapitem.cpp ├── mapitem.h ├── mapobj.cpp ├── mapobj.h ├── misc.cpp ├── misc.h ├── mkdtemp.cpp ├── mkdtemp.h ├── noteeditor.cpp ├── noteeditor.h ├── options.cpp ├── options.h ├── scripteditor.cpp ├── scripteditor.h ├── scripting-xlink-wrapper.cpp ├── scripting-xlink-wrapper.h ├── scriptoutput.cpp ├── scriptoutput.h ├── selectable-container.cpp ├── selectable-container.h ├── settings.cpp ├── settings.h ├── shortcuts.cpp ├── shortcuts.h ├── showtextdialog.cpp ├── showtextdialog.h ├── slidecontrolwidget.cpp ├── slidecontrolwidget.h ├── slideeditor.cpp ├── slideeditor.h ├── slideitem.cpp ├── slideitem.h ├── slidemodel.cpp ├── slidemodel.h ├── task.cpp ├── task.h ├── taskeditor.cpp ├── taskeditor.h ├── taskfiltermodel.cpp ├── taskfiltermodel.h ├── taskmodel.cpp ├── taskmodel.h ├── texteditor.cpp ├── texteditor.h ├── tmp-parent-container.cpp ├── tmp-parent-container.h ├── treedelegate.cpp ├── treedelegate.h ├── treeeditor.cpp ├── treeeditor.h ├── treeitem.cpp ├── treeitem.h ├── treemodel.cpp ├── treemodel.h ├── version.cpp ├── version.h ├── vym-wrapper.cpp ├── vym-wrapper.h ├── vymlock.cpp ├── vymlock.h ├── vymmodel.cpp ├── vymmodel.h ├── vymmodelwrapper.cpp ├── vymmodelwrapper.h ├── vymnote.cpp ├── vymnote.h ├── vymprocess.cpp ├── vymprocess.h ├── vymtext.cpp ├── vymtext.h ├── vymview.cpp ├── vymview.h ├── warningdialog.cpp ├── warningdialog.h ├── winter.cpp ├── winter.h ├── xlink.cpp ├── xlink.h ├── xlinkitem.cpp ├── xlinkitem.h ├── xlinkobj.cpp ├── xlinkobj.h ├── xml-base.cpp ├── xml-base.h ├── xml-freeplane.cpp ├── xml-freeplane.h ├── xml-ithoughts.cpp ├── xml-ithoughts.h ├── xml-vym.cpp ├── xml-vym.h ├── xmlobj.cpp ├── xmlobj.h ├── xsltproc.cpp ├── xsltproc.h ├── zip-agent.cpp └── zip-agent.h ├── styles ├── vym.css └── vym2taskjuggler.xsl ├── test ├── example-2.4.0.vym ├── example-pre-2.9.500-positions.xml ├── maps │ ├── freeplane │ │ └── freeplaneFunctions.mm │ ├── legacy │ │ ├── external-note-plaintext.txt │ │ ├── external-note-richtext.html │ │ ├── faq-2.5.21.xml │ │ ├── legacy-text-2.4.0.xml │ │ ├── lifeforms-2.1.11.vym │ │ ├── notes.xml │ │ ├── time-management-1.13.33.vym │ │ └── xlinks.xml │ ├── test-attributes.xml │ ├── test-default.vym │ ├── test-frames.vym │ ├── test-slides.xml │ ├── test-tasks.xml │ └── test-userflag.vym ├── notes │ ├── note-plain.txt │ ├── note-richtext.xml │ └── note.html ├── start-internal-tests.sh ├── start-ruby-tests-legacy.sh ├── start-ruby-tests.sh ├── vym-selftest.vys ├── vym-test-legacy.rb └── vym-test.rb ├── tex ├── commands.tex ├── examples │ ├── branches.vym │ ├── macros.vym │ ├── windows-main.vym │ ├── windows.vym │ └── xlinks.vym ├── help.tex ├── images │ ├── branches-flags.png │ ├── branches-flags_es.png │ ├── branches-flags_fr.png │ ├── branches.png │ ├── branches_es.png │ ├── branches_fr.png │ ├── color-buttons.png │ ├── default-flags.png │ ├── example1.png │ ├── example1_es.png │ ├── example1_fr.png │ ├── export-oo.png │ ├── export-oo_es.png │ ├── find-window.png │ ├── find-window_es.png │ ├── flag-hideexport.png │ ├── flag-target.png │ ├── flag-url-bugzilla-novell.png │ ├── flag-url.png │ ├── flag-urlnew.png │ ├── flag-vymlink.png │ ├── flag-vymlinknew.png │ ├── flags │ │ ├── add-userflag.png │ │ ├── arrow-up.png │ │ ├── arrow2-up.png │ │ ├── arrows.png │ │ ├── stopsign.png │ │ ├── system │ │ │ ├── note.png │ │ │ ├── target.png │ │ │ ├── task-finished.png │ │ │ ├── task-new-sleeping.png │ │ │ ├── task-new.png │ │ │ ├── task-not-started.png │ │ │ ├── task-wip-sleeping.png │ │ │ └── task-wip.png │ │ └── systemflags.png │ ├── formatfixedfont.png │ ├── frames.png │ ├── headingeditor.png │ ├── hiddenlink.png │ ├── hiddenlink_es.png │ ├── hiddenlink_fr.png │ ├── historywindow.png │ ├── includeImages.png │ ├── includeImages_es.png │ ├── includeImages_fr.png │ ├── macros.png │ ├── macros_fr.png │ ├── mainwindow.png │ ├── modmodes.png │ ├── move-buttons.png │ ├── newmapcenter.png │ ├── noteeditor.png │ ├── noteeditor_es.png │ ├── noteeditor_fr.png │ ├── propwindow.png │ ├── scripteditor.png │ ├── slideeditor.png │ ├── taskeditor.png │ ├── vym-logo-new.png │ ├── windows-main.png │ ├── windows.png │ ├── windows_es.png │ ├── windows_fr.png │ ├── xlink-control.png │ ├── xlink-property.png │ ├── xlink.png │ ├── xlink_es.png │ ├── xlink_fr.png │ └── zoom-buttons.png ├── vym.tex ├── vym_es.tex ├── vym_fr.lyx └── vym_fr.tex ├── vym.qrc └── vym.rc /.clang-format: -------------------------------------------------------------------------------- 1 | BreakBeforeBraces: Stroustrup 2 | IndentWidth: 4 3 | TabWidth: 4 -------------------------------------------------------------------------------- /config/vym.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | VYM - View Your Mind files 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /demos/default-dark.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/demos/default-dark.vym -------------------------------------------------------------------------------- /demos/default.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/demos/default.vym -------------------------------------------------------------------------------- /demos/frames.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/demos/frames.vym -------------------------------------------------------------------------------- /demos/lifeforms.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/demos/lifeforms.vym -------------------------------------------------------------------------------- /demos/math.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/demos/math.vym -------------------------------------------------------------------------------- /demos/new-flags.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/demos/new-flags.vym -------------------------------------------------------------------------------- /demos/scripts/confluence-delete-labels.vys: -------------------------------------------------------------------------------- 1 | vym.clearConsole(); 2 | map = vym.currentMap(); 3 | 4 | map.newBranchIterator("it"); 5 | b = map.nextBranch("it"); 6 | vym.print ("Starting with branch: " + b.getHeading() ); 7 | 8 | label = "deletion_candidate"; 9 | 10 | dc_count = 0; 11 | total_count = 0; 12 | 13 | while (b) 14 | { 15 | total_count++; 16 | 17 | vym.print ("Current page: " + b.getHeading() ); 18 | if (b.hasAttributeWithKey("Confluence.labels.count")) { 19 | n = b.attributeAsInt("Confluence.labels.count"); 20 | for (i = 0; i < n; i++) { 21 | key = "Confluence.label-" + i; 22 | if (b.hasAttributeWithKey(key)) { 23 | if (b.attributeAsString(key) == label) { 24 | // Actions done in map: 25 | b.colorBranch("#00FF00"); 26 | b.setFlagByName("wip"); 27 | b.unsetFlagByName("exclamationmark"); 28 | 29 | vym.print(" -> Found label " + label); 30 | b.deleteConfluencePageLabel(label); 31 | dc_count++; 32 | } 33 | } 34 | } 35 | } 36 | b = map.nextBranch("it"); 37 | } 38 | 39 | vym.print("Triggered removal of " + dc_count + " '" + label + "' labels in " + total_count + " pages"); -------------------------------------------------------------------------------- /demos/scripts/confluence-find-labels.vys: -------------------------------------------------------------------------------- 1 | vym.clearConsole(); 2 | map = vym.currentMap(); 3 | 4 | map.newBranchIterator("it"); 5 | b = map.nextBranch("it"); 6 | vym.print ("Starting with branch: " + b.getHeading() ); 7 | 8 | label = "deletion_candidate"; 9 | 10 | dc_count = 0; 11 | total_count = 0; 12 | 13 | while (b) 14 | { 15 | total_count++; 16 | 17 | vym.print ("Current page: " + b.getHeading() ); 18 | if (b.hasAttributeWithKey("Confluence.labels.count")) { 19 | n = b.attributeAsInt("Confluence.labels.count"); 20 | for (i = 0; i < n; i++) { 21 | key = "Confluence.label-" + i; 22 | if (b.hasAttributeWithKey(key)) { 23 | if (b.attributeAsString(key) == label) { 24 | // Actions done in map: 25 | b.colorBranch("#FF0000"); 26 | b.setFlagByName("exclamationmark"); 27 | 28 | vym.print(" -> Found label " + label); 29 | dc_count++; 30 | } 31 | } 32 | } 33 | } 34 | b = map.nextBranch("it"); 35 | } 36 | 37 | vym.print(dc_count + " deletion_candidate labels found in " + total_count + " pages"); -------------------------------------------------------------------------------- /demos/scripts/examplescript.vys: -------------------------------------------------------------------------------- 1 | //Example function definition 2 | function foofunction(s) { 3 | print ("Foofunction output: " + s); 4 | s = "changed par"; 5 | return {a: "ret-value", b: "bla"}; 6 | } 7 | 8 | par = "I am a parameter!"; 9 | print (foofunction(par)); 10 | print ("par is now: " + par); 11 | //abort("xxx"); 12 | print ("bar"); 13 | 14 | m=vym.currentMap(); 15 | m.setHeadingPlainText("foobar"); 16 | print( m.getHeadingPlainText()); -------------------------------------------------------------------------------- /demos/scripts/export-image.vys: -------------------------------------------------------------------------------- 1 | vym.clearConsole(); 2 | map = vym.currentMap(); 3 | map.exportMap(["Image","export-test.png","PNG"]); 4 | 5 | 6 | // exportMap Parameters 7 | // 0: Export type 8 | // 1: Filname 9 | // 2: Image format (optional) for "Image" 10 | 11 | // Export types 12 | // ["Last", "AO", "ASCII", "CSV", "HTML", "Image", "Impress", "LaTeX", "Markdown", "OrgMode", "PDF", "SVG", "XML"] 13 | // 14 | // More details in the code: 15 | // https://github.com/insilmaril/vym/blob/aa5c4544627637344c58f5d8c7319c3b6d3dbd0c/src/vymmodelwrapper.cpp#L241 16 | // 17 | // Image formats 18 | // ["PNG", "GIF", "JPG", "JPEG", "PNG", "PBM", "PGM", "PPM", "TIFF", "XBM", "XPM"] 19 | -------------------------------------------------------------------------------- /demos/scripts/iterating-branches.vys: -------------------------------------------------------------------------------- 1 | vym.clearConsole(); 2 | map = vym.currentMap(); 3 | 4 | map.newBranchIterator("foobar"); 5 | b = map.nextBranch("foobar"); 6 | vym.print ("Starting with branch: " + b.headingText() ); 7 | 8 | while (map.nextBranch("foobar") ) 9 | { 10 | vym.print ("Current branch: " + map.headingText() ); 11 | } 12 | -------------------------------------------------------------------------------- /demos/scripts/setSelectionBoxDarkTheme.vys: -------------------------------------------------------------------------------- 1 | map = vym.currentMap(); 2 | map.setSelectionPenWidth(2); 3 | map.setSelectionPenColor("#ffffff00"); 4 | map.setSelectionBrushColor("#44ffff00"); 5 | vym.print ("Updated selection box colors."); 6 | -------------------------------------------------------------------------------- /demos/scripts/strip-url.vys: -------------------------------------------------------------------------------- 1 | // Strip URLs from confluence and generate readable heading 2 | // by removing path and replacing characters like "+" 3 | 4 | vym.clearConsole(); 5 | m1 = vym.currentMap(); 6 | 7 | org = m1.getURL(); 8 | print ("Original:"); 9 | print (org); 10 | 11 | s = org; 12 | 13 | // Chop trailing "/" 14 | if (s[s.length-1] == '/') { 15 | s = s.slice(0, s.length - 1); 16 | } 17 | 18 | // Remove confluence parts 19 | if (s.indexOf("infohub") != -1) { 20 | print("Found infohub page"); 21 | if (s.indexOf("spaceKey") != -1) { 22 | s = s.replace(/^.*spaceKey=/g, ""); 23 | s = s.replace(/(&title=)/g, ": "); 24 | } else 25 | { 26 | s = s.replace(/^.*display\//g, ""); 27 | s = s.replace(/\//g, ": "); 28 | } 29 | } else // no infohub page 30 | { 31 | // remove path 32 | s = s.replace(/^.*\//g, ""); 33 | } 34 | 35 | print (s); 36 | 37 | // Replace "+" and "-" 38 | s = s.replace(/\+/g, " "); 39 | s = s.replace(/%3A/g, ""); 40 | print ("After replacing:"); 41 | print (s); 42 | 43 | // Write new header 44 | m1.setHeadingPlainText(s); 45 | 46 | if ( org == s ) { 47 | statusMessage ("Heading not changed."); 48 | } else { 49 | statusMessage("Changed heading: " + org + " -> " + s); 50 | } -------------------------------------------------------------------------------- /demos/task-management.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/demos/task-management.vym -------------------------------------------------------------------------------- /demos/time-management.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/demos/time-management.vym -------------------------------------------------------------------------------- /demos/vym-contribute.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/demos/vym-contribute.vym -------------------------------------------------------------------------------- /doc/devel/architecture-notes.md: -------------------------------------------------------------------------------- 1 | Data structures 2 | ================ 3 | 4 | There are two views on the data: 5 | 6 | * Logical view: 7 | 8 | Defines the logical "tree" structure of the objects in a map. This is 9 | used for organization (load/save, inserting and deleting branches, 10 | traversing data for various modifications etc. 11 | 12 | All related changes are organized in the central VymModel class. 13 | VymModel itself is derived from TreeModel, which focuses on the 14 | low-level modifications of data, especially 15 | inserting/deleting/relinking of branches. 16 | 17 | * Graphical view: 18 | 19 | Defines how visible objects are related, e.g. a row of flags, which 20 | is part of a branch, contains several flags, so the flags are a part 21 | of the row. This is done via nested "Container" objects. 22 | 23 | Containers provide various layouts and graphical options, like 24 | defining alingment of contents. 25 | 26 | -------------------------------------------------------------------------------- /doc/devel/xml-changes.md: -------------------------------------------------------------------------------- 1 | * Before 1.4.6 2 | - is used. Data is read 3 | - from external files mentioned in href attribute 4 | and inserted between elements 5 | - from characters 6 | Not clear: Do empty characters always overwrite the previously set text from file? 7 | 8 | * Before 2.5.0 9 | - No CDATA to save richText in Heading 10 | - setting only as attribut 11 | 12 | * 2.5.0 to 2.7.562 13 | - HTML data encoded as CDATA (heading and vymnote) 14 | 15 | * After 2.7.562 16 | - vymText is used (at least headgin) 17 | 18 | 19 | * pre 1.13.2 elements used to be within and did not 20 | have control points yet 21 | 22 | 23 | -> 24 | - can have 25 | -> 26 | - can have 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /doc/vym.1.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/doc/vym.1.gz -------------------------------------------------------------------------------- /doc/vym.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/doc/vym.pdf -------------------------------------------------------------------------------- /doc/vym_es.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/doc/vym_es.pdf -------------------------------------------------------------------------------- /doc/vym_fr.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/doc/vym_fr.pdf -------------------------------------------------------------------------------- /exports/orange-blue.conf: -------------------------------------------------------------------------------- 1 | Name=Simple Presentation orange-blue (without sections) 2 | Template=template-orange-blue/ 3 | Author=Uwe Drechsel (based on Open Office default) 4 | useSections=no -------------------------------------------------------------------------------- /exports/template-orange-blue/META-INF/manifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /exports/template-orange-blue/Pictures/1000000000000040000000400142E835.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/exports/template-orange-blue/Pictures/1000000000000040000000400142E835.png -------------------------------------------------------------------------------- /exports/template-orange-blue/Thumbnails/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/exports/template-orange-blue/Thumbnails/thumbnail.png -------------------------------------------------------------------------------- /exports/template-orange-blue/meta.xml: -------------------------------------------------------------------------------- 1 | 2 | OpenOffice.org/2.0-pre$Unix OpenOffice.org_project/680$Build-88252006-01-31T20:41:492006-01-31T20:58:41en-US2PT17M23S -------------------------------------------------------------------------------- /exports/template-orange-blue/mimetype: -------------------------------------------------------------------------------- 1 | application/vnd.oasis.opendocument.presentation -------------------------------------------------------------------------------- /flags/flag-hideexport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/flag-hideexport.png -------------------------------------------------------------------------------- /flags/flag-present.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/flag-present.png -------------------------------------------------------------------------------- /flags/flag-rose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/flag-rose.png -------------------------------------------------------------------------------- /flags/flag-scrolled-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/flag-scrolled-right.png -------------------------------------------------------------------------------- /flags/flag-thumb-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/flag-thumb-down.png -------------------------------------------------------------------------------- /flags/flag-thumb-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/flag-thumb-up.png -------------------------------------------------------------------------------- /flags/flag-tmpUnscrolled-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/flag-tmpUnscrolled-right.png -------------------------------------------------------------------------------- /flags/flag-vymlink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/flag-vymlink.png -------------------------------------------------------------------------------- /flags/flag-vymlinknew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/flag-vymlinknew.png -------------------------------------------------------------------------------- /flags/freemind/attach.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/attach.png -------------------------------------------------------------------------------- /flags/freemind/back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/back.png -------------------------------------------------------------------------------- /flags/freemind/bell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/bell.png -------------------------------------------------------------------------------- /flags/freemind/bookmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/bookmark.png -------------------------------------------------------------------------------- /flags/freemind/clanbomber.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/clanbomber.png -------------------------------------------------------------------------------- /flags/freemind/desktopnew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/desktopnew.png -------------------------------------------------------------------------------- /flags/freemind/flag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/flag.png -------------------------------------------------------------------------------- /flags/freemind/forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/forward.png -------------------------------------------------------------------------------- /flags/freemind/gohome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/gohome.png -------------------------------------------------------------------------------- /flags/freemind/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/help.png -------------------------------------------------------------------------------- /flags/freemind/idea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/idea.png -------------------------------------------------------------------------------- /flags/freemind/kaddressbook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/kaddressbook.png -------------------------------------------------------------------------------- /flags/freemind/knotify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/knotify.png -------------------------------------------------------------------------------- /flags/freemind/korn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/korn.png -------------------------------------------------------------------------------- /flags/freemind/licq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/licq.png -------------------------------------------------------------------------------- /flags/freemind/mail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/mail.png -------------------------------------------------------------------------------- /flags/freemind/password.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/password.png -------------------------------------------------------------------------------- /flags/freemind/pencil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/pencil.png -------------------------------------------------------------------------------- /flags/freemind/penguin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/penguin.png -------------------------------------------------------------------------------- /flags/freemind/priority-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/priority-1.png -------------------------------------------------------------------------------- /flags/freemind/priority-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/priority-2.png -------------------------------------------------------------------------------- /flags/freemind/priority-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/priority-3.png -------------------------------------------------------------------------------- /flags/freemind/priority-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/priority-4.png -------------------------------------------------------------------------------- /flags/freemind/priority-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/priority-5.png -------------------------------------------------------------------------------- /flags/freemind/priority-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/priority-6.png -------------------------------------------------------------------------------- /flags/freemind/priority-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/priority-7.png -------------------------------------------------------------------------------- /flags/freemind/stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/stop.png -------------------------------------------------------------------------------- /flags/freemind/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/warning.png -------------------------------------------------------------------------------- /flags/freemind/wizard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/wizard.png -------------------------------------------------------------------------------- /flags/freemind/xmag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/freemind/xmag.png -------------------------------------------------------------------------------- /flags/system/no-arrow-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/system/no-arrow-up.png -------------------------------------------------------------------------------- /flags/system/stopsign-arrow-2up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/system/stopsign-arrow-2up.png -------------------------------------------------------------------------------- /flags/system/stopsign-arrow-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/flags/system/stopsign-arrow-up.png -------------------------------------------------------------------------------- /forms/attributewidget.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | AttributeWidget 4 | 5 | 6 | 7 | 0 8 | 0 9 | 400 10 | 115 11 | 12 | 13 | 14 | Form 15 | 16 | 17 | 18 | 0 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 0 32 | 0 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 0 42 | 0 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /forms/confluence-userdialog.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | ConfluenceUserDialog 4 | 5 | 6 | 7 | 0 8 | 0 9 | 392 10 | 308 11 | 12 | 13 | 14 | Dialog 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | Qt::LeftToRight 27 | 28 | 29 | Qt::Horizontal 30 | 31 | 32 | QDialogButtonBox::Cancel 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /icons/bright/application-exit.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /icons/bright/camera-photo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 15 | 16 | -------------------------------------------------------------------------------- /icons/bright/document-close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /icons/bright/document-export.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /icons/bright/document-new.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/bright/document-open.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /icons/bright/document-print.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 11 | 12 | 16 | 17 | -------------------------------------------------------------------------------- /icons/bright/document-save-as.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/bright/edit-copy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /icons/bright/edit-cut.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/bright/edit-delete.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icons/bright/edit-find.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/bright/edit-paste.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/bright/folder-cloud.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /icons/bright/format-justify-center.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /icons/bright/format-justify-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /icons/bright/format-justify-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /icons/bright/format-justify-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /icons/bright/format-text-bold.svg: -------------------------------------------------------------------------------- 1 | 2 | 8 | 10 | 17 | 18 | 23 | 24 | -------------------------------------------------------------------------------- /icons/bright/format-text-italic.svg: -------------------------------------------------------------------------------- 1 | 2 | 8 | 10 | 17 | 18 | 23 | 24 | -------------------------------------------------------------------------------- /icons/bright/format-text-subscript.svg: -------------------------------------------------------------------------------- 1 | 2 | 8 | 10 | 17 | 18 | 23 | 24 | -------------------------------------------------------------------------------- /icons/bright/format-text-superscript.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /icons/bright/format-text-underline.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /icons/bright/go-next.svg: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /icons/bright/go-previous.svg: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /icons/bright/insert-image.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/bright/zoom-fit-best.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/bright/zoom-in-large.svg: -------------------------------------------------------------------------------- 1 | zoom-in.svg -------------------------------------------------------------------------------- /icons/bright/zoom-in.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /icons/bright/zoom-original.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/bright/zoom-out-large.svg: -------------------------------------------------------------------------------- 1 | zoom-out.svg -------------------------------------------------------------------------------- /icons/bright/zoom-out.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /icons/classic/camera-photo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/classic/camera-photo.png -------------------------------------------------------------------------------- /icons/classic/document-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/classic/document-close.png -------------------------------------------------------------------------------- /icons/classic/document-export.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/classic/document-export.svg -------------------------------------------------------------------------------- /icons/classic/editsort.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/classic/editsort.png -------------------------------------------------------------------------------- /icons/classic/editsortback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/classic/editsortback.png -------------------------------------------------------------------------------- /icons/classic/fileopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/classic/fileopen.png -------------------------------------------------------------------------------- /icons/classic/go-next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/classic/go-next.png -------------------------------------------------------------------------------- /icons/classic/go-previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/classic/go-previous.png -------------------------------------------------------------------------------- /icons/classic/viewmag+.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/classic/viewmag+.png -------------------------------------------------------------------------------- /icons/classic/viewmag-.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/classic/viewmag-.png -------------------------------------------------------------------------------- /icons/classic/viewmag-reset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/classic/viewmag-reset.png -------------------------------------------------------------------------------- /icons/classic/viewshowsel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/classic/viewshowsel.png -------------------------------------------------------------------------------- /icons/cursors/cursorcolorpicker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/cursors/cursorcolorpicker.png -------------------------------------------------------------------------------- /icons/cursors/cursorxlink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/cursors/cursorxlink.png -------------------------------------------------------------------------------- /icons/dark/application-exit.svg: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /icons/dark/camera-photo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /icons/dark/document-close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /icons/dark/document-export.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /icons/dark/document-open.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /icons/dark/document-print.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/dark/document-save-as.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/dark/edit-copy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /icons/dark/edit-cut.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/dark/edit-delete.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /icons/dark/edit-find.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/dark/edit-paste.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/dark/folder-cloud.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /icons/dark/format-justify-center.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/dark/format-justify-fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/dark/format-justify-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/dark/format-justify-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/dark/format-text-bold.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/dark/format-text-italic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/dark/format-text-subscript.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/dark/format-text-superscript.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/dark/format-text-underline.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/dark/go-next.svg: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /icons/dark/go-previous.svg: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /icons/dark/insert-image.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/dark/zoom-fit-best.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/dark/zoom-in.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /icons/dark/zoom-original.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 14 | 15 | -------------------------------------------------------------------------------- /icons/dark/zoom-out.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /icons/down-diagonal-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/down-diagonal-left.png -------------------------------------------------------------------------------- /icons/down-diagonal-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/down-diagonal-right.png -------------------------------------------------------------------------------- /icons/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/down.png -------------------------------------------------------------------------------- /icons/formatcolorbranch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/formatcolorbranch.png -------------------------------------------------------------------------------- /icons/formatcolorpicker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/formatcolorpicker.png -------------------------------------------------------------------------------- /icons/formatcolorsubtree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/formatcolorsubtree.png -------------------------------------------------------------------------------- /icons/formatfixedfont.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/formatfixedfont.png -------------------------------------------------------------------------------- /icons/headingeditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/headingeditor.png -------------------------------------------------------------------------------- /icons/history.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/history.png -------------------------------------------------------------------------------- /icons/linestyle-dash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/linestyle-dash.png -------------------------------------------------------------------------------- /icons/linestyle-dashdot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/linestyle-dashdot.png -------------------------------------------------------------------------------- /icons/linestyle-dashdotdot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/linestyle-dashdotdot.png -------------------------------------------------------------------------------- /icons/linestyle-dot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/linestyle-dot.png -------------------------------------------------------------------------------- /icons/linestyle-solid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/linestyle-solid.png -------------------------------------------------------------------------------- /icons/modifiers/cursorhandopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/modifiers/cursorhandopen.png -------------------------------------------------------------------------------- /icons/modifiers/mode-color.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/modifiers/mode-color.png -------------------------------------------------------------------------------- /icons/modifiers/mode-xlink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/modifiers/mode-xlink.png -------------------------------------------------------------------------------- /icons/newbranch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/newbranch.png -------------------------------------------------------------------------------- /icons/newmapcenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/newmapcenter.png -------------------------------------------------------------------------------- /icons/redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/redo.png -------------------------------------------------------------------------------- /icons/scripteditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/scripteditor.png -------------------------------------------------------------------------------- /icons/slideeditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/slideeditor.png -------------------------------------------------------------------------------- /icons/slidenext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/slidenext.png -------------------------------------------------------------------------------- /icons/slideprevious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/slideprevious.png -------------------------------------------------------------------------------- /icons/sliderecord.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/sliderecord.png -------------------------------------------------------------------------------- /icons/taskeditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/taskeditor.png -------------------------------------------------------------------------------- /icons/taskfilter-activetask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/taskfilter-activetask.png -------------------------------------------------------------------------------- /icons/taskfilter-currentmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/taskfilter-currentmap.png -------------------------------------------------------------------------------- /icons/taskfilter-newtask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/taskfilter-newtask.png -------------------------------------------------------------------------------- /icons/treeeditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/treeeditor.png -------------------------------------------------------------------------------- /icons/undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/undo.png -------------------------------------------------------------------------------- /icons/up-diagonal-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/up-diagonal-left.png -------------------------------------------------------------------------------- /icons/up-diagonal-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/up-diagonal-right.png -------------------------------------------------------------------------------- /icons/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/up.png -------------------------------------------------------------------------------- /icons/video-projector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/video-projector.png -------------------------------------------------------------------------------- /icons/view-filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/view-filter.png -------------------------------------------------------------------------------- /icons/vym-128x128.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/vym-128x128.ico -------------------------------------------------------------------------------- /icons/vym-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/vym-128x128.png -------------------------------------------------------------------------------- /icons/vym-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/vym-16x16.png -------------------------------------------------------------------------------- /icons/vym-editor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/vym-editor.png -------------------------------------------------------------------------------- /icons/vym.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/vym.icns -------------------------------------------------------------------------------- /icons/vym.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/icons/vym.png -------------------------------------------------------------------------------- /icons/vym.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * vym_xpm[] = { 3 | "16 16 5 1", 4 | " c None", 5 | ". c #0026FF", 6 | "+ c #001EFF", 7 | "@ c #FF0000", 8 | "# c #1C22E3", 9 | " ", 10 | " ...+ @@ ", 11 | " @@@@@@#@@@ ", 12 | " ...@+..@@ ", 13 | " ..@@#.. ", 14 | " @@ ..@.@@@@@ ", 15 | " @@@@.... ", 16 | " @@++...... ", 17 | " ...... ", 18 | " ..... ", 19 | " ..... ", 20 | " .... ", 21 | " .... ", 22 | " ", 23 | " ", 24 | " "}; 25 | -------------------------------------------------------------------------------- /images/background-grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/images/background-grid.png -------------------------------------------------------------------------------- /macros/slideeditor-snapshot.vys: -------------------------------------------------------------------------------- 1 | // Template for taking snapshots in slideeditor 2 | 3 | map = vym.currentMap(); 4 | map.setZoom(CURRENT_ZOOM); 5 | map.setRotationView(CURRENT_ANGLE); 6 | map.centerOnID(CURRENT_ID); 7 | -------------------------------------------------------------------------------- /src/actionlog-dialog.h: -------------------------------------------------------------------------------- 1 | #ifndef ACTIONLOG_DIALOG_H 2 | #define ACTIONLOG_DIALOG_H 3 | 4 | #include "ui_actionlog-dialog.h" 5 | 6 | class VymModel; 7 | 8 | class ActionLogDialog : public QDialog { 9 | Q_OBJECT 10 | 11 | public: 12 | ActionLogDialog(); 13 | int exec(); 14 | 15 | public slots: 16 | void toggleUseLogFile(); 17 | void pathChanged(const QString &); 18 | void selectLogPathDialog(); 19 | 20 | private: 21 | void updateControls(); 22 | Ui::ActionLogDialog ui; 23 | }; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/animpoint.h: -------------------------------------------------------------------------------- 1 | #ifndef ANIMPOINT_H 2 | #define ANIMPOINT_H 3 | 4 | #include 5 | 6 | class AnimPoint : public QPointF { 7 | public: 8 | AnimPoint(); 9 | void operator=(const AnimPoint &); 10 | void operator=(const QPointF &); 11 | bool operator==(const QPointF &); 12 | bool operator==(AnimPoint); 13 | void init(); 14 | void copy(AnimPoint other); 15 | void setStart(const QPointF &); 16 | QPointF getStart(); 17 | void setDest(const QPointF &); 18 | QPointF getDest(); 19 | void setTicks(const uint &t); 20 | uint getTicks(); 21 | void setAnimated(bool); 22 | bool isAnimated(); 23 | bool animate(); 24 | void stop(); 25 | 26 | private: 27 | void initVector(); 28 | 29 | QPointF startPos; 30 | QPointF destPos; 31 | QPointF vector; 32 | uint n; 33 | uint animTicks; 34 | bool animated; 35 | }; 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /src/attribute-wrapper.h: -------------------------------------------------------------------------------- 1 | #ifndef ATTRIBUTE_WRAPPER_H 2 | #define ATTRIBUTE_WRAPPER_H 3 | 4 | class AttributeItem; 5 | class VymModel; 6 | 7 | #include 8 | 9 | class AttributeWrapper : public QObject { 10 | Q_OBJECT 11 | public: 12 | AttributeWrapper(AttributeItem*); 13 | ~AttributeWrapper(); 14 | VymModel* model(); 15 | AttributeItem* attributeItem(); 16 | 17 | public slots: 18 | bool hasRichTextHeading(); 19 | QString headingText(); 20 | bool selectParent(); 21 | void setHeadingRichText(const QString &); 22 | void setHeadingText(const QString &); 23 | 24 | private: 25 | AttributeItem *attributeItemInt; 26 | }; 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /src/attributeitem.h: -------------------------------------------------------------------------------- 1 | #ifndef ATTRIBUTEITEM_H 2 | #define ATTRIBUTEITEM_H 3 | 4 | #include 5 | #include 6 | 7 | #include "mapitem.h" 8 | 9 | class AttributeWrapper; 10 | 11 | /*! \brief A key and a value 12 | The data itself is stored in Attribute Definitions (AttributeDef). 13 | A list of these tables AttributeTable is maintained for every MapEditor. 14 | */ 15 | class AttributeItem : public MapItem { 16 | public: 17 | AttributeItem(TreeItem *parent = nullptr); 18 | AttributeItem(const QString &k, const QVariant &v, TreeItem *parent = nullptr); 19 | virtual ~AttributeItem(); 20 | void copy(AttributeItem *other); 21 | void init(); 22 | AttributeWrapper* attributeWrapper(); 23 | void setKey(const QString &k); 24 | QString key(); 25 | void setValue(const QVariant &v); 26 | QVariant value(); 27 | void updateHeading(); 28 | // using BranchItem::setType; 29 | void setInternal(bool b); 30 | bool isInternal(); 31 | QString getDataXML(); 32 | 33 | protected: 34 | bool internal; //!< Internal attributes cannot be edited by user 35 | QString keyInt; 36 | QVariant valueInt; 37 | AttributeWrapper *attributeWrapperInt; 38 | }; 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /src/background-dialog.h: -------------------------------------------------------------------------------- 1 | #ifndef BACKGROUND_DIALOG_H 2 | #define BACKGROUND_DIALOG_H 3 | 4 | #include "ui_background-dialog.h" 5 | 6 | class VymModel; 7 | 8 | class BackgroundDialog : public QDialog { 9 | Q_OBJECT 10 | 11 | public: 12 | BackgroundDialog(VymModel *m); 13 | int exec(); 14 | 15 | public slots: 16 | void selectBackgroundColor(); 17 | void toggleBackgroundImage(); 18 | void selectBackgroundImage(); 19 | 20 | private slots: 21 | void colorChanged(QColor); 22 | 23 | private: 24 | void updateBackgroundColorButton(); 25 | void updateBackgroundImageControls(); 26 | VymModel *model; 27 | Ui::BackgroundDialog ui; 28 | }; 29 | 30 | #endif // BACKGROUND_DIALOG_H 31 | -------------------------------------------------------------------------------- /src/codeeditor.h: -------------------------------------------------------------------------------- 1 | #ifndef CODEEDITOR_H 2 | #define CODEEDITOR_H 3 | 4 | #include 5 | #include 6 | 7 | class QPaintEvent; 8 | class QResizeEvent; 9 | class QSize; 10 | class QWidget; 11 | 12 | class LineNumberArea; 13 | 14 | class CodeEditor : public QPlainTextEdit { 15 | Q_OBJECT 16 | 17 | public: 18 | CodeEditor(QWidget *parent = 0); 19 | 20 | void lineNumberAreaPaintEvent(QPaintEvent *event); 21 | int lineNumberAreaWidth(); 22 | 23 | protected: 24 | void resizeEvent(QResizeEvent *event) override; 25 | 26 | private slots: 27 | void updateLineNumberAreaWidth(int newBlockCount); 28 | void highlightCurrentLine(); 29 | void updateLineNumberArea(const QRect &, int); 30 | 31 | private: 32 | QWidget *lineNumberArea; 33 | }; 34 | 35 | class LineNumberArea : public QWidget { 36 | public: 37 | LineNumberArea(CodeEditor *editor) : QWidget(editor) 38 | { 39 | codeEditor = editor; 40 | } 41 | 42 | QSize sizeHint() const override 43 | { 44 | return QSize(codeEditor->lineNumberAreaWidth(), 0); 45 | } 46 | 47 | protected: 48 | void paintEvent(QPaintEvent *event) override 49 | { 50 | codeEditor->lineNumberAreaPaintEvent(event); 51 | } 52 | 53 | private: 54 | CodeEditor *codeEditor; 55 | }; 56 | 57 | #endif -------------------------------------------------------------------------------- /src/confluence-settings-dialog.h: -------------------------------------------------------------------------------- 1 | #ifndef CONFLUENCE_SETTINGS_DIALOG_H 2 | #define CONFLUENCE_SETTINGS_DIALOG_H 3 | 4 | #include "ui_confluence-settings-dialog.h" 5 | 6 | class ConfluenceSettingsDialog : public QDialog { 7 | Q_OBJECT 8 | 9 | public: 10 | ConfluenceSettingsDialog(QWidget *parent = 0); 11 | 12 | public slots: 13 | void updateAuthenticationFields(); 14 | void updateSettings(); 15 | 16 | private: 17 | Ui::ConfluenceSettingsDialog ui; 18 | }; 19 | 20 | #endif // CONFLUENCE_SETTINGS_DIALOG_H 21 | -------------------------------------------------------------------------------- /src/confluence-user.cpp: -------------------------------------------------------------------------------- 1 | #include "confluence-user.h" 2 | 3 | void ConfluenceUser::copy(const ConfluenceUser &other) { 4 | title = other.title; 5 | url = other.url; 6 | userName = other.userName; 7 | displayName = other.displayName; 8 | userKey = other.userKey; 9 | }; 10 | 11 | void ConfluenceUser::setTitle(const QString &s) {title = s;} 12 | void ConfluenceUser::setUrl(const QString &s) {url = s;} 13 | void ConfluenceUser::setUserName(const QString &s) {userName = s;} 14 | void ConfluenceUser::setDisplayName(const QString &s) {displayName = s;} 15 | void ConfluenceUser::setUserKey(const QString &s) {userKey = s;} 16 | 17 | QString ConfluenceUser::getTitle() {return title;} 18 | QString ConfluenceUser::getUrl() {return url;} 19 | QString ConfluenceUser::getUserName() {return userName;} 20 | QString ConfluenceUser::getDisplayName() {return displayName;} 21 | QString ConfluenceUser::getUserKey() {return userKey;} 22 | 23 | -------------------------------------------------------------------------------- /src/confluence-user.h: -------------------------------------------------------------------------------- 1 | #ifndef CONFLUENCEUSER_H 2 | #define CONFLUENCEUSER_H 3 | 4 | #include 5 | #include 6 | 7 | 8 | class ConfluenceUser { 9 | public: 10 | ConfluenceUser() = default; 11 | ~ConfluenceUser() = default; 12 | ConfluenceUser (const ConfluenceUser &) = default; 13 | ConfluenceUser &operator=(const ConfluenceUser &) = default; 14 | void copy(const ConfluenceUser &); 15 | void setTitle(const QString &s); 16 | void setUrl(const QString &s); 17 | void setUserName(const QString &s); 18 | void setDisplayName(const QString &s); 19 | void setUserKey(const QString &s); 20 | 21 | QString getTitle(); 22 | QString getUrl(); 23 | QString getUserName(); 24 | QString getDisplayName(); 25 | QString getUserKey(); 26 | 27 | private: 28 | QString title; 29 | QString url; 30 | QString userName; 31 | QString userKey; 32 | QString displayName; 33 | }; 34 | 35 | Q_DECLARE_METATYPE(ConfluenceUser); 36 | 37 | //! [custom type streaming operator] 38 | //QDebug operator<<(QDebug dbg, const Message &message); 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /src/confluence-userdialog.h: -------------------------------------------------------------------------------- 1 | #ifndef CONFLUENCEUSERDIALOG_H 2 | #define CONFLUENCEUSERDIALOG_H 3 | 4 | #include "ui_confluence-userdialog.h" 5 | 6 | #include 7 | 8 | class ConfluenceUser; 9 | class ConfluenceAgent; 10 | class QKeyEvent; 11 | 12 | class ConfluenceUserDialog : public QDialog { 13 | Q_OBJECT 14 | 15 | public: 16 | ConfluenceUserDialog(QWidget *parent = 0); 17 | void keyPressEvent(QKeyEvent *); 18 | int exec(); 19 | ConfluenceUser getSelectedUser(); 20 | 21 | public slots: 22 | void lineEditChanged(); 23 | void itemSelected(QListWidgetItem *); 24 | void updateResultsList(QList ); 25 | 26 | private: 27 | void init(); 28 | Ui::ConfluenceUserDialog ui; 29 | 30 | QList userList; 31 | int currentRow; 32 | }; 33 | 34 | #endif // USERDIALOG_H 35 | -------------------------------------------------------------------------------- /src/darktheme-settings-dialog.cpp: -------------------------------------------------------------------------------- 1 | #include "darktheme-settings-dialog.h" 2 | 3 | #include 4 | 5 | #include "settings.h" 6 | 7 | extern Settings settings; 8 | 9 | DarkThemeSettingsDialog::DarkThemeSettingsDialog(QWidget *parent) : QDialog(parent) 10 | { 11 | ui.setupUi(this); 12 | QDialog::setWindowTitle("VYM - " + 13 | tr("DarkThemeSettingsDialog dialog", "dialog window title")); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/darktheme-settings-dialog.h: -------------------------------------------------------------------------------- 1 | #ifndef DARKTHEME_SETTINGS_DIALOG_H 2 | #define DARKTHEME_SETTINGS_DIALOG_H 3 | 4 | #include "ui_darktheme-settings-dialog.h" 5 | 6 | class DarkThemeSettingsDialog : public QDialog { 7 | Q_OBJECT 8 | 9 | public: 10 | DarkThemeSettingsDialog(QWidget *parent = 0); 11 | Ui::DarkThemeSettingsDialog ui; 12 | }; 13 | 14 | #endif // DARKTHEME_SETTINGS_DIALOG_H 15 | -------------------------------------------------------------------------------- /src/dbus/adaptormodel.h: -------------------------------------------------------------------------------- 1 | #ifndef ADAPTORModel_H 2 | #define ADAPTORModel_H 3 | 4 | #include 5 | #include 6 | 7 | class VymModel; 8 | class QString; 9 | 10 | class AdaptorModel : public QDBusAbstractAdaptor { 11 | Q_OBJECT 12 | Q_CLASSINFO("D-Bus Interface", "org.insilmaril.vym.model.adaptor") 13 | 14 | private: 15 | VymModel *model; 16 | 17 | public: 18 | AdaptorModel(QObject *obj); 19 | void setModel(VymModel *vm); 20 | 21 | public: // PROPERTIES 22 | QString m_caption; 23 | QString caption(); 24 | void setCaption(const QString &newCaption); 25 | 26 | public slots: // METHODS 27 | QDBusVariant branchCount(); 28 | QDBusVariant errorLevel(); 29 | QDBusVariant errorDescription(); 30 | QDBusVariant listCommands(); 31 | 32 | Q_SIGNALS: // SIGNALS 33 | void crashed(); 34 | }; 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /src/dbus/adaptorvym.h: -------------------------------------------------------------------------------- 1 | #ifndef ADAPTORVYM_H 2 | #define ADAPTORVYM_H 3 | 4 | #include 5 | #include 6 | 7 | class MainWindow; 8 | 9 | class AdaptorVym : public QDBusAbstractAdaptor { 10 | Q_OBJECT 11 | Q_CLASSINFO("D-Bus Interface", "org.insilmaril.vym.main.adaptor") 12 | 13 | public: 14 | AdaptorVym(QObject *obj); 15 | 16 | public slots: // METHODS 17 | QDBusVariant mapCount(); 18 | void gotoMapID(const uint &id); 19 | QDBusVariant getInstanceName(); 20 | QDBusVariant getVersion(); 21 | QDBusVariant runScript(const QString &s); 22 | QDBusVariant listCommands(); 23 | QDBusVariant currentMapID(); 24 | 25 | Q_SIGNALS: // SIGNALS 26 | void crashed(); 27 | }; 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/debuginfo.h: -------------------------------------------------------------------------------- 1 | #ifndef DEBUGINFO_H 2 | #define DEBUGINFO_H 3 | 4 | 5 | class QString; 6 | 7 | QString debugInfo(); 8 | #endif 9 | -------------------------------------------------------------------------------- /src/default-map-settings-dialog.h: -------------------------------------------------------------------------------- 1 | #ifndef DEFAULTMAPSETTINGS_H 2 | #define DEFAULTMAPSETTINGS_H 3 | 4 | #include "ui_default-map-settings-dialog.h" 5 | 6 | class DefaultMapSettingsDialog : public QDialog { 7 | Q_OBJECT 8 | 9 | public: 10 | DefaultMapSettingsDialog(QWidget *parent = 0); 11 | 12 | private: 13 | void initInputs(); 14 | 15 | public slots: 16 | void autoToggled(); 17 | void setPathClicked(); 18 | void updateSettings(); 19 | 20 | private: 21 | Ui::DefaultMapSettingsDialog ui; 22 | }; 23 | 24 | #endif // DEFAULTMAPSETTINGS 25 | -------------------------------------------------------------------------------- /src/dockeditor.cpp: -------------------------------------------------------------------------------- 1 | #include "dockeditor.h" 2 | 3 | #include "mainwindow.h" 4 | #include "vymmodel.h" 5 | 6 | #include 7 | 8 | extern Main *mainWindow; 9 | 10 | DockEditor::DockEditor() { init(); } 11 | DockEditor::DockEditor(QString title, QWidget *p, VymModel *m) 12 | : QDockWidget(title, p) 13 | { 14 | editorTitle = title; 15 | model = m; 16 | init(); 17 | } 18 | 19 | void DockEditor::init() 20 | { 21 | connect(this, SIGNAL(topLevelChanged(bool)), this, 22 | SLOT(changeTopLevel(bool))); 23 | } 24 | 25 | void DockEditor::changeTopLevel(bool topLevel) 26 | { 27 | if (topLevel && model) 28 | setWindowTitle(editorTitle + ": " + model->getFileName()); 29 | else 30 | setWindowTitle(editorTitle); 31 | } 32 | 33 | void DockEditor::closeEvent(QCloseEvent *event) 34 | { 35 | // Pass event on to overloaded editors (TreeEditor, SlideEditor) 36 | ((DockEditor*)widget())->closeEvent(event); 37 | } 38 | -------------------------------------------------------------------------------- /src/dockeditor.h: -------------------------------------------------------------------------------- 1 | #ifndef DOCKEDITOR_H 2 | #define DOCKEDITOR_H 3 | 4 | #include 5 | 6 | class QCloseEvent; 7 | 8 | class VymModel; 9 | 10 | class DockEditor : public QDockWidget { 11 | Q_OBJECT 12 | public: 13 | DockEditor(); 14 | DockEditor(QString title, QWidget *p = 0, VymModel *m = 0); 15 | void init(); 16 | 17 | public slots: 18 | void changeTopLevel(bool topLevel); 19 | 20 | protected: 21 | void closeEvent(QCloseEvent *event); 22 | 23 | private: 24 | QString editorTitle; 25 | VymModel *model; 26 | }; 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /src/editxlinkdialog.h: -------------------------------------------------------------------------------- 1 | #ifndef EDITXLINKDIALOG_H 2 | #define EDITXLINKDIALOG_H 3 | 4 | #include "ui_editxlinkdialog.h" 5 | 6 | class XLink; 7 | 8 | /*! \brief Dialog to edit or delete XLinks 9 | 10 | Using xLinks one can link one branch to any other, just like attaching a rope 11 | between two branches in a real tree. This is especially useful in complex maps, 12 | where you want to have crossreferences which don't fit on the same visible area 13 | */ 14 | 15 | class BranchItem; 16 | 17 | class EditXLinkDialog : public QDialog { 18 | Q_OBJECT 19 | public: 20 | EditXLinkDialog(QWidget *parent = 0); 21 | void setLink(XLink *); 22 | bool useSettingsGlobal(); 23 | 24 | private slots: 25 | void widthChanged(int); 26 | void colorButtonPressed(); 27 | void colorChanged(QColor c); 28 | void lineStyleChanged(int); 29 | void beginStyleChanged(int); 30 | void endStyleChanged(int); 31 | 32 | private: 33 | void emitChanged(); 34 | 35 | Ui::EditXLinkDialog ui; 36 | bool delink; 37 | XLink *xlink; 38 | }; 39 | 40 | #endif // EDITXLINKDIALOG_H 41 | -------------------------------------------------------------------------------- /src/export-ao.h: -------------------------------------------------------------------------------- 1 | #ifndef EXPORT_AO_H 2 | #define EXPORT_AO_H 3 | 4 | #include "export-base.h" 5 | 6 | class ExportAO : public ExportBase { 7 | public: 8 | ExportAO(); 9 | virtual void doExport(); 10 | virtual QString underline(const QString &text, const QString &line); 11 | }; 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /src/export-ascii.h: -------------------------------------------------------------------------------- 1 | #ifndef EXPORT_ASCII_H 2 | #define EXPORT_ASCII_H 3 | 4 | #include "export-base.h" 5 | 6 | class ExportASCII : public ExportBase { 7 | public: 8 | ExportASCII(); 9 | virtual void doExport(); 10 | QString underline(const QString &text, const QString &line); 11 | QString ensureEmptyLines(QString &text, int n); 12 | QString ensureNewLine(QString &text); 13 | }; 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /src/export-confluence.h: -------------------------------------------------------------------------------- 1 | #ifndef EXPORT_CONFLUENCE_H 2 | #define EXPORT_CONFLUENCE_H 3 | 4 | #include "export-base.h" 5 | #include "export-confluence-dialog.h" 6 | 7 | #include "confluence-agent.h" 8 | 9 | class ExportConfluence : public ExportBase { 10 | public: 11 | ExportConfluence(); 12 | ExportConfluence(VymModel *m); 13 | virtual void init(); 14 | void setCreateNewPage(bool); 15 | void setUrl(const QString &u); 16 | void setPageName(const QString &t); 17 | virtual QString createTOC(); 18 | virtual void doExport(bool useDialog = true); 19 | 20 | private: 21 | QString getBranchText(BranchItem *); 22 | QString buildList(BranchItem *); 23 | QString imageMap; 24 | 25 | bool createNewPage; 26 | QString url; 27 | QString pageName; 28 | 29 | QPointF offset; 30 | 31 | ExportConfluenceDialog dia; 32 | 33 | ConfluenceAgent *agent; 34 | }; 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /src/export-csv.h: -------------------------------------------------------------------------------- 1 | #ifndef EXPORT_CSV_H 2 | #define EXPORT_CSV_H 3 | 4 | #include "export-base.h" 5 | 6 | class ExportCSV : public ExportBase { 7 | public: 8 | ExportCSV(); 9 | void doExport(); 10 | }; 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /src/export-firefox.h: -------------------------------------------------------------------------------- 1 | #ifndef EXPORT_FIREFOX_H 2 | #define EXPORT_FIREFOX_H 3 | 4 | #include "export-base.h" 5 | 6 | class BranchItem; 7 | 8 | class ExportFirefox : public ExportBase { 9 | public: 10 | ExportFirefox(); 11 | QJsonObject buildList(BranchItem *bi); 12 | void doExport(); 13 | }; 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /src/export-html.h: -------------------------------------------------------------------------------- 1 | #ifndef EXPORT_HTML_H 2 | #define EXPORT_HTML_H 3 | 4 | #include "export-base.h" 5 | #include "export-html-dialog.h" 6 | 7 | class BranchItem; 8 | 9 | class ExportHTML : public ExportBase { 10 | public: 11 | ExportHTML(); 12 | ExportHTML(VymModel *m); 13 | virtual void init(); 14 | virtual QString createTOC(); 15 | virtual void doExport(bool useDialog = true); 16 | 17 | private: 18 | QString getBranchText(BranchItem *); 19 | QString buildList(BranchItem *); 20 | QString imageMap; 21 | QString cssSrc; 22 | QString cssDst; 23 | 24 | bool frameURLs; 25 | 26 | QPointF offset; 27 | 28 | QSet activeFlags; 29 | 30 | ExportHTMLDialog dia; 31 | }; 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/export-impress-filedialog.h: -------------------------------------------------------------------------------- 1 | #ifndef EXPORTIMPRESSFILEDIALOG 2 | #define EXPORTIMPRESSFILEDIALOG 3 | 4 | #include 5 | #include 6 | 7 | #include "settings.h" 8 | 9 | /*! \brief Dialog to select output file and format for Open Office documents 10 | 11 | This is an overloaded QFileDialog, which allows to select templates by setting a 12 | type. 13 | */ 14 | 15 | class ExportImpressFileDialog : public QFileDialog { 16 | Q_OBJECT 17 | public: 18 | ExportImpressFileDialog(); 19 | 20 | ExportImpressFileDialog(QWidget *parent, const QString &caption = QString()); 21 | bool foundConfig(); 22 | QString selectedConfig(); 23 | void show(); 24 | 25 | private slots: 26 | void newConfigPath(const QString &f); 27 | 28 | private: 29 | void init(); 30 | void addFilter(const QString &); 31 | void scanExportConfigs(QDir); 32 | QStringList configPaths; 33 | QStringList filters; 34 | QString lastFilter; 35 | }; 36 | #endif 37 | -------------------------------------------------------------------------------- /src/export-impress.h: -------------------------------------------------------------------------------- 1 | #ifndef EXPORT_IMPRESS_H 2 | #define EXPORT_IMPRESS_H 3 | 4 | #include "export-base.h" 5 | 6 | class ExportImpress : public ExportBase { 7 | public: 8 | ExportImpress(); 9 | ~ExportImpress(); 10 | void exportPresentation(); 11 | bool setConfigFile(const QString &); 12 | 13 | private: 14 | QString buildList(TreeItem *); 15 | bool useSections; 16 | QString configFile; 17 | QString configDir; 18 | QString templateDir; 19 | QString content; 20 | QString contentTemplate; 21 | QString contentTemplateFile; 22 | QString contentFile; 23 | QString pageTemplate; 24 | QString pageTemplateFile; 25 | QString sectionTemplate; 26 | QString sectionTemplateFile; 27 | }; 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/export-latex.h: -------------------------------------------------------------------------------- 1 | #ifndef EXPORT_LATEX_H 2 | #define EXPORT_LATEX_H 3 | 4 | #include "export-base.h" 5 | 6 | class ExportLaTeX : public ExportBase { 7 | public: 8 | ExportLaTeX(); 9 | QString escapeLaTeX(const QString &s); 10 | virtual void doExport(); 11 | 12 | private: 13 | QHash esc; 14 | }; 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /src/export-markdown.h: -------------------------------------------------------------------------------- 1 | #ifndef EXPORT_MARKDOWN_H 2 | #define EXPORT_MARKDOWN_H 3 | 4 | #include "export-base.h" 5 | 6 | class ExportMarkdown : public ExportBase { 7 | public: 8 | ExportMarkdown(); 9 | virtual void doExport(); 10 | virtual QString underline(const QString &text, const QString &line); 11 | }; 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /src/export-orgmode.h: -------------------------------------------------------------------------------- 1 | #ifndef EXPORT_ORGMODE_H 2 | #define EXPORT_ORGMODE_H 3 | 4 | #include "export-base.h" 5 | 6 | class ExportOrgMode : public ExportBase { 7 | public: 8 | ExportOrgMode(); 9 | virtual void doExport(); 10 | }; 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /src/export-taskjuggler.cpp: -------------------------------------------------------------------------------- 1 | #include "export-taskjuggler.h" 2 | 3 | #include "file.h" 4 | #include "vymmodel.h" 5 | #include "xsltproc.h" 6 | 7 | extern QDir vymBaseDir; 8 | 9 | void ExportTaskJuggler::doExport() 10 | { 11 | exportName = "TaskJuggler"; 12 | 13 | bool ok; 14 | QString xmlPath = model->getMapName() + ".xml"; 15 | QString dpath = makeTmpDir(ok, model->tmpDirPath(), "export"); 16 | xmlPath = dpath + "/" + xmlPath; 17 | model->exportXML(xmlPath, false); 18 | 19 | XSLTProc p; 20 | if (!p.setInputFile(xmlPath)) 21 | return; 22 | p.setOutputFile(filePath); 23 | if (!p.setXSLFile(vymBaseDir.path() + "/styles/vym2taskjuggler.xsl")) 24 | return; 25 | if (p.process()) 26 | result = ExportBase::Success; 27 | else 28 | result = ExportBase::Failed; 29 | 30 | displayedDestination = filePath; 31 | completeExport(); 32 | } 33 | -------------------------------------------------------------------------------- /src/export-taskjuggler.h: -------------------------------------------------------------------------------- 1 | #ifndef EXPORT_TASKJUGGLER_H 2 | #define EXPORT_TASKJUGGLER_H 3 | 4 | #include "export-base.h" 5 | 6 | class ExportTaskJuggler : public ExportBase { 7 | public: 8 | virtual void doExport(); 9 | }; 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /src/extrainfodialog.cpp: -------------------------------------------------------------------------------- 1 | #include "extrainfodialog.h" 2 | 3 | ExtraInfoDialog::ExtraInfoDialog(QWidget *parent) : QDialog(parent) 4 | { 5 | ui.setupUi(this); 6 | } 7 | 8 | void ExtraInfoDialog::setMapName(const QString &s) { ui.mapNameLE->setText(s); } 9 | 10 | void ExtraInfoDialog::setFileLocation(const QString &s) 11 | { 12 | ui.fileLocationLE->setText(s); 13 | } 14 | 15 | void ExtraInfoDialog::setMapTitle(const QString &s) 16 | { 17 | ui.mapTitleLE->setText(s); 18 | } 19 | 20 | QString ExtraInfoDialog::getMapTitle() { return ui.mapTitleLE->text(); } 21 | 22 | void ExtraInfoDialog::setComment(const QString &s) { ui.commentTE->setText(s); } 23 | 24 | QString ExtraInfoDialog::getComment() { return ui.commentTE->toPlainText(); } 25 | 26 | void ExtraInfoDialog::setAuthor(const QString &s) { ui.authorLE->setText(s); } 27 | 28 | QString ExtraInfoDialog::getAuthor() { return ui.authorLE->text(); } 29 | 30 | void ExtraInfoDialog::setStats(const QString &s) { ui.statsTE->setText(s); } 31 | 32 | void ExtraInfoDialog::setMapVersion(const QString &s) { ui.fileVersionLE->setText(s); } 33 | 34 | void ExtraInfoDialog::setReadOnly(bool b) 35 | { 36 | readOnly = b; 37 | ui.authorLE->setReadOnly(readOnly); 38 | ui.commentTE->setReadOnly(readOnly); 39 | ui.mapTitleLE->setReadOnly(readOnly); 40 | } 41 | 42 | bool ExtraInfoDialog::isReadOnly() { return readOnly; } 43 | -------------------------------------------------------------------------------- /src/extrainfodialog.h: -------------------------------------------------------------------------------- 1 | #ifndef EXTRAINFODIALOG_H 2 | #define EXTRAINFODIALOG_H 3 | 4 | #include "ui_extrainfodialog.h" 5 | 6 | /* \brief Dialog to display and edit map specific information like author, 7 | * comment, etc. 8 | */ 9 | 10 | class ExtraInfoDialog : public QDialog { 11 | Q_OBJECT 12 | 13 | public: 14 | ExtraInfoDialog(QWidget *parent = 0); 15 | 16 | virtual QString getComment(); 17 | virtual QString getAuthor(); 18 | virtual QString getMapTitle(); 19 | virtual void setStats(const QString &s); 20 | void setReadOnly(bool b); 21 | bool isReadOnly(); 22 | 23 | public slots: 24 | virtual void setMapName(const QString &s); 25 | virtual void setFileLocation(const QString &s); 26 | virtual void setMapTitle(const QString &s); 27 | virtual void setComment(const QString &s); 28 | virtual void setMapVersion(const QString &s); 29 | virtual void setAuthor(const QString &s); 30 | 31 | private: 32 | Ui::ExtraInfoDialog ui; 33 | bool readOnly; 34 | }; 35 | 36 | #endif // EXTRAINFODIALOG_H 37 | -------------------------------------------------------------------------------- /src/findresultitem.h: -------------------------------------------------------------------------------- 1 | #ifndef FINDRESULTITEM_H 2 | #define FINDRESULTITEM_H 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | class TreeItem; 9 | class VymModel; 10 | 11 | class FindResultItem { 12 | public: 13 | FindResultItem(const QVector &data, FindResultItem *parent = 0); 14 | ~FindResultItem(); 15 | 16 | FindResultItem *child(int number); 17 | int childCount() const; 18 | int columnCount() const; 19 | QVariant data(int column) const; 20 | int row() const; 21 | bool insertChildren(int position, int count, int columns); 22 | bool insertColumns(int position, int columns); 23 | FindResultItem *parent(); 24 | bool removeChildren(int position, int count); 25 | bool removeColumns(int position, int columns); 26 | bool setData(int column, const QVariant &value); 27 | void setOriginal(TreeItem *ti); 28 | int getOriginalID(); 29 | void setOriginalIndex(int i); 30 | int getOriginalIndex(); 31 | VymModel *getOrgModel(); 32 | 33 | private: 34 | QList childItems; 35 | QVector itemData; 36 | FindResultItem *parentItem; 37 | 38 | int orgID; 39 | int orgIndex; 40 | VymModel *orgModel; 41 | }; 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /src/findresultwidget.h: -------------------------------------------------------------------------------- 1 | #ifndef FINDRESULTWIDGET_H 2 | #define FINDRESULTWIDGET_H 3 | 4 | #include 5 | #include 6 | 7 | #include "findwidget.h" 8 | 9 | class FindResultModel; 10 | class TreeItem; 11 | class VymModel; 12 | class QTreeView; 13 | class QPushButton; 14 | class FindWidget; 15 | 16 | class FindResultWidget : public QWidget { 17 | Q_OBJECT 18 | 19 | public: 20 | FindResultWidget(QWidget *parent = nullptr); 21 | FindResultModel *getResultModel(); 22 | void addItem(TreeItem *ti); 23 | void addItem(const QString &s); 24 | QString getFindText(); 25 | 26 | public slots: 27 | void popup(); 28 | void cancelPressed(); 29 | void nextButtonPressed(QString, bool); 30 | void updateSelection(QItemSelection, QItemSelection); 31 | void setStatus(FindWidget::Status st); 32 | 33 | signals: 34 | void hideFindResultWidget(); 35 | void noteSelected(QString, int); 36 | void findPressed(QString, bool); 37 | 38 | public: 39 | FindWidget *findWidget; 40 | 41 | private: 42 | FindResultModel *resultsModel; 43 | QTreeView *view; 44 | }; 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /src/findwidget.h: -------------------------------------------------------------------------------- 1 | #ifndef FINDWIDGET_H 2 | #define FINDWIDGET_H 3 | 4 | #include 5 | 6 | class QAction; 7 | class QGroupBox; 8 | class QComboBox; 9 | class QPushButton; 10 | 11 | class FindWidget : public QWidget { 12 | Q_OBJECT 13 | 14 | public: 15 | enum Status { Undefined, Success, Failed }; 16 | 17 | FindWidget(QWidget *parent = nullptr); 18 | QString getFindText(); 19 | 20 | public slots: 21 | void cancelPressed(); 22 | void nextPressed(); 23 | void findTextChanged(const QString &); 24 | void setFocus(); 25 | void setStatus(Status st); 26 | 27 | private: 28 | Status status; 29 | 30 | signals: 31 | void hideFindWidget(); 32 | void nextButtonPressed(QString, bool); 33 | 34 | private: 35 | QComboBox *findcombo; 36 | QGroupBox *findbox; 37 | QPushButton *nextButton; 38 | QPushButton *filterNotesButton; 39 | }; 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /src/flag-container.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "flag.h" 4 | #include "flag-container.h" 5 | 6 | FlagContainer::FlagContainer() 7 | { 8 | // qDebug() << "Const FlagContainer this=" << info(); 9 | init(); 10 | } 11 | 12 | FlagContainer::~FlagContainer() 13 | { 14 | // qDebug() << "Destr FlagContainer this=" << info() << " " << name; 15 | } 16 | 17 | void FlagContainer::init() 18 | { 19 | avis = true; 20 | containerType = FlagCont; 21 | //setPen(QPen(Qt::green)); 22 | } 23 | 24 | void FlagContainer::setUuid(const QUuid &id) { uid = id; } 25 | 26 | const QUuid FlagContainer::getUuid() { return uid; } 27 | 28 | void FlagContainer::setAlwaysVisible(bool b) { avis = b; } 29 | 30 | bool FlagContainer::isAlwaysVisible() { return avis; } 31 | 32 | -------------------------------------------------------------------------------- /src/flag-container.h: -------------------------------------------------------------------------------- 1 | #ifndef FLAG_CONTAINER_H 2 | #define FLAG_CONTAINER_H 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #include "image-container.h" 9 | 10 | /*! \brief One flag which is visible in the map. 11 | 12 | Flags are usually aligned in a row. 13 | */ 14 | 15 | ///////////////////////////////////////////////////////////////////////////// 16 | class FlagContainer : public ImageContainer { // FIXME-4 inherits LinkableContainear, SelectableContainer and updateUpLink :-( 17 | // SelectableContainer: Not used because flags not selected 18 | // LinkableContainer: Not initialized due to missing parentBranch/ImageItem 19 | public: 20 | FlagContainer(); 21 | ~FlagContainer(); 22 | virtual void init(); 23 | void setUuid(const QUuid &uid); 24 | const QUuid getUuid(); 25 | QPixmap getPixmap(); 26 | void setAction(QAction *); 27 | void setAlwaysVisible(bool b); 28 | bool isAlwaysVisible(); 29 | 30 | protected: 31 | QUuid uid; 32 | bool avis; 33 | }; 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/flagrow-container.h: -------------------------------------------------------------------------------- 1 | #ifndef FLAGROW_CONTAINER_H 2 | #define FLAGROW_CONTAINER_H 3 | 4 | #include "container.h" 5 | 6 | class Flag; 7 | class FlagContainer; 8 | class FlagRowMaster; 9 | 10 | /*! \brief A collection of flags containers in a map. 11 | 12 | The flags are usually aligned horizontally in a row on the map. 13 | */ 14 | 15 | class FlagRowContainer : public Container { 16 | public: 17 | FlagRowContainer(); 18 | ~FlagRowContainer(); 19 | void updateActiveFlagContainers(const QList, FlagRowMaster *masterRowMain, 20 | FlagRowMaster *masterRowOptional = nullptr); 21 | bool isFlagActive(const QUuid &); 22 | void activateFlag(Flag *flag); 23 | FlagContainer *findFlagContainerByUid(const QUuid &); 24 | QUuid findFlagByPos(const QPointF &p); // Find flag by position 25 | virtual void reposition(); 26 | }; 27 | #endif 28 | -------------------------------------------------------------------------------- /src/flagrow.h: -------------------------------------------------------------------------------- 1 | #ifndef FLAGROW_H 2 | #define FLAGROW_H 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | class FlagRowMaster; 9 | 10 | class FlagRow 11 | { 12 | public: 13 | FlagRow (); 14 | ~FlagRow (); 15 | const QStringList activeFlagNames(); 16 | const QList activeFlagUids(); 17 | bool isActive(const QString &name); 18 | bool isActive(const QUuid &uuid); 19 | bool hasFlag(const QString &name); 20 | 21 | /*! \brief Toggle a Flag 22 | To activate a flag its uid will be copied from masterRow to activeUids in 23 | current row. 24 | */ 25 | bool toggle(const QString &, bool useGroups = true); 26 | bool toggle(const QUuid &, bool useGroups = true); 27 | bool activate(const QString &); 28 | bool activate(const QUuid &); 29 | bool deactivate(const QString &); 30 | bool deactivate(const QUuid &); 31 | bool deactivateGroup(const QString &); 32 | void deactivateAll(); 33 | QString saveState(); 34 | void setMasterRow(FlagRowMaster *row); 35 | 36 | private: 37 | FlagRowMaster *masterRow; 38 | QList activeUids; //! Used in treeitems: Lists all uids of currently 39 | //! active flags 40 | }; 41 | #endif 42 | -------------------------------------------------------------------------------- /src/heading-container.h: -------------------------------------------------------------------------------- 1 | #ifndef HEADING_CONTAINER_H 2 | #define HEADING_CONTAINER_H 3 | 4 | #include "container.h" 5 | #include "vymtext.h" 6 | 7 | #include 8 | 9 | class HeadingContainer : public Container { 10 | public: 11 | HeadingContainer (); 12 | virtual ~HeadingContainer(); 13 | virtual void init(); 14 | 15 | private: 16 | QGraphicsTextItem *newLine(QString); // generate new textline 17 | 18 | public: 19 | void setHeading(const VymText &); 20 | void clearHeading(); 21 | void setFont(const QFont &); 22 | QFont font(); 23 | void setColor(const QColor &); 24 | void setColumnWidth(const int &); 25 | int columnWidth(); 26 | 27 | virtual QString getName(); 28 | 29 | void setScrollOpacity(qreal); 30 | qreal getScrollOpacity(); 31 | 32 | virtual void reposition(); 33 | 34 | protected: 35 | VymText headingInt; 36 | QList headingLines; 37 | QColor headingColorInt; 38 | QFont headingFontInt; 39 | int columnWidthInt; 40 | }; 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /src/heading.cpp: -------------------------------------------------------------------------------- 1 | #include "heading.h" 2 | #include "misc.h" 3 | 4 | #include 5 | #include 6 | 7 | ///////////////////////////////////////////////////////////////// 8 | // Heading 9 | ///////////////////////////////////////////////////////////////// 10 | 11 | void Heading::operator=(const VymText &other) { copy(other); } 12 | 13 | QString Heading::saveToDir() 14 | { 15 | return singleElement("heading", getAttributes()); 16 | } 17 | -------------------------------------------------------------------------------- /src/heading.h: -------------------------------------------------------------------------------- 1 | #ifndef HEADING_H 2 | #define HEADING_H 3 | 4 | #include "vymtext.h" 5 | 6 | /*! \brief The heading belonging to one OrnamentedObj */ 7 | 8 | class Heading : public VymText { 9 | public: 10 | void operator=(const VymText &other); 11 | QString saveToDir(); 12 | }; 13 | #endif 14 | -------------------------------------------------------------------------------- /src/headingeditor.cpp: -------------------------------------------------------------------------------- 1 | #include "headingeditor.h" 2 | #include "settings.h" 3 | 4 | extern Settings settings; 5 | extern QString vymName; 6 | 7 | HeadingEditor::HeadingEditor(QString scope) : TextEditor() 8 | { 9 | editorName = tr("Heading Editor", "Name of editor shown as window title"); 10 | setWindowTitle(""); 11 | 12 | setUseMapBackgroundColor(true); 13 | 14 | // Load Settings 15 | init(scope); 16 | } 17 | 18 | HeadingEditor::~HeadingEditor() {} 19 | -------------------------------------------------------------------------------- /src/headingeditor.h: -------------------------------------------------------------------------------- 1 | #ifndef HEADINGEDITOR_H 2 | #define HEADINGEDITOR_H 3 | 4 | #include "texteditor.h" 5 | 6 | class HeadingEditor : public TextEditor { 7 | Q_OBJECT 8 | public: 9 | HeadingEditor(QString scope); 10 | ~HeadingEditor(); 11 | }; 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /src/historywindow.h: -------------------------------------------------------------------------------- 1 | #ifndef HISTORYWINDOW_H 2 | #define HISTORYWINDOW_H 3 | 4 | #include 5 | 6 | #include "settings.h" 7 | #include "ui_historywindow.h" 8 | 9 | ///////////////////////////////////////////////////////////////////////////// 10 | class HistoryWindow : public QDialog { 11 | Q_OBJECT 12 | 13 | public: 14 | HistoryWindow(QWidget *parent = 0); 15 | ~HistoryWindow(); 16 | void update(SimpleSettings &); 17 | void setStepsTotal(int); 18 | 19 | protected: 20 | void closeEvent(QCloseEvent *); 21 | 22 | private slots: 23 | void undo(); 24 | void redo(); 25 | void select(); 26 | 27 | signals: 28 | void windowClosed(); 29 | 30 | private: 31 | void clearRow(int); 32 | void updateRow(int, int, SimpleSettings &); 33 | Ui::HistoryWindow ui; 34 | }; 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /src/image-wrapper.h: -------------------------------------------------------------------------------- 1 | #ifndef IMAGE_WRAPPER_H 2 | #define IMAGE_WRAPPER_H 3 | 4 | class BranchWrapper; 5 | class ImageItem; 6 | class VymModel; 7 | 8 | #include 9 | 10 | class ImageWrapper : public QObject { 11 | Q_OBJECT 12 | public: 13 | Q_INVOKABLE ImageWrapper(ImageItem*); 14 | ~ImageWrapper(); 15 | Q_INVOKABLE VymModel* model(); 16 | Q_INVOKABLE ImageItem* imageItem(); 17 | 18 | public slots: 19 | qreal getPosX(); 20 | qreal getPosY(); 21 | qreal getScale(); 22 | qreal getScenePosX(); 23 | qreal getScenePosY(); 24 | bool hasRichTextHeading(); 25 | QString headingText(); 26 | bool relinkToBranch(BranchWrapper *dst); 27 | bool relinkToBranchAt(BranchWrapper *dst, int pos); 28 | void saveImage(const QString &filename); 29 | bool selectParent(); 30 | void setHeadingRichText(const QString &); 31 | void setHeadingText(const QString &); 32 | void setHideLinkUnselected(bool b); 33 | void setPos(qreal x, qreal y); 34 | void setScale(const qreal &f); 35 | 36 | private: 37 | ImageItem *imageItemInt; 38 | }; 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /src/imageitem.h: -------------------------------------------------------------------------------- 1 | #ifndef IMAGEITEM_H 2 | #define IMAGEITEM_H 3 | 4 | #include "mapitem.h" 5 | 6 | class ImageContainer; 7 | class ImageWrapper; 8 | class QGraphicsScene; 9 | 10 | bool isImage(const QString &fname); 11 | 12 | class ImageItem : public MapItem { 13 | public: 14 | ImageItem(); 15 | 16 | virtual ~ImageItem(); 17 | 18 | protected: 19 | void init(); 20 | 21 | public: 22 | BranchItem* parentBranch(); 23 | void setParentBranch(BranchItem *); 24 | ImageWrapper* imageWrapper(); 25 | void setFilePathInZipDir(); 26 | virtual bool load(const QString &fname); 27 | ImageContainer* createImageContainer(); 28 | ImageContainer* getImageContainer(); 29 | void updateContainerStackingOrder(); 30 | void unlinkImageContainer(); 31 | 32 | protected: 33 | ImageContainer *imageContainer; 34 | ImageWrapper *imageWrapperInt; 35 | QString originalFilename; 36 | QString filePathInZipDir; 37 | 38 | public: 39 | void setScale(qreal); 40 | qreal scale(); 41 | qreal width(); 42 | qreal height(); 43 | void setOriginalFilename(const QString &); 44 | QString getOriginalFilename(); 45 | QString getUniqueFilename(); 46 | bool saveImage(const QString &fn); 47 | QString saveToDir(const QString &tmpdir); 48 | }; 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /src/imports.h: -------------------------------------------------------------------------------- 1 | #ifndef IMPORTS_H 2 | #define IMPORTS_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | #include "settings.h" 10 | 11 | class VymModel; 12 | class BranchItem; 13 | 14 | /////////////////////////////////////////////////////////////////////// 15 | 16 | class ImportBase { 17 | public: 18 | ImportBase(); 19 | ImportBase(VymModel *m); 20 | virtual ~ImportBase(); 21 | void init(); 22 | virtual void setDir(const QString &); 23 | virtual void setFile(const QString &); 24 | virtual bool transform(); 25 | virtual QString getTransformedFile(); 26 | 27 | protected: 28 | VymModel *model; 29 | QDir tmpDir; 30 | QString inputDir; 31 | QString inputFile; 32 | QString transformedFile; 33 | }; 34 | 35 | /////////////////////////////////////////////////////////////////////// 36 | class ImportFirefoxBookmarks : public ImportBase { 37 | public: 38 | enum ParseMode {countBookmarks, buildMap}; 39 | ImportFirefoxBookmarks(VymModel *m); 40 | bool transform(); 41 | private: 42 | QProgressDialog progressDialog; 43 | bool parseJson(QJsonValue jsval, ParseMode mode, BranchItem *selbi = nullptr); 44 | 45 | uint totalBookmarks; 46 | uint currentBookmarks; 47 | }; 48 | 49 | /////////////////////////////////////////////////////////////////////// 50 | class ImportMM : public ImportBase { 51 | public: 52 | bool transform(); 53 | }; 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /src/jira-issue.h: -------------------------------------------------------------------------------- 1 | #ifndef JIRAISSUE_H 2 | #define JIRAISSUE_H 3 | 4 | #include 5 | 6 | class JiraIssue{ 7 | public: 8 | JiraIssue (); 9 | JiraIssue (const QJsonObject&); 10 | void initFromJsonObject(const QJsonObject&); 11 | void print() const; 12 | bool isFinished() const; 13 | QString assignee() const; 14 | QString components() const; 15 | QString description() const; 16 | QString fixVersions() const; 17 | QString issueType() const; 18 | QString key() const; 19 | QString parentKey() const; 20 | QString reporter() const; 21 | QString resolution() const; 22 | QString status() const; 23 | QString summary() const; 24 | QString url() const; 25 | QString issueLinks() const; 26 | QString subTasks() const; 27 | 28 | private: 29 | QString assigneeInt; 30 | QString descriptionInt; 31 | QString keyInt; 32 | QString issuetypeInt; 33 | QString parentKeyInt; 34 | QString reporterInt; 35 | QString resolutionInt; 36 | QString statusInt; 37 | QString summaryInt; 38 | QStringList componentsListInt; 39 | QStringList fixVersionsListInt; 40 | QStringList subTasksListInt; 41 | QStringList issueLinksListInt; 42 | 43 | QString jiraServerInt; 44 | }; 45 | #endif 46 | -------------------------------------------------------------------------------- /src/jira-settings-dialog.h: -------------------------------------------------------------------------------- 1 | #ifndef JIRA_SETTINGS_DIALOG_H 2 | #define JIRA_SETTINGS_DIALOG_H 3 | 4 | #include "ui_jira-settings-dialog.h" 5 | 6 | class JiraSettingsDialog : public QDialog { 7 | Q_OBJECT 8 | 9 | public: 10 | JiraSettingsDialog(QWidget *parent = 0); 11 | 12 | public slots: 13 | void addServer(); 14 | void deleteServer(); 15 | void updateAuthenticationFields(); 16 | void fieldsChanged(); 17 | void selectionChanged(const QItemSelection &selected, const QItemSelection &); 18 | 19 | private: 20 | Ui::JiraSettingsDialog ui; 21 | }; 22 | 23 | #endif // JIRA_SETTINGS_DIALOG_H 24 | -------------------------------------------------------------------------------- /src/lineeditdialog.cpp: -------------------------------------------------------------------------------- 1 | #include "lineeditdialog.h" 2 | #include "settings.h" 3 | 4 | extern Settings settings; 5 | 6 | LineEditDialog::LineEditDialog(QWidget *parent) : QDialog(parent) 7 | { 8 | ui.setupUi(this); 9 | ui.okButton->setText(tr("Ok")); 10 | } 11 | 12 | void LineEditDialog::showCancelButton(bool b) 13 | { 14 | if (b) { 15 | ui.cancelButton->show(); 16 | ui.cancelButton->setText(tr("Cancel")); 17 | } 18 | else 19 | ui.cancelButton->hide(); 20 | } 21 | 22 | void LineEditDialog::setLabel(const QString &s) { ui.label->setText(s); } 23 | 24 | void LineEditDialog::setCaption(const QString &s) 25 | { 26 | QDialog::setWindowTitle("VYM - " + s); 27 | } 28 | 29 | void LineEditDialog::setText(const QString &s) 30 | { 31 | ui.lineEdit->setText(s); 32 | ui.lineEdit->selectAll(); 33 | } 34 | 35 | QString LineEditDialog::getText() { return ui.lineEdit->text(); } 36 | -------------------------------------------------------------------------------- /src/lineeditdialog.h: -------------------------------------------------------------------------------- 1 | #ifndef LINEEDITDIALOG_H 2 | #define LINEEDITDIALOG_H 3 | 4 | #include "ui_lineeditdialog.h" 5 | 6 | class LineEditDialog : public QDialog { 7 | Q_OBJECT 8 | 9 | public: 10 | LineEditDialog(QWidget *parent = 0); 11 | 12 | public slots: 13 | virtual void showCancelButton(bool b); 14 | virtual void setCaption(const QString &s); 15 | virtual void setLabel(const QString &s); 16 | virtual void setText(const QString &s); 17 | virtual QString getText(); 18 | 19 | private: 20 | void init(); 21 | Ui::LineEditDialog ui; 22 | }; 23 | 24 | #endif // LINEEDITDIALOG_H 25 | -------------------------------------------------------------------------------- /src/link-container.cpp: -------------------------------------------------------------------------------- 1 | #include "link-container.h" 2 | 3 | #include "linkobj.h" 4 | 5 | ///////////////////////////////////////////////////////////////// 6 | // LinkContainer 7 | ///////////////////////////////////////////////////////////////// 8 | 9 | LinkContainer::LinkContainer() 10 | { 11 | //qDebug() << "Const LinkContainer this=" << this; 12 | init(); 13 | } 14 | 15 | LinkContainer::~LinkContainer() 16 | { 17 | // qDebug()<< "Destructor LC this=" << this << "children: " << childItems().count(); 18 | 19 | // Unparent any children, will be taken care of in own destructors 20 | while (!childItems().isEmpty()) 21 | childItems().first()->setParentItem(nullptr); 22 | } 23 | 24 | void LinkContainer::init() 25 | { 26 | containerType = Link; 27 | } 28 | 29 | void LinkContainer::addLink(LinkObj *lo) 30 | { 31 | if (lo->parentItem() != this) 32 | lo->setParentItem(this); 33 | } 34 | 35 | void LinkContainer::reposition() 36 | { 37 | //qDebug() << "LC::reposition " << info(); 38 | return; 39 | } 40 | 41 | -------------------------------------------------------------------------------- /src/link-container.h: -------------------------------------------------------------------------------- 1 | #ifndef LINK_CONTAINER_H 2 | #define LINK_CONTAINER_H 3 | 4 | #include "container.h" 5 | 6 | class LinkObj; 7 | 8 | /*! \brief This container class is parent of LinkObjs pointing to children branches and images. 9 | * The parenting is required for correct z-ordering, so that links go below frames. 10 | */ 11 | 12 | class LinkContainer : public Container { 13 | public: 14 | LinkContainer(); 15 | virtual ~LinkContainer(); 16 | 17 | protected: 18 | void init(); 19 | 20 | public: 21 | void addLink(LinkObj*); 22 | void reposition(); 23 | }; 24 | #endif 25 | -------------------------------------------------------------------------------- /src/linkable-container.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "linkable-container.h" 4 | #include "linkobj.h" 5 | 6 | LinkableContainer::LinkableContainer() 7 | { 8 | // qDebug() << "* Constr LinkableContainer" << this; 9 | 10 | // Create an uplink for every branch or image container 11 | // This link will become the child of my parents 12 | // linkContainer later. This will allow moving when parent moves, 13 | // without recalculating geometry. 14 | upLink = new LinkObj; 15 | } 16 | 17 | LinkableContainer::~LinkableContainer() 18 | { 19 | // qDebug() << "* Destr LinkableContainer" << this; 20 | if (upLink) 21 | delete upLink; 22 | } 23 | 24 | 25 | LinkObj *LinkableContainer::getLink() { return upLink; } 26 | 27 | void LinkableContainer::setUpLinkPosHint(const LinkObj::PosHint &ph) 28 | { 29 | upLinkPosHintInt = ph; 30 | } 31 | 32 | void LinkableContainer::setDownLinkPosHint(const LinkObj::PosHint &ph) 33 | { 34 | downLinkPosHintInt = ph; 35 | } 36 | 37 | -------------------------------------------------------------------------------- /src/lockedfiledialog.cpp: -------------------------------------------------------------------------------- 1 | #include "lockedfiledialog.h" 2 | 3 | LockedFileDialog::LockedFileDialog(QWidget *parent) : QDialog(parent) 4 | { 5 | ui.setupUi(this); 6 | ui.openReadonlyButton->setText(tr("Open readonly")); 7 | ui.deleteLockfileButton->setText(tr("Delete lockfile")); 8 | } 9 | 10 | LockedFileDialog::Result LockedFileDialog::execDialog() 11 | { 12 | // Really show dialog 13 | if (QDialog::exec() == QDialog::Accepted) 14 | return OpenReadonly; 15 | else 16 | return DeleteLockfile; 17 | } 18 | 19 | void LockedFileDialog::setText(const QString &s) { ui.warningTE->setText(s); } 20 | 21 | void LockedFileDialog::setCaption(const QString &s) 22 | { 23 | QDialog::setWindowTitle("VYM - " + s); 24 | } 25 | -------------------------------------------------------------------------------- /src/lockedfiledialog.h: -------------------------------------------------------------------------------- 1 | #ifndef LOCKEDFILEDIALOG_H 2 | #define LOCKEDFILEDIALOG_H 3 | 4 | #include "ui_lockedfiledialog.h" 5 | 6 | class LockedFileDialog : public QDialog { 7 | Q_OBJECT 8 | 9 | public: 10 | enum Result { OpenReadonly, DeleteLockfile }; 11 | 12 | LockedFileDialog(QWidget *parent = 0); 13 | Result execDialog(); 14 | 15 | public slots: 16 | virtual void setText(const QString &s); 17 | virtual void setCaption(const QString &s); 18 | 19 | private: 20 | void init(); 21 | Ui::LockedFileDialog ui; 22 | }; 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /src/macros.cpp: -------------------------------------------------------------------------------- 1 | #include "macros.h" 2 | 3 | #include "settings.h" 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | extern Settings settings; 12 | extern QDir vymBaseDir; 13 | 14 | QString Macros::getPath() 15 | { 16 | return macrosPath; 17 | } 18 | 19 | bool Macros::setPath(const QString &path) 20 | { 21 | if (pathExists(path)) { 22 | macrosPath = path; 23 | return true; 24 | } else 25 | return false; 26 | } 27 | 28 | QString Macros::get() 29 | { 30 | QFile f(macrosPath); 31 | if (!f.open(QIODevice::ReadOnly)) { 32 | qWarning() << "Couldn't read macros in get()"; 33 | return QString(); 34 | } 35 | 36 | QTextStream ts(&f); 37 | QString macros = ts.readAll(); 38 | 39 | return macros; 40 | } 41 | 42 | bool Macros::pathExists(const QString &path) 43 | { 44 | QFile f(path); 45 | if (!f.open(QIODevice::ReadOnly)) { 46 | QMessageBox::warning( 47 | 0, QObject::tr("Warning"), 48 | QObject::tr("Couldn't find macros at %1.\n","Macros::pathExists").arg(path) + 49 | QObject::tr("Please use Settings->") + 50 | QObject::tr("Set directory for vym macros")); 51 | return false; 52 | } else 53 | return true; 54 | } 55 | 56 | QString Macros::help() 57 | { 58 | QRegularExpression re("^//!.*Macro.*F[0-9]{1,2}"); 59 | return get().split("\n").filter(re).replaceInStrings("//! ", "").join("\n"); 60 | } 61 | -------------------------------------------------------------------------------- /src/macros.h: -------------------------------------------------------------------------------- 1 | #ifndef MACROS_H 2 | #define MACROS_H 3 | 4 | #include 5 | 6 | class Macros { 7 | public: 8 | QString getPath(); 9 | bool setPath(const QString&); 10 | bool pathExists(const QString&); 11 | QString get(); 12 | QString help(); 13 | 14 | private: 15 | QString macrosPath; 16 | }; 17 | #endif 18 | -------------------------------------------------------------------------------- /src/mapitem.h: -------------------------------------------------------------------------------- 1 | #ifndef MAPITEM_H 2 | #define MAPITEM_H 3 | 4 | #include 5 | 6 | #include "treeitem.h" 7 | 8 | class Container; 9 | /*! /brief MapItem is used to maintain geometrical information of images and branches 10 | * resp. their containers 11 | */ 12 | 13 | class MapItem : public TreeItem { 14 | public: 15 | MapItem(TreeItem *parent = nullptr); 16 | 17 | void init(); 18 | 19 | /*! Overloaded in BranchItem and ImageItem to retrieve the related container */ 20 | virtual Container* getContainer(); 21 | 22 | /*! Used to save position while map is not in QGraphicsView */ 23 | virtual void setPos(const QPointF &); 24 | 25 | protected: 26 | bool hideLinkUnselectedInt; 27 | 28 | public: 29 | /*! Hide link if item is not selected */ 30 | virtual void setHideLinkUnselected(bool); 31 | 32 | /*! Check if link is hidden for unselected items */ 33 | virtual bool hideLinkUnselected(); 34 | 35 | virtual QString getPosAttr(); //! Get position attributes shared by Images and Branches 36 | virtual QString getLinkableAttr(); //! Get attributes shared by Images and Branches 37 | }; 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /src/mapobj.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "geometry.h" 4 | #include "mapobj.h" 5 | #include "misc.h" 6 | 7 | ///////////////////////////////////////////////////////////////// 8 | // MapObj 9 | ///////////////////////////////////////////////////////////////// 10 | MapObj::MapObj(QGraphicsItem *parent) : QGraphicsItem(parent) 11 | { 12 | //qDebug() << "Const MapObj"; 13 | } 14 | 15 | MapObj::~MapObj() 16 | { 17 | //qDebug() << "Destr MapObj "<setParentItem(nullptr); 21 | } 22 | 23 | QRectF MapObj::boundingRect() const { return QRectF(); } 24 | 25 | void MapObj::paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *) {} 26 | -------------------------------------------------------------------------------- /src/mapobj.h: -------------------------------------------------------------------------------- 1 | #ifndef MAPOBJ_H 2 | #define MAPOBJ_H 3 | 4 | #include 5 | 6 | #include "xmlobj.h" 7 | 8 | /*! \brief Base class for all objects visible on a map 9 | */ 10 | 11 | class MapObj : public QGraphicsItem { 12 | public: 13 | MapObj(QGraphicsItem *parent = nullptr); 14 | virtual ~MapObj(); 15 | 16 | QRectF boundingRect() const; 17 | void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *); 18 | }; 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /src/misc.h: -------------------------------------------------------------------------------- 1 | #ifndef MISC_H 2 | #define MISC_H 3 | 4 | #include 5 | #include 6 | using namespace std; 7 | 8 | class QDate; 9 | class QString; 10 | class QPoint; 11 | class QPointF; 12 | class QRectF; 13 | class Vector; 14 | class QDialog; 15 | 16 | ///////////////////////////////////////////////////////////////////////////// 17 | QString richTextToPlain(QString r); 18 | QString toS(const bool &); 19 | QString toS(const qreal &r, int d = 1); 20 | QString toS(const QPoint &p); 21 | QString toS(const QPointF &p, int d = 1); 22 | QString toS(const QRectF &r, int d = 1); 23 | QString toS(const Vector &p); 24 | QString toS(const QDate &d); 25 | 26 | QString pluralize(const QString &, qsizetype count); 27 | 28 | extern ostream &operator<<(ostream &stream, QPoint const &p); 29 | extern ostream &operator<<(ostream &stream, QPointF const &p); 30 | extern ostream &operator<<(ostream &stream, QRectF const &r); 31 | extern ostream &operator<<(ostream &stream, Vector const &p); 32 | 33 | qreal min(qreal, qreal); 34 | qreal max(qreal, qreal); 35 | qreal roof(qreal x); 36 | int round_int(qreal x); 37 | 38 | Qt::PenStyle penStyle(const QString &, bool &ok); 39 | QString penStyleToString(Qt::PenStyle); 40 | QPointF point(const QString &s, bool &ok); 41 | QString pointToString(const QPointF &p); 42 | 43 | void centerDialog(QDialog *dia); 44 | 45 | bool versionLowerThanVym(const QString &); 46 | bool versionLowerOrEqualThanVym(const QString &); 47 | bool versionLowerOrEqual(const QString &, const QString &); 48 | #endif 49 | -------------------------------------------------------------------------------- /src/mkdtemp.cpp: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | #ifndef _WIN32 5 | #include 6 | 7 | extern "C" { 8 | pid_t getpid(void); 9 | } 10 | #else 11 | #include 12 | #define getpid GetCurrentProcessId 13 | #include 14 | #include 15 | #endif 16 | 17 | QString mkdtemp(QString tmpl) 18 | { 19 | static const char letters[] = 20 | "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; 21 | 22 | static uint64_t value; 23 | 24 | const unsigned int ATTEMPTS_MIN = (62 * 62 * 62); 25 | 26 | if (tmpl.length() < 6 || !tmpl.endsWith("XXXXXX")) { 27 | return QString(); 28 | } 29 | 30 | uint64_t random_time_bits = time(nullptr); 31 | 32 | value += (random_time_bits ^ getpid()); 33 | 34 | unsigned int count; 35 | for (count = 0; count < ATTEMPTS_MIN; value += 7777, ++count) { 36 | uint64_t v = value; 37 | QString XXXXXX; 38 | XXXXXX.append(letters[v % 62]); 39 | v /= 62; 40 | XXXXXX.append(letters[v % 62]); 41 | v /= 62; 42 | XXXXXX.append(letters[v % 62]); 43 | v /= 62; 44 | XXXXXX.append(letters[v % 62]); 45 | v /= 62; 46 | XXXXXX.append(letters[v % 62]); 47 | v /= 62; 48 | XXXXXX.append(letters[v % 62]); 49 | 50 | tmpl.replace(tmpl.length() - 6, 6, XXXXXX); 51 | QDir dir; 52 | if (dir.exists(tmpl)) 53 | continue; 54 | if (dir.mkpath(tmpl)) { 55 | return tmpl; 56 | } 57 | } 58 | return QString(); 59 | } 60 | -------------------------------------------------------------------------------- /src/mkdtemp.h: -------------------------------------------------------------------------------- 1 | #ifndef MKDTEMP_H 2 | #define MKDTEMP_H 3 | 4 | extern QString mkdtemp(QString _template); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /src/noteeditor.cpp: -------------------------------------------------------------------------------- 1 | #include "noteeditor.h" 2 | 3 | #include 4 | 5 | #include "settings.h" 6 | #include "vymnote.h" 7 | 8 | extern Settings settings; 9 | extern QString vymName; 10 | 11 | NoteEditor::NoteEditor(QString scope) : TextEditor() 12 | { 13 | editorName = tr("Note Editor", "Name of editor shown as window title"); 14 | setWindowTitle(""); 15 | 16 | menuBar()->show(); 17 | 18 | setUseMapBackgroundColor(false); 19 | 20 | // Load Settings 21 | init(scope); 22 | } 23 | 24 | NoteEditor::~NoteEditor() {} 25 | 26 | VymNote NoteEditor::getNote() 27 | { 28 | VymNote note; 29 | if (actionFormatRichText->isChecked()) 30 | note.setRichText(getText()); 31 | else 32 | note.setPlainText(getText()); 33 | note.setFontHint(getFontHint()); 34 | note.setFilenameHint(getFilenameHint()); 35 | return note; 36 | } 37 | 38 | void NoteEditor::setNote(const VymNote ¬e) 39 | { 40 | if (note.isRichText()) 41 | setRichText(note.getText()); 42 | else { 43 | setPlainText(note.getText()); 44 | setFontHint(note.getFontHint()); 45 | } 46 | setFilenameHint(note.getFilenameHint()); 47 | } 48 | -------------------------------------------------------------------------------- /src/noteeditor.h: -------------------------------------------------------------------------------- 1 | #ifndef NOTEEDITOR_H 2 | #define NOTEEDITOR_H 3 | 4 | #include "texteditor.h" 5 | 6 | class VymNote; 7 | 8 | class NoteEditor : public TextEditor { 9 | Q_OBJECT 10 | public: 11 | NoteEditor(QString scope); 12 | ~NoteEditor(); 13 | 14 | VymNote getNote(); 15 | void setNote(const VymNote ¬e); 16 | }; 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /src/scripteditor.h: -------------------------------------------------------------------------------- 1 | #ifndef SCRIPTEDITOR_H 2 | #define SCRIPTEDITOR_H 3 | 4 | #include "codeeditor.h" 5 | #include "highlighter.h" 6 | #include "ui_scripteditor.h" 7 | 8 | class VymModel; 9 | 10 | class ScriptEditor : public QWidget { 11 | Q_OBJECT 12 | 13 | public: 14 | enum Mode { Slide, File }; 15 | 16 | private: 17 | Mode mode; 18 | uint vymModelID; 19 | uint slideID; 20 | 21 | public: 22 | ScriptEditor(QWidget *parent = 0); 23 | QString getScriptFile(); 24 | void setSlideScript(uint vymModelID, uint slideID, const QString &); 25 | 26 | public slots: 27 | void runMacro(); 28 | void runSlide(); 29 | void runScript(); 30 | void saveSlide(); 31 | void reloadMacros(); 32 | void saveMacros(); 33 | bool loadScript(QString fn = ""); 34 | bool reloadScript(); 35 | void saveScript(); 36 | void saveScriptAs(); 37 | 38 | signals: 39 | void runScript(QString); 40 | 41 | private: 42 | Ui::ScriptEditor ui; 43 | CodeEditor *slideEditor; 44 | CodeEditor *macroEditor; 45 | CodeEditor *codeEditor; 46 | QString filename; 47 | Highlighter *highlighterMacro; 48 | Highlighter *highlighterSlide; 49 | Highlighter *highlighterFile; 50 | }; 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /src/scripting-xlink-wrapper.h: -------------------------------------------------------------------------------- 1 | #ifndef XLINK_WRAPPER_H 2 | #define XLINK_WRAPPER_H 3 | 4 | #include 5 | 6 | class XLink; 7 | class VymModel; 8 | 9 | class XLinkWrapper : public QObject { 10 | Q_OBJECT 11 | public: 12 | Q_INVOKABLE XLinkWrapper(XLink*); 13 | ~XLinkWrapper(); 14 | VymModel* model(); 15 | XLink* xlink(); 16 | 17 | public slots: 18 | QString getColor(); 19 | int getWidth(); 20 | QString getPenStyle(); 21 | QString getStyleBegin(); 22 | QString getStyleEnd(); 23 | void setColor(const QString &color); 24 | void setStyle(const QString &styGle); 25 | void setStyleBegin(const QString &style); 26 | void setStyleEnd(const QString &style); 27 | void setWidth(int w); 28 | 29 | private: 30 | XLink *xlinkInt; 31 | }; 32 | 33 | Q_DECLARE_METATYPE(XLinkWrapper) 34 | Q_DECLARE_METATYPE(XLinkWrapper*) 35 | #endif 36 | -------------------------------------------------------------------------------- /src/scriptoutput.cpp: -------------------------------------------------------------------------------- 1 | #include "scriptoutput.h" 2 | 3 | ScriptOutput::ScriptOutput(QWidget *parent) : QWidget(parent) 4 | { 5 | editor = new QTextEdit(this); 6 | layout = new QVBoxLayout; 7 | layout->addWidget(editor); 8 | setLayout(layout); 9 | } 10 | 11 | ScriptOutput::~ScriptOutput() 12 | { 13 | delete layout; 14 | delete editor; 15 | } 16 | 17 | void ScriptOutput::clear() { editor->clear(); } 18 | 19 | void ScriptOutput::setText(const QString &text) { editor->setText(text); } 20 | 21 | QString ScriptOutput::text() { return editor->toPlainText(); } 22 | 23 | void ScriptOutput::append(const QString &text) { editor->append(text); } 24 | -------------------------------------------------------------------------------- /src/scriptoutput.h: -------------------------------------------------------------------------------- 1 | #ifndef SCRIPTOUTPUT_H 2 | #define SCRIPTOUTPUT_H 3 | 4 | #include 5 | #include 6 | 7 | class ScriptOutput : public QWidget { 8 | Q_OBJECT 9 | public: 10 | ScriptOutput(QWidget *parent); 11 | ~ScriptOutput(); 12 | void clear(); 13 | void setText(const QString &text); 14 | QString text(); 15 | void append(const QString &text); 16 | 17 | private: 18 | QTextEdit *editor; 19 | QVBoxLayout *layout; 20 | }; 21 | 22 | #endif // SCRIPTOUTPUT_H 23 | -------------------------------------------------------------------------------- /src/selectable-container.h: -------------------------------------------------------------------------------- 1 | #ifndef SELECTABLE_CONTAINER_H 2 | #define SELECTABLE_CONTAINER_H 3 | 4 | #include 5 | 6 | class BranchContainer; 7 | class Container; 8 | 9 | class SelectableContainer { 10 | friend class BranchContainer; 11 | friend class BranchContainerBase; 12 | friend class ImageContainer; 13 | 14 | public: 15 | /*! States related to moving around */ 16 | enum MovingState { 17 | NotMoving, 18 | Moving, 19 | TemporaryLinked 20 | }; 21 | 22 | SelectableContainer(); 23 | 24 | virtual void select( 25 | Container *container, 26 | const QPen &, 27 | const QBrush &); 28 | void unselect(); 29 | bool isSelected(); 30 | 31 | protected: 32 | MovingState movingStateInt; 33 | BranchContainer *tmpLinkedParentContainer; 34 | BranchContainer *originalParentBranchContainer; 35 | 36 | public: 37 | void setMovingState(const MovingState &, BranchContainer *tpc = nullptr); 38 | MovingState movingState(); 39 | 40 | protected: 41 | Container *selectionContainer; 42 | }; 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /src/settings.h: -------------------------------------------------------------------------------- 1 | #ifndef SETTINGS_H 2 | #define SETTINGS_H 3 | 4 | #include 5 | #include 6 | 7 | #include "xmlobj.h" 8 | 9 | // Some helper functions and simplified settings class 10 | // to read and parse settings e.g. in undo/redo directories 11 | 12 | class SimpleSettings { 13 | public: 14 | SimpleSettings(); 15 | ~SimpleSettings(); 16 | void clear(); 17 | bool readSettings(const QString &); 18 | void writeSettings(const QString &); 19 | QString value(const QString &key, const QString &def = QString()); 20 | int numValue(const QString &, const int &def = 0); 21 | void setValue(const QString &, const QString &); 22 | 23 | private: 24 | QStringList keylist; 25 | QStringList valuelist; 26 | }; 27 | 28 | // Overloaded QSettings class, used to save some settings in 29 | // a map instead of users home directory 30 | class Settings : public QSettings, public XMLObj { 31 | public: 32 | Settings(); 33 | Settings(const QString &, const QString &); 34 | ~Settings(); 35 | void clear(); 36 | void 37 | clearLocal(const QString &filepath, 38 | const QString &key); //! Clear keys starting with key in filepath 39 | QVariant localValue(const QString &, const QString &, QVariant); 40 | void setLocalValue(const QString &, const QString &, QVariant); 41 | QString getDataXML(const QString &); 42 | 43 | protected: 44 | QStringList pathlist; 45 | QStringList keylist; 46 | QList valuelist; 47 | }; 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /src/shortcuts.h: -------------------------------------------------------------------------------- 1 | #ifndef SHORTCUTS_H 2 | #define SHORTCUTS_H 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | class KeySwitch { 9 | public: 10 | KeySwitch( 11 | const QString &kIdentifier, //! Unique identifier (still unused) 12 | const QString &kName, //! text saved in related action (translated) 13 | const QString &kGroup, //! Scope 14 | const QString &kTag, //! Tag, used for listing related shortcuts 15 | const QKeySequence &kseq); //! Keysequence from action 16 | QString group; 17 | QString name; 18 | QString identifier; 19 | QString tag; 20 | QKeySequence keySequence; 21 | }; 22 | 23 | class Switchboard { 24 | public: 25 | Switchboard(); 26 | void addGroup(QString gIdentifier, QString gName); 27 | void addSwitch(QString identifier, QString scope, QAction *a, QString tag); 28 | QString getASCII(); 29 | void printASCII(); 30 | void printLaTeX(); 31 | 32 | protected: 33 | QMultiMap actions; 34 | QMultiMap switches; 35 | QMap groups; 36 | QStringList tags; 37 | }; 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /src/showtextdialog.cpp: -------------------------------------------------------------------------------- 1 | #include "showtextdialog.h" 2 | 3 | #include "settings.h" 4 | #include 5 | #include 6 | 7 | extern Settings settings; 8 | 9 | ShowTextDialog::ShowTextDialog(QWidget *parent) : QDialog(parent) 10 | { 11 | ui.setupUi(this); 12 | ui.textBrowser->show(); 13 | ui.textBrowser->setOpenExternalLinks(true); 14 | } 15 | 16 | void ShowTextDialog::append(const QString &s) { ui.textBrowser->append(s); } 17 | 18 | void ShowTextDialog::setText(const QString &s) { ui.textBrowser->setText(s); } 19 | 20 | void ShowTextDialog::setHtml(const QString &s) { ui.textBrowser->setHtml(s); } 21 | 22 | void ShowTextDialog::useFixedFont(bool useFixedFont) 23 | { 24 | QFont font; 25 | if (useFixedFont) 26 | font.fromString(settings 27 | .value("/satellite/noteeditor/fonts/fixedFont", 28 | "Courier,10,-1,5,48,0,0,0,1,0") 29 | .toString()); 30 | else 31 | font.fromString(settings 32 | .value("/satellite/noteeditor/fonts/varFont", 33 | "DejaVu Sans Mono,12,-1,0,50,0,0,0,0,0") 34 | .toString()); 35 | ui.textBrowser->setFont(font); 36 | } 37 | -------------------------------------------------------------------------------- /src/showtextdialog.h: -------------------------------------------------------------------------------- 1 | #ifndef SHOWTEXTDIALOG_H 2 | #define SHOWTEXTDIALOG_H 3 | 4 | #include "ui_showtextdialog.h" 5 | 6 | // #include 7 | // #include 8 | 9 | class ShowTextDialog : public QDialog { 10 | Q_OBJECT 11 | public: 12 | ShowTextDialog(QWidget *parent = 0); 13 | void append(const QString &); 14 | void setHtml(const QString &); 15 | void setText(const QString &); 16 | void useFixedFont(bool); 17 | 18 | private: 19 | Ui::ShowTextDialog ui; 20 | }; 21 | 22 | #endif // SHOWTEXTDIALOG_H 23 | -------------------------------------------------------------------------------- /src/slidecontrolwidget.h: -------------------------------------------------------------------------------- 1 | #ifndef SLIDECONTROLWIDGET_H 2 | #define SLIDECONTROLWIDGET_H 3 | 4 | #include 5 | 6 | class QAction; 7 | class QPushButton; 8 | 9 | class SlideControlWidget : public QWidget { 10 | Q_OBJECT 11 | 12 | public: 13 | SlideControlWidget(QWidget *parent = nullptr); 14 | 15 | public slots: 16 | void previousPressed(); 17 | void snapshotPressed(); 18 | void nextPressed(); 19 | void upPressed(); 20 | void downPressed(); 21 | void deletePressed(); 22 | void editPressed(); 23 | 24 | signals: 25 | void hideFindWidget(); 26 | void takeSnapshot(); 27 | void deleteButtonPressed(); 28 | void editButtonPressed(); 29 | void previousButtonPressed(); 30 | void nextButtonPressed(); 31 | void upButtonPressed(); 32 | void downButtonPressed(); 33 | 34 | protected: 35 | QPushButton *previousButton; 36 | QPushButton *snapshotButton; 37 | QPushButton *editButton; 38 | QPushButton *deleteButton; 39 | QPushButton *nextButton; 40 | QPushButton *upButton; 41 | QPushButton *downButton; 42 | }; 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /src/slideeditor.h: -------------------------------------------------------------------------------- 1 | #ifndef SLIDEEDITOR_H 2 | #define SLIDEEDITOR_H 3 | 4 | #include 5 | #include 6 | 7 | class SlideModel; 8 | class QTreeView; 9 | class SlideControlWidget; 10 | class VymModel; 11 | 12 | class SlideEditor : public QWidget { 13 | Q_OBJECT 14 | 15 | public: 16 | SlideEditor(VymModel *); 17 | 18 | protected: 19 | virtual void closeEvent(QCloseEvent *event); 20 | 21 | public slots: 22 | void previousSlide(); 23 | void nextSlide(); 24 | void addSlide(); 25 | void editSlide(); 26 | void deleteSlide(); 27 | void moveSlideUp(); 28 | void moveSlideDown(); 29 | void updateSelection(QItemSelection, QItemSelection); 30 | 31 | private: 32 | VymModel *vymModel; 33 | SlideModel *slideModel; 34 | QTreeView *view; 35 | SlideControlWidget *slideControl; 36 | }; 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /src/taskfiltermodel.h: -------------------------------------------------------------------------------- 1 | #ifndef TASKFILTERMODEL_H 2 | #define TASKFILTERMODEL_H 3 | 4 | #include 5 | 6 | class Task; 7 | 8 | class TaskFilterModel : public QSortFilterProxyModel { 9 | public: 10 | void setFilter(bool b); 11 | void setFilterNew(bool b); 12 | void setFilterBlocker(bool b); 13 | void setMapFilter(const QString &s); 14 | void setFilterFlags1(bool b); 15 | void setFilterFlags2(bool b); 16 | void setFilterFlags3(bool b); 17 | bool taskVisible(Task*) const; 18 | 19 | protected: 20 | bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const; 21 | 22 | private: 23 | bool useFilter; 24 | QString mapFilter; 25 | bool filterNew; 26 | bool filterBlocker; 27 | bool filterFlags1; 28 | bool filterFlags2; 29 | bool filterFlags3; 30 | }; 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /src/tmp-parent-container.h: -------------------------------------------------------------------------------- 1 | #ifndef TMP_PARENT_CONTAINER_H 2 | #define TMP_PARENT_CONTAINER_H 3 | 4 | #include "branch-container-base.h" 5 | 6 | class TmpParentContainer : public BranchContainerBase { 7 | public: 8 | TmpParentContainer (); 9 | virtual void init(); 10 | 11 | virtual void addToBranchesContainer(BranchContainer *bc); 12 | 13 | virtual void createImagesContainer(); 14 | virtual void addToImagesContainer(Container *c); 15 | 16 | public: 17 | virtual void reposition(); 18 | 19 | }; 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /src/treedelegate.cpp: -------------------------------------------------------------------------------- 1 | #include "treedelegate.h" 2 | 3 | TreeDelegate::TreeDelegate(QObject *) {} 4 | 5 | QString TreeDelegate::displayText(const QVariant &value, const QLocale &) const 6 | { 7 | return value.toString().trimmed(); 8 | } 9 | 10 | void TreeDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, 11 | const QModelIndex &index) const 12 | { 13 | QStyleOptionViewItem local_option = option; 14 | QVariant color_text_v = index.model()->data(index, Qt::ForegroundRole); 15 | QColor color_text = color_text_v.isValid() ? color_text_v.value() 16 | : local_option.palette.color(QPalette::Text); 17 | // clobber the selection coloring with ordinary coloring 18 | // local_option.palette.setColor(QPalette::Highlight, color_base); 19 | local_option.palette.setColor(QPalette::HighlightedText, color_text); 20 | QStyledItemDelegate::paint(painter, local_option, index) ; 21 | } 22 | -------------------------------------------------------------------------------- /src/treedelegate.h: -------------------------------------------------------------------------------- 1 | #ifndef TREEDELEGATE_H 2 | #define TREEDELEGATE_H 3 | 4 | #include 5 | 6 | class TreeDelegate : public QStyledItemDelegate { 7 | Q_OBJECT 8 | public: 9 | TreeDelegate(QObject *parent = 0); 10 | QString displayText(const QVariant &value, const QLocale &locale) const; 11 | void paint(QPainter *painter, const QStyleOptionViewItem &option, 12 | const QModelIndex &index) const; 13 | /* 14 | QSize sizeHint(const QStyleOptionViewItem &option, 15 | const QModelIndex &index ) const; 16 | */ 17 | }; 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /src/treeeditor.h: -------------------------------------------------------------------------------- 1 | #ifndef TREEEDITOR_H 2 | #define TREEEDITOR_H 3 | 4 | #include 5 | 6 | class VymModel; 7 | 8 | /*! \brief TreeView widget in vym to display and edit a map, based on 9 | * QTreeView */ 10 | 11 | class TreeEditor : public QTreeView { 12 | Q_OBJECT 13 | 14 | public: 15 | TreeEditor(VymModel *m = nullptr); 16 | ~TreeEditor(); 17 | void init(); 18 | QModelIndex getSelectedIndex(); 19 | 20 | protected: 21 | virtual void contextMenuEvent(QContextMenuEvent *e); 22 | virtual void closeEvent(QCloseEvent *event); 23 | 24 | private slots: 25 | void cursorUp(); 26 | void cursorDown(); 27 | void startEdit(); 28 | 29 | private: 30 | VymModel *model; 31 | }; 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/version.cpp: -------------------------------------------------------------------------------- 1 | // No longer required, functions moved to misc.cc 2 | -------------------------------------------------------------------------------- /src/version.h: -------------------------------------------------------------------------------- 1 | #ifndef VERSION_H 2 | #define VERSION_H 3 | 4 | #define __VYM_VERSION "2.9.576" 5 | #define __VYM_BUILD_DATE "2025-06-02" 6 | 7 | #define __VYM_NAME "VYMng" // FIXME "next generation" in in window title 8 | #define __VYM_HOME "http://www.insilmaril.de/vym" 9 | // 10 | //#define __VYM_CODE_QUALITY "Production" 11 | #define __VYM_CODE_QUALITY "*Experimental*" 12 | //#define __VYM_CODE_QUALITY "*Beta*" 13 | //#define __VYM_CODENAME "Alpha 1 of upcoming 3.0.0" 14 | #define __VYM_CODENAME "2025 21 year anniversary edition" 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /src/vym-wrapper.h: -------------------------------------------------------------------------------- 1 | #ifndef SCRIPTING_H 2 | #define SCRIPTING_H 3 | 4 | #include 5 | 6 | class BranchItem; 7 | class VymModelWrapper; 8 | 9 | /////////////////////////////////////////////////////////////////////////// 10 | class VymWrapper : public QObject { 11 | Q_OBJECT 12 | public: 13 | VymWrapper(); 14 | ~VymWrapper(); 15 | 16 | public slots: 17 | void clearConsole(); 18 | bool closeMapWithID(uint n); 19 | QString currentColor(); 20 | Q_INVOKABLE QObject *currentMap(); 21 | uint currentMapID(); 22 | void editHeading(); 23 | bool directoryIsEmpty(const QString &dirName); 24 | bool directoryExists(const QString &dirName); 25 | bool fileCopy(const QString &srcPath, QString dstPath); 26 | bool fileExists(const QString &fileName); 27 | bool fileRemove(const QString &fileName); 28 | void gotoMap(uint n); 29 | bool isConfluenceAgentAvailable(); 30 | QString loadFile(const QString &filename); 31 | bool loadMap(QString filename); 32 | int mapCount(); 33 | bool mkdir(const QString &dirName); 34 | void print(const QString &s); 35 | void printCol(const QString &color, const QString &s); 36 | bool removeDirectory(const QString &dirName); 37 | bool removeFile(const QString &fileName); 38 | void selectQuickColor(int n); 39 | void statusMessage(const QString &s); 40 | void saveFile(const QString &filename, const QString &s); 41 | void toggleTreeEditor(); 42 | bool usesDarkTheme(); 43 | QString version(); 44 | QString vymBaseDir(); 45 | }; 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /src/vymlock.h: -------------------------------------------------------------------------------- 1 | #ifndef VYMLOCK_H 2 | #define VYMLOCK_H 3 | 4 | extern bool debug; 5 | 6 | class VymLock { 7 | public: 8 | enum LockState { Undefined, LockedByMyself, LockedByOther, NotWritable }; 9 | void operator==(const VymLock &); 10 | VymLock(); 11 | VymLock(const QString &fn); 12 | ~VymLock(); 13 | void init(); 14 | bool tryLock(); 15 | LockState getState(); 16 | bool releaseLock(); 17 | bool removeLockForced(); 18 | void setAuthor(const QString &s); 19 | QString getAuthor(); 20 | void setHost(const QString &s); 21 | QString getHost(); 22 | void setMapPath(const QString &path); 23 | QString getMapPath(); 24 | 25 | private: 26 | QString author; 27 | QString host; 28 | QString mapPath; 29 | QString lockPath; 30 | LockState state; 31 | }; 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/vymnote.cpp: -------------------------------------------------------------------------------- 1 | #include "vymnote.h" 2 | 3 | ///////////////////////////////////////////////////////////////// 4 | // VymNote 5 | ///////////////////////////////////////////////////////////////// 6 | 7 | VymNote::VymNote() { clear(); } 8 | 9 | VymNote::VymNote(const VymText &other) { VymText::copy(other); } 10 | 11 | void VymNote::operator=(const VymText &other) { copy(other); } 12 | 13 | QString VymNote::saveToDir() 14 | { 15 | return singleElement("vymnote", getAttributes()); 16 | } 17 | -------------------------------------------------------------------------------- /src/vymnote.h: -------------------------------------------------------------------------------- 1 | #ifndef VYMNOTE_H 2 | #define VYMNOTE_H 3 | 4 | #include "vymtext.h" 5 | 6 | /*! \brief The text note belonging to one OrnamentedObj */ 7 | 8 | class VymNote : public VymText { 9 | public: 10 | VymNote(); 11 | VymNote(const VymText &vt); 12 | void operator=(const VymText &other); 13 | QString saveToDir(); 14 | }; 15 | #endif 16 | -------------------------------------------------------------------------------- /src/vymprocess.h: -------------------------------------------------------------------------------- 1 | #ifndef VYMPROCESS_H 2 | #define VYMPROCESS_H 3 | 4 | #include 5 | #include 6 | 7 | class VymProcess : public QProcess { 8 | Q_OBJECT 9 | public: 10 | VymProcess(); 11 | ~VymProcess(); 12 | void clear(); 13 | void runScript(QString spath, QString fpath); 14 | QString getErrout(); 15 | QString getStdout(); 16 | 17 | public slots: 18 | virtual void readProcErrout(); 19 | virtual void readProcStdout(); 20 | 21 | private: 22 | QString errOut; 23 | QString stdOut; 24 | }; 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /src/vymtext.h: -------------------------------------------------------------------------------- 1 | #ifndef VYMTEXT_H 2 | #define VYMTEXT_H 3 | 4 | #include 5 | #include 6 | 7 | // class VymText; 8 | 9 | #include "xmlobj.h" 10 | 11 | /*! \brief base class for headings of branches and vymnotes */ 12 | 13 | class VymText : public XMLObj { 14 | public: 15 | enum TextMode { AutoText, PlainText, RichText }; 16 | VymText(); 17 | VymText(const VymText &vt); 18 | VymText(const QString &s); 19 | bool operator==(const VymText &other); 20 | void operator=(const VymText &); 21 | virtual void copy(const VymText &); 22 | virtual void clear(); 23 | void setText(const QString &); 24 | void setRichText(const QString &); 25 | void setPlainText(const QString &); 26 | void setAutoText(const QString &); 27 | QString getText() const; 28 | QString getTextASCII() const; 29 | QString getTextASCII(QString indent, const int &width = 0) const; 30 | void setRichText(bool b); 31 | bool isRichText() const; 32 | void setFontHint(const QString &); 33 | QString getFontHint() const; 34 | void setFilenameHint(const QString &); 35 | QString getFilenameHint() const; 36 | bool isEmpty() const; 37 | void setColor(QColor color); 38 | QColor getColor(); 39 | QStringList getAttributes() const; 40 | QString saveToDir(); // Needs to be overloaded! 41 | 42 | protected: 43 | QString text; 44 | QString fonthint; 45 | QString filenamehint; 46 | TextMode textmode; 47 | QColor color; // used for plaintext 48 | }; 49 | #endif 50 | -------------------------------------------------------------------------------- /src/vymview.h: -------------------------------------------------------------------------------- 1 | #ifndef VYMVIEW_H 2 | #define VYMVIEW_H 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | class DockEditor; 9 | class VymModel; 10 | class MapEditor; 11 | class SlideEditor; 12 | class TreeEditor; 13 | class QTreeView; 14 | 15 | class VymView : public QMainWindow { 16 | Q_OBJECT 17 | public: 18 | VymView(VymModel *model); 19 | VymModel *getModel(); 20 | MapEditor *getMapEditor(); 21 | void initFocus(); 22 | void nextSlide(); 23 | void previousSlide(); 24 | void updateColors(); 25 | 26 | public slots: 27 | void changeSelection(const QItemSelection &newSel, 28 | const QItemSelection &delSel); 29 | void updateDockWidgetTitles(); 30 | void expandAll(); 31 | void expandOneLevel(); 32 | void collapseOneLevel(); 33 | void collapseUnselected(); 34 | void showSelection(bool scaled, bool rotated); 35 | void setTreeEditorVisibility(bool); 36 | void setSlideEditorVisibility(bool); 37 | void setFocusMapEditor(); 38 | 39 | private: 40 | VymModel *model; 41 | TreeEditor *treeEditor; 42 | DockEditor *treeEditorDE; 43 | SlideEditor *slideEditor; 44 | DockEditor *slideEditorDE; 45 | 46 | MapEditor *mapEditor; 47 | // DockEditor *mapEditorDE; 48 | QItemSelectionModel *selModel; 49 | }; 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /src/warningdialog.h: -------------------------------------------------------------------------------- 1 | #ifndef WARNINGDIALOG_H 2 | #define WARNINGDIALOG_H 3 | 4 | #include "ui_warningdialog.h" 5 | 6 | class WarningDialog : public QDialog { 7 | Q_OBJECT 8 | 9 | public: 10 | WarningDialog(QWidget *parent = 0); 11 | int exec(); 12 | 13 | public slots: 14 | virtual void showCancelButton(bool b); 15 | virtual void setShowAgainName(const QString &s); 16 | virtual void setText(const QString &s); 17 | virtual void setCaption(const QString &s); 18 | virtual void setAcceptedText(const QString &s); 19 | 20 | private: 21 | void init(); 22 | bool useShowAgain; 23 | QString showAgainName; 24 | Ui::WarningDialog ui; 25 | }; 26 | 27 | #endif // WARNINGDIALOG_H 28 | -------------------------------------------------------------------------------- /src/winter.h: -------------------------------------------------------------------------------- 1 | #ifndef WINTER_H 2 | #define WINTER_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | #define Z_SNOW 2000 10 | 11 | class QGraphicsView; 12 | class QGraphicsScene; 13 | 14 | class SnowFlake : public QGraphicsItem { 15 | public: 16 | enum SnowType { Smilla, Disc, Egg }; 17 | 18 | SnowFlake(QGraphicsScene *scene, SnowType type); 19 | ~SnowFlake(); 20 | QRectF boundingRect() const; 21 | void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *); 22 | void animate(); 23 | void blow(const QPointF &v); 24 | 25 | private: 26 | SnowType type; 27 | int size; 28 | QList lines; 29 | QGraphicsEllipseItem *disc; 30 | QPointF dv; 31 | QPointF dblow; 32 | qreal da; 33 | }; 34 | 35 | class Winter : public QObject { 36 | Q_OBJECT 37 | public: 38 | Winter(QGraphicsView *view); 39 | ~Winter(); 40 | void updateView(); 41 | void setObstacles(QList obslist); 42 | 43 | public slots: 44 | void animate(); 45 | void makeSnow(); 46 | 47 | private: 48 | QGraphicsView *view; 49 | QList fallingSnow; 50 | QList frozenSnow; 51 | int maxFlakes; 52 | QTimer *animTimer; 53 | QTimer *snowTimer; 54 | QList obstacles; 55 | 56 | SnowFlake::SnowType type; 57 | int maxFalling; 58 | int maxUnfreeze; 59 | 60 | QRectF viewRect; 61 | }; 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /src/xlinkitem.h: -------------------------------------------------------------------------------- 1 | #ifndef XLINKITEM_H 2 | #define XLINKITEM_H 3 | 4 | #include "mapitem.h" 5 | 6 | class BranchItem; 7 | class QGraphicsScene; 8 | class XLink; 9 | class XLinkObj; 10 | class XLinkWrapper; 11 | 12 | 13 | /*! \brief xlinks are used to draw arbitrary connections between branches 14 | * (BranchObj) in the map. */ 15 | 16 | ///////////////////////////////////////////////////////////////////////////// 17 | 18 | class XLinkItem : public MapItem { 19 | public: 20 | enum XLinkState { undefinedXLink, initXLink, activeXLink, deleteXLink }; 21 | 22 | XLinkItem(TreeItem *parent = nullptr); 23 | ~XLinkItem(); 24 | void init(); 25 | void setXLink(XLink *); 26 | XLink* getXLink(); 27 | void updateXLink(); 28 | XLinkObj *getXLinkObj(); 29 | QColor headingColor(); 30 | void setSelectionType(); 31 | BranchItem *getPartnerBranch(); 32 | 33 | private: 34 | XLink *xlinkInt; 35 | }; 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /src/xml-freeplane.h: -------------------------------------------------------------------------------- 1 | #ifndef XML_FREEPLANE_H 2 | #define XML_FREEPLANE_H 3 | 4 | #include "xml-base.h" 5 | 6 | #include 7 | 8 | /*! \brief Parsing Freeplane maps */ 9 | 10 | class BranchItem; 11 | 12 | class FreeplaneReader : public BaseReader { 13 | public: 14 | FreeplaneReader (VymModel*); 15 | virtual bool read(QIODevice *device); 16 | 17 | private: 18 | void foundElement(const QString &e); 19 | QString attrString(); 20 | void readToEnd(); 21 | 22 | void readArrowLink(); 23 | void readAttribute(); 24 | void readCloud(); 25 | void readEdge(); 26 | void readFont(); 27 | void readIcon(); 28 | void readHook(); 29 | void readMap(); 30 | void readMapStyles(); 31 | void readNode(); 32 | void readProperties(); 33 | void readRichContent(); 34 | 35 | BranchItem* mainBranchRight; 36 | BranchItem* mainBranchLeft; 37 | 38 | QStringList foundElements; 39 | QStringList ignoredElements; 40 | 41 | QMap elementAttributes; 42 | }; 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /src/xml-ithoughts.h: -------------------------------------------------------------------------------- 1 | #ifndef XML_ITHOUGHTS_H 2 | #define XML_ITHOUGHTS_H 3 | 4 | #include "xml-base.h" 5 | 6 | 7 | /*! \brief Parsing ithoughts maps from XML documents */ 8 | 9 | class IThoughtsReader : public BaseReader { 10 | public: 11 | IThoughtsReader (VymModel*); 12 | virtual bool read(QIODevice *device); 13 | 14 | private: 15 | void readIThoughtsMap(); 16 | void readTopics(File::LoadMode loadModeBranch, int insertPosBranch); 17 | void readBranchOrMapCenter(File::LoadMode loadModeBranch, int insertPosBranch); 18 | 19 | void readMapAttr(); 20 | void readBranchAttr(); 21 | void readOrnamentsAttr(); 22 | 23 | int branchesCounter; 24 | int branchesTotal; 25 | 26 | VymText vymtext; 27 | 28 | bool useProgress; 29 | }; 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /src/xml-vym.h: -------------------------------------------------------------------------------- 1 | #ifndef XML_VYM_H 2 | #define XML_VYM_H 3 | 4 | #include "xml-base.h" 5 | 6 | class SlideItem; 7 | class Task; 8 | 9 | /*! \brief Parsing VYM maps from XML documents */ 10 | 11 | class VymReader : public BaseReader { 12 | public: 13 | VymReader (VymModel*); 14 | virtual bool read(QIODevice *device); 15 | 16 | private: 17 | void readVymMap(); 18 | void readMapDesign(); 19 | void readMapDesignElement(); 20 | void readMapDesignCompatibleAttributes(); 21 | void readSelection(); 22 | void readSetting(); 23 | void readAttribute(); 24 | void readBranchOrMapCenter(File::LoadMode loadModeBranch, int insertPosBranch); 25 | void readHeadingOrVymNote(); 26 | void readFrame(); 27 | void readLegacyXLink(); 28 | void readStandardFlag(); 29 | void readUserFlagDef(); 30 | void readUserFlag(); 31 | void readImage(); 32 | void readXLink(); 33 | void readSlide(); 34 | void readTask(); 35 | 36 | void readVymMapAttr(); 37 | void readBranchAttr(); 38 | void readOrnamentsAttr(); 39 | void readFrameAttr(); 40 | 41 | int branchesCounter; 42 | int branchesTotal; 43 | 44 | VymText vymtext; 45 | 46 | bool useProgress; 47 | }; 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /src/xmlobj.h: -------------------------------------------------------------------------------- 1 | #ifndef XMLOBJ_H 2 | #define XMLOBJ_H 3 | 4 | #include 5 | #include 6 | 7 | 8 | QString quoteMeta(const QString &); 9 | QString unquoteMeta(const QString &); 10 | QString quoteQuotes(const QString &); 11 | QString unquoteQuotes(const QString &); 12 | QString getCDATA(const QString &s); 13 | 14 | ///////////////////////////////////////////////////////////////////////////// 15 | class XMLObj { 16 | public: 17 | XMLObj(); 18 | virtual ~XMLObj(); 19 | QString singleElement(QString, QString); // name,attr 20 | QString singleElement(QString, QStringList); // name,attributes 21 | QString beginElement(QString, QString); // name,attr 22 | QString beginElement(QString); // name 23 | QString endElement(QString); // name 24 | QString attribute(QString, QString) const; // name, val 25 | QString valueElement(QString, QString); // name, val 26 | QString valueElement(QString, QString, QString); // name, val, attr 27 | void incIndent(); 28 | void decIndent(); 29 | static int curIndent; 30 | 31 | protected: 32 | QString indent(); 33 | int indentWidth; 34 | }; 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /src/xsltproc.h: -------------------------------------------------------------------------------- 1 | #ifndef XSLTPROC_H 2 | #define XSLTPROC_H 3 | 4 | #include 5 | #include 6 | 7 | #include "showtextdialog.h" 8 | 9 | class XSLTProc { 10 | public: 11 | XSLTProc(); 12 | ~XSLTProc(); 13 | void addStringParam(const QString &, const QString &); 14 | void setOutputFile(const QString &); 15 | bool setXSLFile(const QString &); 16 | bool setInputFile(const QString &); 17 | void addOutput(const QString &); 18 | bool process(); 19 | 20 | private: 21 | QStringList stringParamKey; 22 | QStringList stringParamVal; 23 | QString outputFile; 24 | QString inputFile; 25 | QString xslFile; 26 | QString xsltprocessor; 27 | bool showOutput; 28 | ShowTextDialog *dia; 29 | }; 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /src/zip-agent.h: -------------------------------------------------------------------------------- 1 | #ifndef ZIPAGENT_H 2 | #define ZIPAGENT_H 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #include "file.h" 9 | 10 | class ZipAgent : public QProcess { 11 | Q_OBJECT 12 | 13 | public: 14 | ZipAgent(QDir zipDir, QString zipName); 15 | ~ZipAgent(); 16 | 17 | public: 18 | static bool checkZipTool(); 19 | static bool checkUnzipTool(); 20 | 21 | void setBackgroundProcess(bool); 22 | void startZip(); 23 | void startUnzip(); 24 | QDir zipDir(); 25 | QString zipName(); 26 | 27 | signals: 28 | void zipFinished(); 29 | void zipError(); 30 | 31 | private slots: 32 | void zipProcessFinished (int exitCode, QProcess::ExitStatus exitStatus); 33 | 34 | private: 35 | QDir zipDirInt; 36 | QString zipNameInt; 37 | 38 | bool isBackgroundProcessInt; 39 | QStringList args; 40 | }; 41 | #endif 42 | -------------------------------------------------------------------------------- /test/example-2.4.0.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/test/example-2.4.0.vym -------------------------------------------------------------------------------- /test/maps/legacy/external-note-plaintext.txt: -------------------------------------------------------------------------------- 1 | PlainText note in file 2 | -------------------------------------------------------------------------------- /test/maps/legacy/external-note-richtext.html: -------------------------------------------------------------------------------- 1 | 2 | 5 |

RichText note in file

-------------------------------------------------------------------------------- /test/maps/legacy/lifeforms-2.1.11.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/test/maps/legacy/lifeforms-2.1.11.vym -------------------------------------------------------------------------------- /test/maps/legacy/time-management-1.13.33.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/test/maps/legacy/time-management-1.13.33.vym -------------------------------------------------------------------------------- /test/maps/test-attributes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /test/maps/test-default.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/test/maps/test-default.vym -------------------------------------------------------------------------------- /test/maps/test-frames.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/test/maps/test-frames.vym -------------------------------------------------------------------------------- /test/maps/test-userflag.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/test/maps/test-userflag.vym -------------------------------------------------------------------------------- /test/notes/note-plain.txt: -------------------------------------------------------------------------------- 1 | Plaintext note. 2 | Second line. 3 | 3rd line. not bold. -------------------------------------------------------------------------------- /test/notes/note-richtext.xml: -------------------------------------------------------------------------------- 1 |

Rich Text note with not bold text

]]>
2 | -------------------------------------------------------------------------------- /test/notes/note.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | bold 4 | 5 | -------------------------------------------------------------------------------- /test/start-internal-tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SRCDIR=test 4 | VYMTESTDIR=$(mktemp -d /tmp/vym-test-XXXX) 5 | 6 | DEFAULTMAP=$SRCDIR/test/default.vym 7 | TESTMAP=$VYMTESTDIR/testmap.vym 8 | 9 | echo Copying $DEFAULTMAP to $TESTMAP 10 | cp $DEFAULTMAP $TESTMAP 11 | 12 | vym -l -t -n test -R test/vym-selftest.vys $TESTMAP -geometry 768x576-0+0 & 13 | 14 | #PID=$! 15 | 16 | #$SRCDIR/vym-test.rb -d $VYMTESTDIR $TESTMAP 17 | 18 | #kill -s 15 $PID 19 | echo To clean up, do: rm -rf $VYMTESTDIR 20 | -------------------------------------------------------------------------------- /test/start-ruby-tests-legacy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SRCDIR=test 4 | OLDDIR=$(pwd) 5 | 6 | VYMTESTDIR=$(mktemp -d /tmp/vym-test-XXXX) 7 | 8 | echo Created $VYMTESTDIR 9 | 10 | vym -l -t -n test -geometry 768x576-0+0 & 11 | 12 | PID=$! 13 | 14 | cd $SRCDIR 15 | 16 | vym-test-legacy.rb -d $VYMTESTDIR 17 | 18 | kill -s 15 $PID 19 | echo To clean up, do: rm -rf $VYMTESTDIR 20 | 21 | cd $OLDDIR 22 | -------------------------------------------------------------------------------- /test/start-ruby-tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | SRCDIR=test 4 | OLDDIR=$(pwd) 5 | 6 | VYMTESTDIR=$(mktemp -d /tmp/vym-test-XXXX) 7 | 8 | echo Created $VYMTESTDIR 9 | 10 | vym -l -t -n test -geometry 768x576-0+0 & 11 | 12 | PID=$! 13 | 14 | cd $SRCDIR 15 | 16 | vym-test.rb -d $VYMTESTDIR 17 | 18 | kill -s 15 $PID 19 | echo To clean up, do: rm -rf $VYMTESTDIR 20 | 21 | cd $OLDDIR 22 | -------------------------------------------------------------------------------- /tex/examples/branches.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/examples/branches.vym -------------------------------------------------------------------------------- /tex/examples/macros.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/examples/macros.vym -------------------------------------------------------------------------------- /tex/examples/windows-main.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/examples/windows-main.vym -------------------------------------------------------------------------------- /tex/examples/windows.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/examples/windows.vym -------------------------------------------------------------------------------- /tex/examples/xlinks.vym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/examples/xlinks.vym -------------------------------------------------------------------------------- /tex/help.tex: -------------------------------------------------------------------------------- 1 | Usage: vym [OPTION]... [FILE]... 2 | Open FILEs with vym 3 | 4 | -b batch batch mode: hide windows 5 | -c commands List all available commands 6 | -cl commandslatex List commands in LaTeX format 7 | -d debug Show debugging output 8 | -h help Show this help text 9 | -L load Load script 10 | -l local Run with resources in current directory 11 | --locale locale Override system locale setting to select 12 | language 13 | -n STRING name Set name of instance for DBus access 14 | -q quit Quit immediately after start for benchmarking 15 | -R FILE run Run script 16 | -r restore Restore last session 17 | --recover recover Delete lockfiles during initial loading of 18 | files 19 | -s shortcuts Show Keyboard shortcuts on start 20 | -t testmode Test mode, e.g. no autosave and changing of 21 | its setting 22 | -v version Show vym version 23 | 24 | -------------------------------------------------------------------------------- /tex/images/branches-flags.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/branches-flags.png -------------------------------------------------------------------------------- /tex/images/branches-flags_es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/branches-flags_es.png -------------------------------------------------------------------------------- /tex/images/branches-flags_fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/branches-flags_fr.png -------------------------------------------------------------------------------- /tex/images/branches.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/branches.png -------------------------------------------------------------------------------- /tex/images/branches_es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/branches_es.png -------------------------------------------------------------------------------- /tex/images/branches_fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/branches_fr.png -------------------------------------------------------------------------------- /tex/images/color-buttons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/color-buttons.png -------------------------------------------------------------------------------- /tex/images/default-flags.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/default-flags.png -------------------------------------------------------------------------------- /tex/images/example1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/example1.png -------------------------------------------------------------------------------- /tex/images/example1_es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/example1_es.png -------------------------------------------------------------------------------- /tex/images/example1_fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/example1_fr.png -------------------------------------------------------------------------------- /tex/images/export-oo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/export-oo.png -------------------------------------------------------------------------------- /tex/images/export-oo_es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/export-oo_es.png -------------------------------------------------------------------------------- /tex/images/find-window.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/find-window.png -------------------------------------------------------------------------------- /tex/images/find-window_es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/find-window_es.png -------------------------------------------------------------------------------- /tex/images/flag-hideexport.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flag-hideexport.png -------------------------------------------------------------------------------- /tex/images/flag-target.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flag-target.png -------------------------------------------------------------------------------- /tex/images/flag-url-bugzilla-novell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flag-url-bugzilla-novell.png -------------------------------------------------------------------------------- /tex/images/flag-url.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flag-url.png -------------------------------------------------------------------------------- /tex/images/flag-urlnew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flag-urlnew.png -------------------------------------------------------------------------------- /tex/images/flag-vymlink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flag-vymlink.png -------------------------------------------------------------------------------- /tex/images/flag-vymlinknew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flag-vymlinknew.png -------------------------------------------------------------------------------- /tex/images/flags/add-userflag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flags/add-userflag.png -------------------------------------------------------------------------------- /tex/images/flags/arrow-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flags/arrow-up.png -------------------------------------------------------------------------------- /tex/images/flags/arrow2-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flags/arrow2-up.png -------------------------------------------------------------------------------- /tex/images/flags/arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flags/arrows.png -------------------------------------------------------------------------------- /tex/images/flags/stopsign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flags/stopsign.png -------------------------------------------------------------------------------- /tex/images/flags/system/note.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flags/system/note.png -------------------------------------------------------------------------------- /tex/images/flags/system/target.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flags/system/target.png -------------------------------------------------------------------------------- /tex/images/flags/system/task-finished.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flags/system/task-finished.png -------------------------------------------------------------------------------- /tex/images/flags/system/task-new-sleeping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flags/system/task-new-sleeping.png -------------------------------------------------------------------------------- /tex/images/flags/system/task-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flags/system/task-new.png -------------------------------------------------------------------------------- /tex/images/flags/system/task-not-started.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flags/system/task-not-started.png -------------------------------------------------------------------------------- /tex/images/flags/system/task-wip-sleeping.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flags/system/task-wip-sleeping.png -------------------------------------------------------------------------------- /tex/images/flags/system/task-wip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flags/system/task-wip.png -------------------------------------------------------------------------------- /tex/images/flags/systemflags.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/flags/systemflags.png -------------------------------------------------------------------------------- /tex/images/formatfixedfont.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/formatfixedfont.png -------------------------------------------------------------------------------- /tex/images/frames.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/frames.png -------------------------------------------------------------------------------- /tex/images/headingeditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/headingeditor.png -------------------------------------------------------------------------------- /tex/images/hiddenlink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/hiddenlink.png -------------------------------------------------------------------------------- /tex/images/hiddenlink_es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/hiddenlink_es.png -------------------------------------------------------------------------------- /tex/images/hiddenlink_fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/hiddenlink_fr.png -------------------------------------------------------------------------------- /tex/images/historywindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/historywindow.png -------------------------------------------------------------------------------- /tex/images/includeImages.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/includeImages.png -------------------------------------------------------------------------------- /tex/images/includeImages_es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/includeImages_es.png -------------------------------------------------------------------------------- /tex/images/includeImages_fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/includeImages_fr.png -------------------------------------------------------------------------------- /tex/images/macros.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/macros.png -------------------------------------------------------------------------------- /tex/images/macros_fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/macros_fr.png -------------------------------------------------------------------------------- /tex/images/mainwindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/mainwindow.png -------------------------------------------------------------------------------- /tex/images/modmodes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/modmodes.png -------------------------------------------------------------------------------- /tex/images/move-buttons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/move-buttons.png -------------------------------------------------------------------------------- /tex/images/newmapcenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/newmapcenter.png -------------------------------------------------------------------------------- /tex/images/noteeditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/noteeditor.png -------------------------------------------------------------------------------- /tex/images/noteeditor_es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/noteeditor_es.png -------------------------------------------------------------------------------- /tex/images/noteeditor_fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/noteeditor_fr.png -------------------------------------------------------------------------------- /tex/images/propwindow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/propwindow.png -------------------------------------------------------------------------------- /tex/images/scripteditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/scripteditor.png -------------------------------------------------------------------------------- /tex/images/slideeditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/slideeditor.png -------------------------------------------------------------------------------- /tex/images/taskeditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/taskeditor.png -------------------------------------------------------------------------------- /tex/images/vym-logo-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/vym-logo-new.png -------------------------------------------------------------------------------- /tex/images/windows-main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/windows-main.png -------------------------------------------------------------------------------- /tex/images/windows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/windows.png -------------------------------------------------------------------------------- /tex/images/windows_es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/windows_es.png -------------------------------------------------------------------------------- /tex/images/windows_fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/windows_fr.png -------------------------------------------------------------------------------- /tex/images/xlink-control.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/xlink-control.png -------------------------------------------------------------------------------- /tex/images/xlink-property.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/xlink-property.png -------------------------------------------------------------------------------- /tex/images/xlink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/xlink.png -------------------------------------------------------------------------------- /tex/images/xlink_es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/xlink_es.png -------------------------------------------------------------------------------- /tex/images/xlink_fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/xlink_fr.png -------------------------------------------------------------------------------- /tex/images/zoom-buttons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/insilmaril/vym/3f18f2f7d26d33e4142861e8c9f13e3d3dbf9311/tex/images/zoom-buttons.png -------------------------------------------------------------------------------- /vym.rc: -------------------------------------------------------------------------------- 1 | IDI_ICON1 ICON DISCARDABLE "icons/vym-128x128.ico" 2 | --------------------------------------------------------------------------------