Author Topic: GUI настроек  (Read 11286 times)

0 Members and 2 Guests are viewing this topic.

Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
Re: GUI настроек
« Reply #15 on: November 06, 2016, 05:16:11 PM »
Написал GUI настроек для кликера в которое включены все доступные настройки.
Правда без горячих клавиш. Не осилил я их пока.  ::)
Программа написана на AutoIt3 3.3.14.2
Файл Clickermann settings.exe нужно положить в папку кликера "Clickermann\" и запускать от туда.

По поводу горячих клавиш. Орейвен, а можно как-нибудь повесить хоткей в фоновой программульке только для основной, но по-моему самой важной функции Клмна -- "Перечитать файл скрипта с диска"? То есть по идее логика должна быть такой: резидентная программка сидит скажем в трее и по нажатию на ОДНУ (желательно одну либо же накрайняк две настраиваемые) кнопку она просто обновляет с диска, загружает в Кликерманн обновлённый скрипт (читай: открыть последний скрипт из списка недавних скриптов Клмна) и этот скрипт уже сразу можно запустить на выполнение, потому что при доводке скрипта до идеале приходится его многократно изменять во внешнем редакторе и потом тратить по нескольку ненужных кликов на то, чтоб открыть Клмн, открыть список ресентов, выбрать последний файл и опять свернуть Клмн. У меня проблема с обновлением скрипта осложняется на порядок ещё и тем, что мышка на компе сломалась (кликает дважды или трижды вместо одного раза, чем не хило осложняет работу постоянно, а приобрести новую сейчас нет возможности), так что подобный хоткей думаю нормально бы помог многим скрипт-мейкерам в будущем (надо бы ещё разные утилитки к Клмну собирать в одну подборку).

Также не вижу в утилитке настроек из файлов data/config.ini + config_editor.ini, их тоже можно было бы парсить и выводить двумя отдельными вкладками в виде ГУИшных настроек, имхо самые нужные оттуда настройки (при первоначальном запуске кликера): only_tray (ставлю параметр в ноль), history_size (увеличиваю по вкусу больше стандартных 5), delay_between_lines (в ноль) и smart_delay, а также этот долбанный aim_speed, который из-за глюка не восстанавливается в стандартный при выходе из редактора без закрытия лупы (зря его автор ваще трогает без спроса). Не буду против и добавлений остальных конфигов их этих двух файлов.

Остаётся под вопросом, к каком из кликеров будут применяться параметры, если (вдруг!) окажутся запущены сразу несколько копий Клмна (мож, ввести поле выбора файла, в котором можно будет ввести путь к нужной копии?).
« Last Edit: November 06, 2016, 05:31:43 PM by Cleoss »

Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
Re: GUI настроек
« Reply #16 on: November 06, 2016, 08:08:55 PM »
Ой, стоп, присмотрелся к скринам внимательнее и обнаружил там некоторые ожидаемые функции)) Просто они там подписаны немного непривычно, по-русски.

ПС. Всмотрелся и нашёл оказывается все нужные настройки из текстовых файликов. Орейвен респектос! Не хватает теперь ещё настройки, чтоб игнорировались при записи команды делеев, а то долго их потом сидеть и удалять вручную. Вы там что, на Гитхаб выложили и вместе с Винтом дорабатываете ау-код?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: GUI настроек
« Reply #17 on: November 06, 2016, 09:50:10 PM »
Остаётся под вопросом, к каком из кликеров будут применяться параметры, если (вдруг!) окажутся запущены сразу несколько копий Клмна (мож, ввести поле выбора файла, в котором можно будет ввести путь к нужной копии?).

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

Я добавил туда все доступные настройки кроме горячих клавиш.
Некоторые пункты при наведении мыши выдают подсказку что они из себя представляют.

Не хватает теперь ещё настройки, чтоб игнорировались при записи команды делеев, а то долго их потом сидеть и удалять вручную.

