C++ QMake HTML CSS PHP Shell
Pull request Compare This branch is 305 commits ahead, 386 commits behind xintrea:experimental.
Latest commit ae02257 Jan 19, 2017 @beimprovised update WebView *TabWidget::newTab(boost::intrusive_ptr<RecordIndex> r…
…ecord_index, bool make_current)
Failed to load latest commit information.
android configuration update Nov 20, 2016
bin configuration update Nov 20, 2016
desktop UI update Jul 8, 2016
doc UI update details Jun 14, 2016
src update WebView *TabWidget::newTab(boost::intrusive_ptr<RecordIndex> r… Jan 19, 2017
README.md update README.md Nov 18, 2016
adb_logcat.sh - Исправления для возможности компиляции в Qt 4.8.x Dec 19, 2014
history.txt update description Oct 25, 2015
mytetra.spec First commit Jul 14, 2012
photorec.ses record webpage mapping Dec 7, 2015
readme.txt - Версия 1.32.6 Jan 5, 2014


mytetra_webengine == mytetra webengine == MyTetra WebEngine

A knowledge management system equipped with an embedded web browser derived from Qt::WebEngine (Chromium-based). A lightweight browser embedded in a note management application provides an easy way to combine tabs, bookmarks and history management, as well as internal and external search together.

Yes, it is a lightweight web browser. But it's not just a browser.

The next step, I aim to append some real-time collaborative editing functions.

Should you need more functions, feel free to contact me: hughvonyoung@gmail.com

How to remote synchronize mytetra_webengine

Currently I choose Dropbox

Move files to Dropbox:

rsync -n -avhSDHAX  --progress --delete --ignore-errors --force --stats "./bin/" "~/dropbox/knowledge\ management/."

After that, change settings from contextmenu: Main Menu: Tools: Main Preferences: Main: "Data directory" and "Trash directory". Point them to new "data" and "trash" folders.

How to build mytetra_webengine

1 Build on Linux

Let's say the directory of your current project is named "working":

        |____verdigris (created by or synchronized with git) (does not needed for Qt 5.7)
        |       |____src
        |____knowledge management (name is whatever)
            |____mytetra_webengine (created by or synchronized with git)

1.1 Install C++ Boost library (for boost::intrusive_ptr, boost::MPL, and some others. I installed it from package manager)

1.2 Install verdigris (for remove qt::moc in Qt 5.6. Two header-only files.)

    git clone https://github.com/woboq/verdigris.git

1.3 Download and install Qt 5.7

    wget http://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run
  • Run the installation. Default location for administrator installation (hereafter called "path-to-qt-installation"):

but it's not a must

  • Environment in ~/.profile (~/.bash_profile or ~/.bashrc)

    export QT5DIR

    if ! echo ${PATH} | /bin/grep -q $QT5DIR/bin ; then









  • Do not recommend to mix it up with system installation of Qt

1.4 Clone the repo to your workbench

    git clone https://github.com/beimprovised/mytetra_webengine.git

1.5 Compile

    /path-to-qt-installation/gcc_64/bin/qmake mytetra_webengine.pro

    make all

    sudo make install
  • Or via GUI (Compile the Qt project file with Qt-Creator which comes with Qt 5.7): Open "mytetra_webengine.pro" under mytetra_webengine in qtcreator "Configure" the project in qtcreator (no additional requirements) Build it.

mytetra_webengine is forked from MyTetra

ENG: Central source repository for MyTetra development. MyTetra official english page: http://webhamster.ru/site/page/index/articles/projectcode/138

RUS: Основной репозитарий исходников для разработки MyTetra. Официальная русскоязычная страница программы MyTetra: http://webhamster.ru/site/page/index/articles/projectcode/105

Agreement on the coding (registration code)

When writing code to be guided by the following agreements:

  • Source file encoding: UTF-8;
  • Comments in the code allowed the Russian and English languages;
  • Tab prohibited padding spaces are made;
  • Margin - 2 spaces;
  • Comments must have the same indentation that of the code;
  • The name of the file with the implementation of the class is based on the principle ClassName.cpp/classname.cxx;
  • The name of the file with the title of class is based on the principle ClassName.hxx/classname.hxx;
  • The name of the class is based on the principle ClassName;
  • The name of the method is based on the principle method_name;
  • The name of the variables is based on the principle _parameter_name;
  • The opening "{" and closing bracket "}" should be on separate lines. It is unacceptable to place an opening bracket in the line for (), if (), etc .;
  • Each newly created method should contain a comment that describes what the method does. So it is desirable to describe the purpose of the method parameters;
  • The header class, after the section is necessary in #include class assignment to write comments.
  • Each header file must have the following structure:
    \#ifndef _CLIPBBRANCH_H_

    \#define _CLIPBBRANCH_H_


    \#endif // _CLIPBBRANCH_H_
  • Always use the classes, and classes instead of Qt's containers and containers STL;
  • The program is designed as a cross-platform MyTetra Qt-only application. MyTetra program should not depend on third-party libraries that are not part of Qt. If you need to use a third-party library of its source code to the project.

Branches at GIT

The system Git created two main branches.

For MyTetra

  • MyTetra - the main branch with the latest stable release;
  • Experimental - branch to develop.

For mytetra_webengine:

Besides these two branches have been established in other branches for the implementation of a functional. Upon completion of the changes flow into the branch experimental. After stabilization of the changes in the experimental, the changes flow into the master and release is issued.

Deciding to connect to the development MyTetra, please use the experimental/develop branch for the current code.