Сборка Qt Virtual Keyboard и добавление русской раскладки

Qt Virtual Keyboard Русская раскладка

Qt Virtual Keyboard — это библиотека предоставляющая виртуальную экранную клавиатуру. Она входит в библиотеку Qt начиная с Qt 5.7. Точнее, она и раньше входила, но была доступна только в коммерческой версии.

По умолчанию клавиатура из официальной сборки Qt поддерживает только английскую раскладку. Если нужны раскладки на других языках, то проект Qt Virtual Keyboard нужно пересобрать.

Далее приводится инструкция по сборке Qt Virtual Keyboard и добавлению русской раскладки в Линукс. Все действия выполняются в консоле. Для Виндовс инструкция не приводится, но она похожа.

Библиотека Qt должна быть установлена вместе с исходным кодом. Для этого при установке нужно отменить пункт Sources.

Установка исходного кода Qt

Создадим папку для сборки и перейдем в нее.

mkdir /tmp/build-qtvirtkb
cd /tmp/build-qtvirtkb

Создадим переменную, содержащую путь к папке, в которой установлен Qt.

QTDIR=/opt/Qt5.9.1/5.9.1

Переменная нужна только для того, чтобы далее не прописывать полные пути.

Сконфигурируем проект Qt Virtual Keyboard с помощью qmake.

$QTDIR/gcc_64/bin/qmake "CONFIG += lang-en lang-ru" $QTDIR/Src/qtvirtualkeyboard
 

Языки раскладок задаются в строке "CONFIG += lang-en lang-ru". Таким образом клавиатура будет поддерживать английскую и русскую раскладки. Полный список языков приведен в официальной документации. Если указать"CONFIG += lang-all", то клавиатура будет поддерживать все возможные языки.

Соберем проект с помощью make.

make

Сборка занимает некоторое время.

Следующая команда установит новую сборку. Нужно учесть, что будут внесены изменения в официальную сборку Qt. Она заменит файлы клавиатуры на те, которые получены во время новой сборки. Предыдущие файлы невозможно будет восстановить.

sudo make install

Готово. Теперь в клавиатуре будет русская раскладка.

Если нужно изменить раскладки, то нужно пересобрать проект следующими командами.

make distclean
$QTDIR/gcc_64/bin/qmake "CONFIG += lang-all" $QTDIR/Src/qtvirtualkeyboard
make
sudo make install

Первая команда нужна, чтобы очистить сборку.

Реклама

Внесение изменений в программу Wireshark

wireshark

Репозиторий исходного кода программы Wireshark расположен по адресу https://code.wireshark.org/review.

  1. Клонируем репозиторий следующей командой.
    git clone https://code.wireshark.org/review/wireshark
  2. Вносим какое-нибудь изменение в код.
  3. В папке проекта собираем программу следующими командами.
    ./autogen.sh
    ./configure
    make
  4. ./configure может выдать ошибку при неудовлетворенной зависимости и завершиться. Удовлетворяем зависимость и снова запускаем.
  5. Запускаем программу следующей командой.
    ./wireshark
  6. Проверяем, что внесенные изменения работают.
  7. Регистрируемся на сайте репозитория.
  8. В папке проекта добавляем в файл .git/config следующие строчки.
    [gerrit]
        createchangeid = true
  9. Делаем коммит и убеждаемся, что в конец комментария коммита автоматически вставилась строчка
    Change-Id: Icdd39166059c080e7844968219f2a8f387c587a6
    только с другим кодом.
  10. В настройках на сайте репозитория генерируем пароль.
    code.wireshark.org settings HTTP password
  11. Отправляем изменения в удаленный репозиторий следующей командой.
    git push origin HEAD:refs/for/master
  12. При этом вводим логин и пароль, который сгенерировали.
  13. Если все прошло успешно, то ваш коммит появится в списке коммитов ожидающих ревью. Остается только дождаться утверждения коммита.

Ссылки

Публикация проекта в PyPI

PyPI — это хранилище пакетов Python.

Регистрируемся на сайте PyPI и на TestPyPI. Поле PGP Key ID заполнять необязательно. На TestPyPI регистрироваться не обязательно, это хранилище нужно только для тренировки, перед тем как опубликовать пакет в PyPI.

В домашней папке пользователя создаем файл .pypirc. Точка в начале имени файла обязательна. Этот файл нужен программе twine, которая выкладывает пакеты. О ней пойдет речь позже.

Добавляем в файл следующее содержимое.

[distutils]
index-servers =
    pypi
    testpypi

[pypi]
repository = https://pypi.python.org/pypi
username = Логин
password = Пароль