Пиши скрипт в ручную, это куда проще чем пытаться разобрать запись.


Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: GUI настроек
« Reply #18 on: November 08, 2016, 08:45:07 PM »
Обновил программку, теперь так же доступны горячие клавиши.

Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
Re: GUI настроек
« Reply #19 on: November 22, 2016, 01:08:18 PM »
У меня две копии кликера, с разными настройками с разных компов и соответственно с различными хоткеями у каждой копии. Скопировал программу эту в обе папки с клмн, но при этом обе программки показывают одинаковые хоткеи, хоткеи одной копии, не учитывая хоткеи другой.

Отсюда вопрос: это только хоткеи программка читает из реестра (куда их очевидно должен писать клмн, раз уж в обоих копиях одинаковые хоткеи) или некоторые/все настройки тоже считываются из реестра (или какого-то другого общего хранилища)?

Не могу зафиксировать программку поверх других окон своими стандартными средствами, как это легко делаю с другими окнами. Также окошко программы каждый раз забывает о своём последнем местоположении.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: GUI настроек
« Reply #20 on: November 22, 2016, 04:05:29 PM »
Ты что-то напутал. Программа работает только в директории в которой находится. И берёт и редактирует файлы из поддиректории \data

Хоткеи не хранятся в реестре, они хранятся в файле config.ini

Code: [Select]
[hotkey]
start=84
stop=16468
record=32850
ins1=32849
cwnd=32855

В реестре хранится только ассоциация файлов cms.

Проверил две копии. Всё редактируется раздельно, раздельными настройщиками. Всё помнит.

Запоминание местоположения не реализовано. Его можно сделать, но нет смысла для такой мелкой утилиты, т.к. местоположение нужно хранить или в реестре или в дополнительном файле. Зачем это? Лишний файл ini будет болтаться... а с реестром могут возникнуть проблемы из-за доступа к нему в параноидальных режимах защиты.

Используемая мной утилита всё зафиксировала поверх. Проблем не возникло.

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


Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
Re: GUI настроек
« Reply #21 on: November 23, 2016, 12:54:03 AM »
Не знаю, то ли Винда у мя заколдованная какая, но зараза, вот все программы у меня действуют не так, как у всех остальных.
Образ ОСки не становится в виртуалку (ни в VMware, ни в VirtualBox), кликер не так кликает/записывает/привязывается, вот ещё и скомпиленный автоит чудит.

Что за уличная магия и почему я такой рак? Я мозгом понимаю, что настройки в ини хранятся, но две копии показывают упорно одни и те же хоткеи, втф?

>> Используемая мной утилита всё зафиксировала поверх. Проблем не возникло.
То есть она переписывает сразу ВСЕ параметры? и именно теми значениями, которые вбиты в формы, а не дефолтными?

>> Я совсем не понимаю зачем может понадобиться частое редактирование настроек? Я их редактирую один раз, после смены версии. Всё.
Да собсна, по большому счёту так и есть (часто редактировать не надо), но раз есть утилитка, то нужно ж её погонять и помозговать, как её можно допилить до +- идеала и тем упростить работу мб сотням людей. Вот я к примеру не разу не пользовался автоитом (страшный он))), но смотрел исходник программки, и думаю, что хотелось бы иметь для себя перекомпиленную версию утилиты именно с теми дефолтными параметрами, которые выставлены у меня (и которые МНЕ нра), а не которые идут с Клмном по умолчанию. Так что хотелось бы услышать пару слов о том, как по-быстрому скомпилить свою версию утилитки (с изменёнными параметрами) в автоите, при этом самыми большими вопросами для меня являются совместимость разных версий и подключение разных либ (в т. ч. все ли они не включены в комплект поставки автоита и так же все ли их версии можно брать, особенно если автоит взят не самый свежий):
[spoiler=Подключённые к проекту утилиты либы (не наю, какие из них уже внедрены и ваще внедрены ли? Хоть одна из них?)]
Code: [Select]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiComboBox.au3>
#include <File.au3>
#include <FontConstants.au3>
#include <WinAPIGdi.au3>
#include <Misc.au3>
#include <Array.au3>
#include <UserInput.au3>
#include <EditConstants.au3>
[/spoiler]
То есть все эти либы придётся отдельно искать на форуме автоита и скачивать, чтобы включить в утилиту и успешно скомпилировать её или мож (но маловероятно) они подключаются сами из нэта на манер расширений/пакетов Linux/Npm/gc?

