Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: ddmitov/perl-executing-browser
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.9.1
Choose a base ref
...
head repository: ddmitov/perl-executing-browser
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Loading
Showing with 1,216 additions and 27,478 deletions.
  1. +1 −3 .gitattributes
  2. +4 −7 .gitignore
  3. +0 −25 .travis.yml
  4. +20 −217 CREDITS.md
  5. +69 −96 README.md
  6. 0 resources/app/bootstrap/css/themes/darkly-theme.css → app/bootstrap/darkly.css
  7. +35 −0 app/demo.css
  8. +77 −0 app/demo.js
  9. +59 −0 app/index.html
  10. +24 −0 app/perl_scripts/new_file.pl
  11. +24 −0 app/perl_scripts/open_directory.pl
  12. +24 −0 app/perl_scripts/open_file.pl
  13. +31 −0 app/perl_scripts/perl_info.pl
  14. +10 −0 deb/DEBIAN/control
  15. +0 −91 doc/CONSTANTS.md
  16. +0 −22 doc/LOGGING.md
  17. +0 −33 doc/PACKAGING.md
  18. +0 −91 doc/REQUIREMENTS.md
  19. +0 −323 doc/SETTINGS.md
  20. +30 −0 doc/application-directory.md
  21. +89 −0 doc/perl-scripts-api.md
  22. BIN doc/screenshot.png
  23. +27 −0 makedeb.sh
  24. BIN resources/app.png
  25. +0 −6,754 resources/app/bootstrap/css/bootstrap.css
  26. +0 −5,278 resources/app/bootstrap/css/themes/cosmo-theme.css
  27. +0 −5,260 resources/app/bootstrap/css/themes/cyborg-theme.css
  28. BIN resources/app/bootstrap/fonts/glyphicons-halflings-regular.eot
  29. +0 −288 resources/app/bootstrap/fonts/glyphicons-halflings-regular.svg
  30. BIN resources/app/bootstrap/fonts/glyphicons-halflings-regular.ttf
  31. BIN resources/app/bootstrap/fonts/glyphicons-halflings-regular.woff
  32. BIN resources/app/bootstrap/fonts/glyphicons-halflings-regular.woff2
  33. +0 −55 resources/app/bootstrap/js/bootstrap-dropdown.js
  34. +0 −2,377 resources/app/bootstrap/js/bootstrap.js
  35. +0 −314 resources/app/index-windows.html
  36. +0 −322 resources/app/index.html
  37. +0 −5 resources/app/jquery/jquery-1.12.4.min.js
  38. +0 −40 resources/app/perl-scripts/clock.pl
  39. +0 −8 resources/app/perl-scripts/input.pl
  40. +0 −116 resources/app/perl-scripts/interactive.pl
  41. +0 −40 resources/app/perl-scripts/open-directory.pl
  42. +0 −19 resources/app/perl-scripts/open-files.pl
  43. +0 −13 resources/app/perl-scripts/perl-info.pl
  44. +0 −41 resources/app/perl-scripts/sqlite.pl
  45. +0 −1 resources/data/readme.txt
  46. +0 −58 sdk/appimage-maker.sh
  47. +0 −21 sdk/appimage/peb.appdata.xml
  48. +0 −8 sdk/appimage/peb.desktop
  49. +0 −2 sdk/compactor.cmd
  50. +0 −121 sdk/compactor.pl
  51. +0 −12 sdk/compactor.sh
  52. +0 −72 sdk/dmg-maker.sh
  53. +0 −698 sdk/lib/File/Copy/Recursive.pm
  54. +0 −1,675 sdk/lib/Module/ScanDeps.pm
  55. +0 −98 sdk/lib/Module/ScanDeps/Cache.pm
  56. +0 −36 src/file-reader.cpp
  57. +0 −36 src/file-reader.h
  58. +39 −297 src/main.cpp
  59. +44 −0 src/page.cpp
  60. +182 −0 src/page.h
  61. +39 −178 src/peb.pro
  62. +0 −89 src/port-scanner.cpp
  63. BIN {sdk/appimage → src/resources}/camel.png
  64. +0 −22 src/resources/html/about.html
  65. +0 −28 src/resources/html/error.html
  66. BIN src/resources/icon/camel.icns
  67. BIN src/resources/icon/camel.ico
  68. BIN src/resources/icon/camel.png
  69. +0 −62 src/resources/peb.js
  70. +1 −4 src/resources/peb.qrc
  71. +0 −40 src/resources/peb.rc
  72. +94 −20 src/script-handler.cpp
  73. +73 −22 src/script-handler.h
  74. +9 −18 src/{port-scanner.h → view.cpp}
  75. +141 −0 src/view.h
  76. +0 −120 src/webengine-main-window.h
  77. +0 −138 src/webengine-page.cpp
  78. +0 −504 src/webengine-page.h
  79. +0 −49 src/webengine-view.cpp
  80. +0 −159 src/webengine-view.h
  81. +0 −112 src/webkit-main-window.h
  82. +0 −71 src/webkit-page.cpp
  83. +0 −591 src/webkit-page.h
  84. +0 −64 src/webkit-view.cpp
  85. +0 −195 src/webkit-view.h
  86. +16 −19 src/{main-window.cpp → window.cpp}
  87. +54 −0 src/window.h
