Собираем
информацию
по крупицам
Проекты / Код

Qt

Быстрое добавление новой записи в MyTetra по глобальной горячей клавише
28-10-2018
16:42:16

Чтобы вызвать диалог создания новой записи, можно выполнить консольную команду MyTetra с опциями "--control --addNoteDialog". Получив такую команду, MyTetra откроет диалог добавления новой записи. Принцип действия полностью аналогичен открытию окна MyTetra по глобальной горячей клавише.

 

Однако, если сделать просто открытие диалога добавления записи, то будет ли такое поведение удобно? Нет, потому что новая запись добавляется в текущей ветке. Нажимая глобальную горячую клавишу, обычно не видно, какая ветка выбрана. Да и во время работы с MyTetra у пользователя открыты все время разные ветки. Поэтому после такого добавления записи пользователь должен будет сразу переместить запись из текущей ветки в нужную ветку, чтобы не наводить в базе бардак. А не все пользователи такие пунктуальные. Поэтому добавление новой записи лучше сделать немного по-другому.

 

Во-первых, надо создать ветку с говорящим названием "Входящие" или "Неразобранные", именно в нее будут добавляться записи по глобальной горячей клавише. Далее нужно узнать ID этой ветки. Для этого можно заглянуть в файл mytetra.xml и найти название ветки по имени (смотреть нужно теги <node>). Если ветка зашифрована, то понять, где находится строка с ее описанием, можно просто по расположению в дереве. Пусть найденный ID будет равен, к примеру, 1540715849a3hrpjk4ix.

 

Далее, в случае Linux, нужно рядом со скриптом mytetra.run сделать скрипт mytetraAddNote.run следующего содержания (для Windows нужно сделать что-то аналогичное в *.bat-файле):

 

 

#!/bin/sh

PROGDIR=$(dirname $(readlink -e $0))
cd $PROGDIR

./mytetra.run --control --openTreeItem 1540715849a3hrpjk4ix
./mytetra.run --control --addNoteDialog

 

 

При запуске, данный скрипт даст вначале команду переключения на ветку "Входящие" (опция --openTreeItem), а затем откроет диалог создания новой записи (опция --addNoteDialog). Если ветка была зашифрована, потребуется, как обычно, ввести пароль.

 

Внимание! В экспериментальной ветка пока есть проблема: если в момент выполнения данного скрипта окно MyTetra было свернуто в трей, то после добавления записи будет происходить сегфолт. Это как-то связано с закрытием модального окна, у которого основное окно свернуто. Пока эта проблема не решена, и чтобы ее обойти, надо первой командой в скрипте дать команду --show.

 

Можно сразу проверить работу скрипта, просто запустив его. Должно появляться окно добавления новой записи. Добавленная запись попадет в ветку "Входящие". Данный скрипт с полным путем к нему надо навесить на нужную комбинацию клавиш, так же, как это делалось для команды открытия окна MyTetra (автор испльзует комбинацию Alt+Ins).

 

Почему нельзя было воспользоваться сцепкой команд, и просто написать для горячей клавиши вот такую команду:

 

 

/home/USER/work/mytetra/mytetra.run -openTreeItem 1540715849a3hrpjk4ix ; /home/USER/work/mytetra/mytetra.run --control --addNoteDialog

 

 

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

 



К списку проектов

Интересное на сайте


Скейтбординг » Самодельный слаломный скейт. Часть 5: Доска в сборе

Итак, чудом найдя все компоненты, я собрал свой скейт. Доска получилась крепкая и очень удобная. Дека жесткая, не "гуляет". Оказалось, что я зря беспо...


Демо на Ассемблере » AeroBall

Размер: 4 Кб Требования: DOS 6.22 Год: 1999   Третье место из трех 8) в номинации 4Kb на демопати Paradox-99. Писано в рамках демогруппы TransMi...


Юмор » ЛОР. Призрак в опере? Нет проблем, обеспечим!

Да! ЛОР снова торт. Если кто еще не знает, 9 октября 2011 года усилиями однозвёздного пользователя bk_ стартовала Гитарная Битва Луноходов.   На...

RSS подписка

Подпишитесь на новости сайта по RSS

Поделиться этой страницей


Статистика


О, смотри-ка какое хорошее место. Дайте два!

Внимание!


На этом сайте разрабатывается программа MyTetra и её родственные проекты. Доступны к просмотру следующие базы знаний:

 

База Xintrea (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)

База Rarrugas (1, 2)

База Balas

База YellowRaven

База Yurons

База Lesnik757

База Shandor

База Sirrichar

База Anatolean

База Аrmagedec

База SorokinRed

База Deadelf79

База Adgaver (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)

База Pipitos1983

База Soxsten

База Silenn

База Shlyapnikova - херомантия и ригидность

База Svoynickname

База Larson227

База Velonski

База BrokeRU

База Mcold

 

Требуют доработки:

 

База Tairesh

База Ivnglkv

База Kolyag87

База Andyk101

База Garik456456

База Harpokrat

База SalexIzyh

База Duwaz

База RuDennn

База Manakaden

База Vitvrn

База Fanrok

 

Подробности на странице MyTetra Share.

 WebHamster.Ru
 Домик любопытного хомячка
Яндекс индекс цитирования
Почтовый ящик