>> Запоминание местоположения не реализовано.
>> Его можно сделать, но нет смысла для такой мелкой утилиты,
>> т. к. местоположение нужно хранить или в реестре или в дополнительном файле.
>> Зачем это? Лишний файл ini будет болтаться...
Почему отдельный ини? Можно прямо в том же конфиге хранить, но в другой секции.
И с Клмном это подозреваю, что не будет никак пересекаться и тем более влиять на него. Или я не прав?
Что, Клмн дурной что ли, чтобы лезть в секцию, которая в нём не задана, и читать параметры, которые в нём не прописаны?!?
Пусть все допконфиги хранятся в том же ини-файлике, что и сеттинги Клмна, аллилуйя!

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: GUI настроек
« Reply #22 on: November 23, 2016, 06:28:45 AM »
Нет, эти инклуды поставляются в комплекте программы. То что я скачивал отдельно я приложил в архив. Достаточно скачать ту версию которую я указал в первом посте и все должно работать.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: GUI настроек
« Reply #23 on: November 23, 2016, 11:40:21 AM »
Не знаю, то ли Винда у мя заколдованная какая, но зараза, вот все программы у меня действуют не так, как у всех остальных.

Я заметил  :D

Так что хотелось бы услышать пару слов о том, как по-быстрому скомпилить свою версию утилитки (с изменёнными параметрами) в автоите, при этом самыми большими вопросами для меня являются совместимость разных версий и подключение разных либ (в т. ч. все ли они не включены в комплект поставки автоита и так же все ли их версии можно брать, особенно если автоит взят не самый свежий)

Автоит должен быть тот, под который делалось - AutoIt3 3.3.14.2.
У меня, например 3.3.8.1 и нет библиотеки WinAPIGdi.au3

Почему отдельный ини? Можно прямо в том же конфиге хранить, но в другой секции.
И с Клмном это подозреваю, что не будет никак пересекаться и тем более влиять на него. Или я не прав?
Может это так, а может и нет. Смотря как реализовано.
Никогда нельзя надеяться что сделано так, как ты подумал в первый момент.
Система закрытая. ini не публичный. Вполне может быть что чтение всех параметров сделано так:
- получаем список всех секций из ini.
- в цикле обходим этот список секций и сопоставляем группу параметров согласно словарю...

Так меньше кода выйдет.
Так хоть и компактней, но не очень хорошо. И в нашем случае не так, что легко проверяется.
Но никогда не надейся что код который ты не видишь реализован так, как ты думаешь.