[testpypi]
repository = https://testpypi.python.org/pypi
username = Логин
password = Пароль

Вместо Логин и  Пароль указываем логин и пароль, использованные при регистрации на сайтах PyPI и TestPyPI.

Допустим проект называется example, тогда структура файлов и папок проекта должна выглядеть следующим образом.

  • example
    • example
      • __init__.py
      • foo.py
    • LICENSE.txt
    • MANIFEST.in
    • README.rst
    • setup.cfg
    • setup.py

Для большей наглядности приведу изображение.

pypi-dirs-and-files.png

Примечание: для проекта следует выбрать уникальное имя, которого нет в хранилище.

Для публикации проекта нужно заполнить файл setup.py, все остальные файлы могут быть пустыми.

Файл setup.py следует заполнить следующим образом.

from setuptools import setup, find_packages

setup(
    name='example',
    version='0.0.1',
    description='Короткое описание',
    packages=find_packages(),
    author='Имя автора',
    author_email='Почта@автора',
    url='http://Сайт проекта',
)

В файле лучше использовать только латиницу.

Чтобы собрать пакет, в папке, где содержится файл setup.py (папке проекта), выполняем следующую команду .

python setup.py sdist

После этого в папке проекта появятся папки dist и example.egg-info.

pypi-dirs-and-files-after-build.png

Устанавливаем программу twine, которая позволит разместить пакет в хранилище, следующей командой.

pip install twine

Зарегистрируем пакет в тестовом хранилище TestPyPI следующей командой.

twine register -r testpypi dist/example-0.0.1.tar.gz

С помощью опции -r задается хранилище, которое было указано в файле .pypirc.

Загрузим пакет в хранилище следующей командой.

twine upload -r testpypi dist/example-0.0.1.tar.gz

Пакет появится в списке пакетов на сайте хранилища.

testpypi-your-packages.png

За более подробной информацией следует обратится к официальному руководству.

Автоматическое резервное копирование базы данных в Odoo 9.0

В Odoo можно установить и настроить дополнительное приложение, которое будет автоматически создавать копии базы данных.

Для начала лучше сделать резервную копию базы данных вручную. Для этого выйдем из учетной записи, перейдем в Управление базами данных и нажмем Backup.screenshot_20161121_185339

Эта же страница позволяет восстановить резервную копию с помощью кнопки Restore Database.

Читать далее Автоматическое резервное копирование базы данных в Odoo 9.0

Локализация (перевод) программ на Qt

qt_logo_2016-svg

Локализация — это адаптация программы к культуре какой-либо страны, в частности перевод пользовательского интерфейса.

В Qt есть инструменты для создания мультиязычной программы. Qt позволяет автоматически отобразить интерфейс программы на языке операционной системы, либо сделать так, чтобы пользователь мог выбрать язык интерфейса.

Далее представлена пошаговая инструкция локализации программы. С помощью инструкции достигается максимальная автоматизированность сборки и простота развертывания программы.

Читать далее Локализация (перевод) программ на Qt

Установка дополнительных приложений в Odoo 9.0

odoo_official_logo

Odoo — это программа, которая помогает в управлении предприятием.

Odoo позволяет устанавливать приложения, которые расширяют ее функционал.

Кроме приложений, которые идут в установщике Odoo, есть приложения, которые можно скачать из магазина приложений. Есть платные и бесплатные приложения. Приложений большое количество, на 9 октября 2016 года насчитывается 1072 бесплатных приложения для версии 9.0.

Установим приложение, которое делает автоматические резервные копии базы данных. Для этого выполним следующие действия.

Читать далее Установка дополнительных приложений в Odoo 9.0

Установка Protel 99SE в Ubuntu 16.04 (AMD64)

Wine Protel 99SE SP6

Protel 99SE — это старая программа для разработки печатных плат.

В статье представлена инструкция по установке Protel 99SE с сервис паком SP6 на Ubuntu 16.04 (AMD64).

Первые два действия выполняются в командной строке.

  1. Устанавливаем Wine:
    sudo apt-get install wine
    
  2. Устанавливаем компоненты Windows с помощью winetricks:
    winetricks corefonts mdac28 jet40
    
  3. Устанавливаем Protel 99SE и SP6.
  4. Запускаем Protel с помощью ярлыка на рабочем столе или открываем файл проекта *.ddb двойным кликом.

Читать далее Установка Protel 99SE в Ubuntu 16.04 (AMD64)

Сборка FreeCAD в Ubuntu 16.04

FreeCAD — открытая САПР для проектирования в 3D.

Ниже представлена инструкция для сборки этой программы в Ubuntu. Если вы просто хотите пользоваться программой, то вам больше подойдет готовая стабильная сборка.