4 changes: 1 addition & 3 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
src/resources/icon/* linguist-vendored
resources/app/bootstrap/* linguist-vendored
resources/app/jquery/* linguist-vendored
sdk/lib/* linguist-vendored
app/bootstrap/*.css linguist-vendored
11 changes: 4 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
archive/
build-peb-*/
resources/app/perl
src/build
src/tmp

.qmake.stash
*.autosave
Makefile
peb.pro.*

peb
peb.exe
*.deb

test.db
peb

gdrive
backup
upgit
25 changes: 0 additions & 25 deletions .travis.yml

This file was deleted.

237 changes: 20 additions & 217 deletions CREDITS.md
Original file line number Diff line number Diff line change
@@ -7,260 +7,63 @@ Being in debt to each and every one,
who prepared the official Perl and Qt documentation or
shared useful knowledge on a variety of forums, blogs and other sites,
I thank them all!
Their expertise, effort and good will are highly appreciated!
Their expertise, effort and good are highly appreciated!

Special thanks to the staff of the Library of the New Bulgarian University,
where much of the development effort took place!
Special thanks to the staff of the Library of the New Bulgarian University,
where much of the initial development effort took place!
https://www.nbu.bg/en/library/library

Special thanks to Stack Overflow users peppe, Piotr Dobrogost and Fèlix Galindo Allué.
Their example code is no longer used in Perl Executing Browser,
but their expertise and good will to help others are not forgotten!
but their expertise and good will to help others are not forgotten!

Thanks to Jennifer Maher-Bontrager, author of the Camel icon.
http://www.iconarchive.com/show/animal-icons-by-jen/Camel-icon.html
https://www.totoro.org/jen/

Thanks to Leon Anavi, Valentin Alexiev, Stefan Chekanov, Rangel Ivanov, Philip Georgiev,
karaman, sisvenvet and all other members of Hackafe, the hackerspace of Plovdiv,
for being welcoming host of the first public presentation of Perl Executing Browser
on the 2nd of March 2014 and for their helpful proposals.

Thanks to Roderich Schupp and all contributors of the Module::ScanDeps CPAN module.
https://metacpan.org/pod/Module::ScanDeps