и думаю, что хотелось бы иметь для себя перекомпиленную версию утилиты именно с теми дефолтными параметрами, которые выставлены у меня (и которые МНЕ нра), а не которые идут с Клмном по умолчанию
:o Так утилита читает текущие настройки. Параметры по умолчанию там присваиваются только при отсутствии нужной настройки.


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: GUI настроек
« Reply #24 on: November 23, 2016, 11:41:54 AM »
Обновил программку, теперь так же доступны горячие клавиши.
Я бы последнюю портянку переделал
Code: [Select]
Func _KeyRep($iKeyIn)
    Local $key_name = ''
    Local $aKey[59][2] = [['8','BACKSPACE'],['9','TAB'],['13','ENTER'],['16','SHIFT'],['17','CTRL'],['18','ALT'],['19','PAUSE'],['20','CAPSLOCK'],['27','ESC'], _
        ['32','SPACE'],['33','PAGEUP'],['35','END'],['36','HOME'],['37','LEFT'],['38','UP'],['39','RIGHT'],['40','DOWN'],['45','INSERT'],['46','DELETE'],['91','LWIN'],['92','RWIN'], _
        ['96','NumPad 0'],['97','NumPad 1'],['98','NumPad 2'],['99','NumPad 3'],['100','NumPad 4'],['101','NumPad 5'],['102','NumPad 6'],['103','NumPad 7'],['104','NumPad 8'],['105','NumPad 9'],['106','NumPad *'],['107','NumPad +'],['109','NumPad -'],['110','NumPad .'],['111','NumPad /'], _
        ['112','F1'],['113','F2'],['114','F3'],['115','F4'],['116','F5'],['117','F6'],['118','F7'],['119','F8'],['120','F9'],['121','F10'],['122','F11'],['123','F12'], _
        ['186',';'],['187','='],['188',','],['189','-'],['190','.'],['191','/'],['192','~'],['219','['],['220','\'],['221',']'],['222',"'"]]

    Switch $iKeyIn
        Case 48 To 57, 65 To 90
            $key_name = Chr($iKeyIn)
        Case Else
            For $ik = 0 To UBound($aKey) - 1
                If Int($aKey[$ik][0]) = $iKeyIn Then
                    $key_name = $aKey[$ik][1]
                    ExitLoop
                EndIf
            Next
    EndSwitch
    Return $key_name
EndFunc   ;==>_KeyRep


Cleoss

  • Активный участник
  • ***
  • Posts: 260
  • Автоматизируй это!
    • View Profile
Re: GUI настроек
« Reply #25 on: November 23, 2016, 06:31:34 PM »
У меня, например 3.3.8.1 и нет библиотеки WinAPIGdi.au3
А почему нет либы? Потому что она вышла в более поздней версии АУ или всё-таки она внешняя?
И библиотеки, они ж наверно тоже с течением времени изменяются и наверно достаточно часто?
И что, там на сайте хранятся разные версии либ под разные версии ау?
И мне вот непонятно, там же как я понял либы пишутся многие сообществом, а не разрабами. Так как же их добавляют в сборку, это безопасно? и какой критерий добавления в сборку? И много ли там либ ваще в комплекте? Ух, вопросы-вопросы..

Может это так, а может и нет. Смотря как реализовано.
Никогда нельзя надеяться что сделано так, как ты подумал в первый момент.
Система закрытая. ini не публичный. Вполне может быть что чтение всех параметров сделано так:
- получаем список всех секций из ini.
- в цикле обходим этот список секций и сопоставляем группу параметров согласно словарю...
Да, возможно, всё и не так, как может показаться впервые, но ведь это станет видно сразу при изменении/добавлении секций/параметров? Для этого не надо и программу писать, просто протестировать, а если буит работать, то.. оставить как есть)) Можно будет пользоваться, пока что-то не пойдёт не так.
В противном случае какая проблема в том, если утилита будет создавать свой ини в папке Клмна? Да, где-то, на каких-то уникальных компах, не будет на это у юзера привилегий, но на то он и юзер, чтоб хоть иногда, хоть при установке включать моск.

:o Так утилита читает текущие настройки. Параметры по умолчанию там присваиваются только при отсутствии нужной настройки.
Нет, ты не понял. Охота такую феню себе, чтоб допустим после переустановки системы можно было бы просто запустить эту утилитку (изменённую, с индивидуальными настройками), чтобы там в настройках не копаться и она б переписала дефолтные настройки моими фаворитами.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: GUI настроек
« Reply #26 on: November 24, 2016, 07:29:57 AM »
У меня, например 3.3.8.1 и нет библиотеки WinAPIGdi.au3
А почему нет либы? Потому что она вышла в более поздней версии АУ или всё-таки она внешняя?
И библиотеки, они ж наверно тоже с течением времени изменяются и наверно достаточно часто?
И что, там на сайте хранятся разные версии либ под разные версии ау?
И мне вот непонятно, там же как я понял либы пишутся многие сообществом, а не разрабами. Так как же их добавляют в сборку, это безопасно? и какой критерий добавления в сборку? И много ли там либ ваще в комплекте? Ух, вопросы-вопросы..

Последняя версия AutoIt както поменялась в сравнении с предыдущими. При желании можно скачать более старую версию, они так же доступны.
Все эти дополнительные скрипты находятся в папке Include.

Нет, ты не понял. Охота такую феню себе, чтоб допустим после переустановки системы можно было бы просто запустить эту утилитку (изменённую, с индивидуальными настройками), чтобы там в настройках не копаться и она б переписала дефолтные настройки моими фаворитами.

В кликере мало настроек которые можно изменить потратив 10 сек и забыть об этом на длительное время.
Не говоря о том уже что кликер портативен и разумный человек бекапит все необходимое при переустановки винды. Достаточно скопировать папку кликера в которой находится папка твоих проектов, и переноси её куда угодно, все настройки переедут вместе с кликером.