Инструкция проверена в виртуальной машине на свежеустановленной и обновленной Ubuntu 16.04.1 (AMD64) на момент написания статьи.

Все действия выполняются в терминале. Некоторые этапы могут длится долго, очень долго.

  1. Установить Git:
    sudo apt-get install git
    
  2. Скачать исходный код:
    git clone https://github.com/FreeCAD/FreeCAD
    
  3. Перейти в папку FreeCAD:
    cd FreeCAD
    
  4. Разрешить зависимости:
    sudo apt-get install build-essential cmake python python-matplotlib libtool libcoin80-dev libsoqt4-dev libxerces-c-dev libboost-dev libboost-filesystem-dev libboost-regex-dev libboost-program-options-dev libboost-signals-dev libboost-thread-dev libboost-python-dev libqt4-dev libqt4-opengl-dev qt4-dev-tools python-dev python-pyside pyside-tools liboce*-dev oce-draw libeigen3-dev libqtwebkit-dev libshiboken-dev libpyside-dev libode-dev swig libzipios++-dev libfreetype6 libfreetype6-dev libsimage-dev checkinstall python-pivy python-qt4 doxygen libspnav-dev libvtk6* libmedc-dev libproj-dev
    
  5. Настроить сборку:
    cmake -DFREECAD_USE_EXTERNAL_PIVY=1 -DCMAKE_BUILD_TYPE=Release .
    
  6. Собрать:
    make
    
  7. Запустить FreeCAD:
    ./bin/FreeCAD
    

Можно считать, что у вас получилось, если после последней команды вы увидите в терминале:

$ ./bin/FreeCAD
FreeCAD 0.17, Libs: 0.17R8048 (Git)
© Juergen Riegel, Werner Mayer, Yorik van Havre 2001-2015
  #####                 ####  ###   ####  
  #                    #      # #   #   # 
  #     ##  #### ####  #     #   #  #   # 
  ####  # # #  # #  #  #     #####  #   # 
  #     #   #### ####  #    #     # #   # 
  #     #   #    #     #    #     # #   #  ##  ##  ##
  #     #   #### ####   ### #     # ####   ##  ##  ##

Настройка Zoiper на компьютере для АТС Zadarma

Сервис Задарма позволяет создать виртуальную АТС на основе SIP-телефонии.

Программа Зойпер — это SIP-клиент, который выступает в качестве телефонного аппарата для этой АТС.

На сайте Задарма уже есть инструкция по настройке, но там можно запутаться, потому что настройка АТС только в самом конце и она не полная.

Читать далее Настройка Zoiper на компьютере для АТС Zadarma

Настройка Zoiper на Андройде для использования внутреннего номера АТС Zadarma

Сервис Задарма позволяет создать виртуальную АТС на основе SIP-телефонии.

Программа Зойпер — это SIP-клиент, который выступает в качестве телефонного аппарата для этой АТС.

На сайте Задарма уже есть инструкция по настройке, но можно сделать лучше.

Красной меткой будут указаны места, где надо нажимать.

  1. Для начала установим Зойпер из Плеймаркета.
  2. Запустим Зойпер и выберем «Настройки».
    Screenshot_2016-01-23-20-05-07
  3. Выберем «Учетные записи».
    Screenshot_2016-01-23-20-05-21
  4. Выберем «Добавить учетную запись».
    Screenshot_2016-01-23-20-06-01
  5. Нас спрашивают: «У вас уже есть аккаунт (имя пользователя и пароль)?». Поскольку у нас уже есть номер на Задарма, мы отвечаем «Да».
    Screenshot_2016-01-23-20-06-30
  6. Дальше нам предлагают либо выбрать провайдера, либо настроить вручную. Выбираем настройку вручную (Manual configuration).
    Screenshot_2016-01-23-20-06-45
  7. Выбираем тип учетной записи SIP.
    Screenshot_2016-01-23-20-07-56
  8. Перед нами пустая учетная запись, здесь надо заполнить 6 полей.
    Screenshot_2016-01-23-20-08-18
  9. Имя учетной записи может быть произвольным например «Задарма». Требуется настроить учетную запись согласно настройкам номера на АТС и нажать «Сохранить».
    Логин и пароль на задарма
    Screenshot_2016-01-23-20-11-55
  10. Если все настроено верно, и регистрация на сервере прошла успешно, то мы увидим надпись «Учетная запись готова».
    Screenshot_2016-01-23-20-12-13.png
  11. Перейдя к номеронабирателю (Dialer), мы увидим надпись «Задарма готов». Теперь можно звонить.
    Screenshot_2016-01-23-20-14-00.png