Thanks to Daniel Muey and all contributors of the File::Copy::Recursive CPAN module.
https://metacpan.org/pod/File::Copy::Recursive
Thanks to [probonopd](https://github.com/probonopd) for his
knowledgeable instructions and patient cooperation
in the preparation and testing of Perl Executing Browser AppImages!
Perl Executing Browser currently can not be packed as an AppImage,
but his knowledge and good will to help others are not forgotten!

## Qt

https://github.com/richmoore/qt-examples/tree/master/sitespecificbrowser
https://github.com/OtterBrowser/otter-browser/blob/master/src/modules/backends/web/qtwebengine/QtWebEnginePage.cpp
https://github.com/OtterBrowser/otter-browser/blob/master/src/modules/backends/web/qtwebengine/QtWebEnginePage.h
https://github.com/NixOS/nixpkgs/issues/16327
https://github.com/annulen/webkit

https://qt-project.org/doc/qt-4.8/qwebhistory.html
https://qt-project.org/doc/qt-4.8/qdir.html
https://qt-project.org/doc/qt-4.8/qfileinfo.html
https://qt-project.org/doc/qt-4.8/qdir.html
https://qt-project.org/doc/qt-4.8/qregexp.html
https://qt-project.org/doc/qt-4.8/qfile.html
https://qt-project.org/doc/qt-4.8/qtextstream.html
https://qt-project.org/doc/qt-4.8/qiodevice.html
https://qt-project.org/doc/qt-4.8/qwebframe.html
https://qt-project.org/doc/qt-4.8/qapplication.html#topLevelWidgets
https://qt-project.org/doc/qt-5.0/qtcore/qsettings.html
https://qt-project.org/doc/qt-5.0/qtcore/qprocess.html
https://qt-project.org/doc/qt-5.0/qtcore/qurl.html
https://qt-project.org/doc/qt-5.0/qtcore/qstring.html
https://qt-project.org/doc/qt-5.0/qtcore/qfile.html
https://qt-project.org/doc/qt-5.0/qtwidgets/qapplication.html
https://qt-project.org/doc/qt-5.0/qtgui/qguiapplication.html
https://qt-project.org/doc/qt-5/qtnetwork-module.html
https://qt-project.org/doc/qt-5/qmake-test-function-reference.html

https://qt-project.org/wiki/How_to_Use_QSettings
https://qt-project.org/wiki/Qt_for_beginners_Signals_and_slots_2

https://qt-project.org/forums/viewthread/8270 (Find length of QString text)
https://qt-project.org/forums/viewthread/6102 (WebView Clear history)
https://qt-project.org/forums/viewthread/4433 (Convert QString into QByteArray as either UTF-8 or Latin1)
https://qt-project.org/forums/viewthread/25533 (#ifdef condition)
https://qt-project.org/forums/viewthread/15487 (How to list foreach from array)
https://qt-project.org/forums/viewthread/8876 (Setting global variable in main())

https://doc.qt.io/archives/4.6/webkit-fancybrowser-mainwindow-cpp.html
https://doc.qt.io/archives/qt-5.5/qwebpage.html#windowCloseRequested
https://doc.qt.io/qt-4.8/qmake-advanced-usage.html
https://doc.qt.io/qt-4.8/qwebframe.html
https://doc.qt.io/qt-4.8/signalsandslots.html
https://doc.qt.io/qt-4.8/qfileinfo.html
https://doc.qt.io/qt-4.8/qwebinspector.html
https://doc.qt.io/qt-4.8/qinputdialog.html
https://doc.qt.io/qt-5/qtglobal.html
https://doc.qt.io/qt-5/qmake-test-function-reference.html#packagesexist-packages
https://doc.qt.io/qt-5/qhash.html
https://doc.qt.io/qt-5/qhash-iterator.html
https://doc.qt.io/qt-5/qdesktopwidget.html
https://doc.qt.io/archives/qt-5.5/qwebview.html
https://doc.qt.io/qt-5/qdir.html#current
https://doc.qt.io/qt-5/qfileinfo.html#isRelative
https://doc.qt.io/qt-5/qtwebenginewidgets-qtwebkitportingguide.html
https://doc.qt.io/qt-5/qwebenginepage.html#runJavaScript
https://doc.qt.io/qt-5/qwebenginepage.html#fullScreenRequested
https://doc.qt.io/qt-5/qwebenginepage.html#windowCloseRequested
https://doc.qt.io/qt-5/qtwebengine-webenginewidgets-simplebrowser-example.html#adding-context-menu-items
https://doc.qt.io/qt-5/qwebenginefullscreenrequest.html
https://doc.qt.io/qt-5/qprocess.html#terminate
https://doc.qt.io/qt-5.11/qtwebengine-debugging.html

https://wiki.qt.io/Qt_Coding_Style
https://wiki.qt.io/Open_Web_Page_in_QWebView

https://forum.qt.io/topic/18879/relative-path-on-qmake-pro-file
https://forum.qt.io/topic/551/get-filename-without-extension
https://forum.qt.io/topic/45982/solved-is-there-a-problem-with-the-following-non-blocking-sleep-function
https://forum.qt.io/topic/3314/qwebelement-set-and-get-attribute
https://www.qtcentre.org/threads/51965-How-to-return-QString-from-function

http://www.qtcentre.org/threads/25880-QWebView-prints-PDF-file-OK-with-QPrintDialog-only
http://www.qtcentre.org/threads/46016-Place-QMessageBox-on-middle-of-screen
http://www.qtcentre.org/threads/17948-QDir-separator%28%29-and-QFileDialog-not-consistent-with-slash-character
http://www.qtcentre.org/threads/31264-How-to-use-QProcess-to-write-multiple-commands-to-external-console-based-program
http://www.qtcentre.org/threads/18146-String-operations-printing-to-stdout
http://www.qtcentre.org/threads/29363-Problem-with-QDir-cdUp()
http://www.qtcentre.org/threads/10661-QByteArray-to-QString
http://www.qtcentre.org/threads/28302-Passing-Command-line-arguments-to-a-Qt-application-in-linux
http://www.qtcentre.org/threads/22298-QMessageBox-Controlling-the-width
http://www.qtcentre.org/threads/29104-QMake-DEFINES
http://www.qtcentre.org/threads/48238-Call-a-JavaScript-function-from-C-using-QtWebkit

https://stackoverflow.com/questions/10666998/qwebkit-display-local-webpage
https://stackoverflow.com/questions/7402576/how-to-get-current-working-directory-in-a-qt-application
https://stackoverflow.com/questions/8026101/correct-way-to-quit-a-qt-program
https://stackoverflow.com/questions/8122094/qtwebkit-printing-issue-no-images-on-printed-page
https://stackoverflow.com/questions/2029272/how-to-declare-a-global-variable-that-could-be-used-in-the-entire-program
https://stackoverflow.com/questions/12571895/save-open-dialog-localization-in-qt
https://stackoverflow.com/questions/6955281/how-to-stop-qhttp-qtwebkit-from-caching-pages
https://stackoverflow.com/questions/3211771/how-to-convert-int-to-qstring
https://stackoverflow.com/questions/17480984/qt-how-do-i-handle-the-event-of-the-user-pressing-the-x-close-button
https://stackoverflow.com/questions/11749262/qt-close-a-running-window-through-code
https://stackoverflow.com/questions/8362506/qwebview-qt-webkit-wont-open-some-ssl-pages-redirects-not-allowed
https://stackoverflow.com/questions/3348711/add-a-define-to-qmake-with-a-value
https://stackoverflow.com/questions/2241808/checking-if-a-folder-exists-and-creating-folders-in-qt-c
https://stackoverflow.com/questions/13111669/yes-no-message-box-using-qmessagebox
https://stackoverflow.com/questions/7228826/how-can-i-convert-qvariant-to-qstring-and-vice-versa-in-qt
https://stackoverflow.com/questions/2580934/how-to-specify-different-debug-release-output-directories-in-qmake-pro-file
https://stackoverflow.com/questions/3348711/add-a-define-to-qmake-with-a-value
https://stackoverflow.com/questions/4515602/how-to-get-executable-name-in-qt
https://stackoverflow.com/questions/2781119/how-to-get-the-current-timestamp-in-qt
https://stackoverflow.com/questions/19505063/qt-javascript-execution-slow-unless-i-log-to-the-console
https://stackoverflow.com/questions/15864689/qmake-pre-build-step-before-any-compilation
https://stackoverflow.com/questions/17480984/qt-how-do-i-handle-the-event-of-the-user-pressing-the-x-close-button
https://stackoverflow.com/questions/19822211/qt-parsing-json-using-qjsondocument-qjsonobject-qjsonarray
https://stackoverflow.com/questions/25254043/is-it-possible-to-compare-ifdef-values-for-conditional-use
https://stackoverflow.com/questions/10701504/command-working-in-terminal-but-not-via-qprocess
https://stackoverflow.com/questions/17680207/qhash-iterator-example-no-match-for-operator
https://stackoverflow.com/questions/23174393/parse-jsonarray
https://stackoverflow.com/questions/24899558/how-to-check-qt-version-to-include-different-header
https://stackoverflow.com/questions/19822211/qt-parsing-json-using-qjsondocument-qjsonobject-qjsonarray
https://stackoverflow.com/questions/2241808/checking-if-a-folder-exists-and-creating-folders-in-qt-c
https://stackoverflow.com/questions/9641807/qdir-mkdir-with-absolutepath

http://www.java2s.com/Code/Cpp/Qt/CheckfileexistanceandfilenamewithQFile.htm
http://webkit.sed.hu/content/disabling-cache
https://unix.stackexchange.com/questions/116254/how-do-i-change-which-version-of-qt-is-used-for-qmake
https://www.developpez.net/forums/d1549582/c-cpp/bibliotheques/qt/moteurs-web/runjavascript-fonction-lambda-plante/
https://forum.qt.io/topic/110568/qwebengine-not-cleaning-up-chromium-processes-and-get-a-warning

## Perl 5

https://perlbrew.pl/
https://github.com/skaji/relocatable-perl
http://strawberryperl.com/

https://perldoc.perl.org/Encode.html
https://perldoc.perl.org/File/Basename.html
https://perldoc.perl.org/File/Path.html

https://metacpan.org/pod/File::Copy::Recursive
https://metacpan.org/pod/Module::ScanDeps

https://www.perl.com/article/37/2013/8/18/Catch-and-Handle-Signals-in-Perl/
## JavaScript

https://www.perlmonks.org/bare/?node_id=768448 "Permanently sort a hash"
https://www.perlmonks.org/?node_id=27443 "Checking to see if a particular Module is installed"
https://www.perlmonks.org/?node_id=982572 "ScanDeps usage"
https://www.w3schools.com/js/
https://www.w3schools.com/jsref/

https://stackoverflow.com/questions/1725097/how-can-i-disable-terminal-polling-for-cpan-used-from-crontab
https://stackoverflow.com/questions/4510550/using-perl-how-do-i-decode-or-create-those-encodings-on-the-web
https://stackoverflow.com/questions/5741101/easy-way-to-print-perl-array-with-a-little-formatting
https://stackoverflow.com/questions/15210532/use-utf8-gives-me-wide-character-in-print
https://stackoverflow.com/questions/787899/how-do-i-use-a-perl-module-from-a-relative-location
https://stackoverflow.com/questions/229357/what-is-the-best-way-in-perl-to-copy-files-into-a-yet-to-be-created-directory-tr
## Bootstrap

https://perlmaven.com/manipulating-perl-arrays
https://perlmaven.com/how-to-sort-a-hash-in-perl
https://perlmaven.com/recursive-subroutines

http://lauraliparulo.altervista.org/first-steps-in-sqlite-and-perl/

## HTML, CSS & JavaScript

https://www.w3schools.com/js/js_loop_for.asp
https://www.w3schools.com/jsref/prop_html_innerhtml.asp
https://www.w3schools.com/jsref/met_form_submit.asp

https://stackoverflow.com/questions/9051200/twitter-bootstrap-dropdown-menu
https://stackoverflow.com/questions/2214066/get-list-of-all-input-objects-using-javascript-without-accessing-a-form-obj
https://stackoverflow.com/questions/8963693/how-to-create-json-string-in-javascript
https://stackoverflow.com/questions/8003089/dynamically-create-and-submit-form
https://stackoverflow.com/questions/6964927/how-to-create-a-form-dynamically-via-javascript
https://stackoverflow.com/questions/16452699/how-to-reset-a-form-using-jquery-with-reset-method
https://stackoverflow.com/questions/3955229/remove-all-child-elements-of-a-dom-node-in-javascript
https://stackoverflow.com/questions/11478324/syntaxerror-unexpected-eof-when-evaluating-javascript-in-ios-uiwebview
https://stackoverflow.com/questions/42053775/getting-error-form-submission-canceled-because-the-form-is-not-connected

http://getbootstrap.com/
http://getbootstrap.com/components/#dropdowns
https://getbootstrap.com/docs/3.3/examples/navbar-fixed-top/

http://bootswatch.com/
http://www.tutorialrepublic.com/twitter-bootstrap-tutorial/bootstrap-dropdowns.php

https://jquery.com/
http://youmightnotneedjquery.com/
https://bootswatch.com/

## Markdown

https://github.com/DavidAnson/markdownlint
https://dlaa.me/markdownlint/

https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
https://github.com/IQAndreas/markdown-licenses

https://stackoverflow.com/questions/6695439/how-to-link-to-a-named-anchor-in-multimarkdown
https://stackoverflow.com/questions/23989232/is-there-a-way-to-represent-a-directory-tree-in-a-github-readme-md
## Icon

https://meta.stackexchange.com/questions/70356/key-stroke-combination-markdown

## Bash

http://tldp.org/LDP/abs/html/fto.html
http://tldp.org/LDP/abs/html/functions.html

https://www.shellcheck.net/

https://stackoverflow.com/questions/13210880/replace-one-substring-for-another-string-in-shell-script
https://stackoverflow.com/questions/4181703/how-to-concatenate-string-variables-in-bash
https://stackoverflow.com/questions/638975/how-do-i-tell-if-a-regular-file-does-not-exist-in-bash
https://stackoverflow.com/questions/10319652/check-if-a-file-is-executable
https://stackoverflow.com/questions/10376206/what-is-the-preferred-bash-shebang
https://stackoverflow.com/questions/192249/how-do-i-parse-command-line-arguments-in-bash

https://unix.stackexchange.com/questions/312280/split-string-by-delimiter-and-get-n-th-element
https://unix.stackexchange.com/questions/12453/how-to-determine-linux-kernel-architecture

https://www.cyberciti.biz/faq/unix-linux-bsd-appleosx-bash-assign-variable-command-output/
https://www.tutorialspoint.com/unix/unix-regular-expressions.htm
https://ryanstutorials.net/bash-scripting-tutorial/bash-functions.php

## AppImage

https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html
https://specifications.freedesktop.org/desktop-entry-spec/1.1/apa.html

## Mac

http://leonid.shevtsov.me/en/how-to-create-icns-icons-for-os-x
https://iconverticons.com/online/

## Google Chrome Unsafe Ports

https://superuser.com/questions/188058/which-ports-are-considered-unsafe-on-chrome

## GitHub

https://github.com/github/linguist#overrides

## Travis CI

https://docs.travis-ci.com/user/reference/xenial/
https://stackoverflow.com/questions/25737062/travis-ci-for-a-qt5-project
http://www.iconarchive.com/show/animal-icons-by-jen/Camel-icon.html
Loading