Мое баловство со статусами и не только

Больше
13 года 10 мес. назад - 11 года 3 мес. назад #1 от cy6
Данные вещи писала лично для себя, но может кому пригодятся, или просто будет интересно.

Итак,

Мод установки статусов c6lab.org/files/StatusMod13_alpha.rar
Текущая версия: 1.0.0.3 от 29.04.2011 14:41

Альфа версия! Сделана полная прорисовка в стиле RnQ, в соответствии с текущей темой. Проверена только с 1116 (предполагается совместимость со всеми unicode версиями). Поддерживаются любые неупакованные темы, а также упакованные Zip (.zip .rtz).

Файл нужно распаковать в папку Plugins вашей крысы, вот собственно и все! Любуемся на модифицированное меню статусов. :)
Если очень любопытно и не лень, то можно зайти в настройки крысы, на вкладку плагины, и нажать на кнопку "Свойства", и полюбоваться на эбаут бокс (окно о программе). :silly:

Для тестов вот, версия с логами: c6lab.org/files/StatusMod13_with_log.rar
Лог создается в корневой папке крысы, пишется туда о процессе распаковки и полученные значения темы.

Написано на чистом C++ & WinAPI под VS2008.
Код взлома меню Delphi мой, идея полностью моя. Гарантированно поддерживается добавление пунктов меню для вашего плагина в главное меню программы.

Исходник класса взламывающего меню вот, c6lab.org/files/RnQMenu_cpp.rar
условия использования прилагаются. :)
Пароль: c6lab.spb.ru

Вложения:
Последнее редактирование: 11 года 3 мес. назад пользователем cy6.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 10 мес. назад #2 от Rapid D
Мне определённо нравица ваша деятельность :D

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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 10 мес. назад #3 от cy6
Rapid D писал(а):

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


Из соседней темы:
Rapid D писал(а):

cy6 писал(а):

...
Замечено, что статус нормально устанавливается лишь один раз.
Потом требуется перезапуск крысы. :side:

Почему так, пока не разбиралась. Видимо связано с тем, что они поддерживаются внутри кода крысы, совсем неофициально (но большое спасибо Рапиду и за эту возможность), из за уже упомянутой автором кривости их реализации в квип.

Мне самой пока хватает. Включила крысу, и поставила статус "на работе/дома/злая/добрая". :laugh:

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


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

Меня саму не настолько часто колбасит из депрессии в злость и в хорошее настроение для чата. :lol: Дома и на работе также приходится переподключаться. :side: Так что, однократной установки пока что вполне хватает.

Ну на самом же деле, сколько существует ася, столько и борятся с проприетарностью расковыриванием и дописыванием. :P

Надеюсь, на наш век еще хватит. :laugh:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 10 мес. назад #4 от Alexander
Спасибо за "депрессию"! :( :woohoo:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 10 мес. назад #5 от Пушкожук
QIP теперь по-другому ставит эти статусы - с помощью клиенткапсов. Я тут писал. Тогда их убирать можно :)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 9 мес. назад #6 от Rainman
спасибо огромное, если что пишите, помогу чем смогу :)

ps: to Rapid D, эхх :)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 9 мес. назад - 13 года 9 мес. назад #7 от БеСС
Хорошо быб к списку выбора статусов привязать картинки статусов из темы пользователя, ну шоб красиво было и более удобно для зрительного восприятия при выборе.
Последнее редактирование: 13 года 9 мес. назад пользователем БеСС.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 9 мес. назад #8 от cy6
Сам по себе плагин называется мод (он же хак) не просто так.
Во первых, сами статусы пока "одноразовые", во вторых вторжение в интерфейс программы. :side:

Думаю, смысл делать оформление есть только для стабильных и не экспериментальных вещей.
Если этот мод проживет не слишком мало, возможно и найду в себе силы преодолеть лень к оформительству. :blush:

В настоящий момент, вот что я сделала (см. картинку).
Все таки сделала возможность добавлять меню из плагинов, хоть и нестандартным методом (стандартным может сделать только автор). Сложность была не столько в самом добавлении меню, сколько в вообще в доступе постороннего кода на другом языке (C++ а не Delphi), в систему меню Delphi, избегая при этом всяких вредных исключений. :laugh:
Хотя, для не программистов эти слова вряд ли что то значат. :silly:

З.Ы. Для интересующихся кодом, код конечно же будет доступен со временем.
Не люблю выкладывать сырую писанину. :)

З.З.Ы. Для выполнения того что подсказал Пушкожук (за подсказку большое спасибо), нужно вообще применять "Splicing.cpp" от OverQuantum. В настоящий момент замечена проблемы с его работоспособностью у меня дома (то есть на висте :laugh: , на свинине оно работает ). Надо разбираться...
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 9 мес. назад - 13 года 9 мес. назад #9 от БеСС
Вложения:
Последнее редактирование: 13 года 9 мес. назад пользователем БеСС.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 9 мес. назад - 13 года 9 мес. назад #10 от БеСС
cy6 писал(а):

Сам по себе плагин называется мод (он же хак) не просто так.
Во первых, сами статусы пока "одноразовые", во вторых вторжение в интерфейс программы. :side:.....


Странно а у меня вот так отображается - рис.1, нет вкладки "Еще статусы", только жмаканьем на плюсик можно выставить - рис.2. А насчет оформления имел ввиду из файлика status.png который лежит в теме, чтобы плагин оттуда подгружал необходимые картинки.. Было быб ощень симпатичненько, как в рис.3.
Вложения:
Последнее редактирование: 13 года 9 мес. назад пользователем БеСС.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 9 мес. назад #11 от cy6
БеСС писал(а):

Странно а у меня вот так отображается - рис.1, нет вкладки "Еще статусы", только жмаканьем на плюсик можно выставить - рис.2

Да, последнюю альфа версию (которая уже с меню) я еще не выставляла. Пока тестирую на редкоуловимые ошибки... :)

Честно говоря, первые пару дней разработки изрядно помучали исключения (класс "access violation" и даже, "вуаля" - ошибка работы со стеком, когда противный компилятор C++ VS 2008, проявив свой безразмерный умище, добавил в _asm код команду PUSH EBX :woohoo: ) в программе. А так же? примитивность отладчика в BDS 2009, который почему что понимает естественные для машин шестнадцатеричные числа тока с префиксом $. :silly:

:silly:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 9 мес. назад #12 от БеСС
Ну дык, а в следующей версии ожидается волшебная возможность не перегружать крысу при смене квиповских статусов? А на счет "еще статусы" это действительно лучше, чем "плюс" где-то там.. спасибо, ты чудо))

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 9 мес. назад #13 от Alexander
У меня постоянно возникает проблема с работой плагина. Когда контакт лист отдельно от чата все нормально, когда их объединяю, то плагин приходится при каждом запуске программы заново запускать. Исправьте пожалуйста ;)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 9 мес. назад - 13 года 9 мес. назад #14 от cy6
Alexander писал(а):

У меня постоянно возникает проблема с работой плагина. Когда контакт лист отдельно от чата все нормально, когда их объединяю, то плагин приходится при каждом запуске программы заново запускать. Исправьте пожалуйста ;)

У вас плагин вызывает ошибки (exception) в программе или сбои логики? Или имеете ввиду расположение кнопки?


Попробовала включить опцию объединения контакт листа и чата и поняла о чем вы. Кнопочку становиться не видно.

Ну так в настоящий момент я заменяю эту кнопку на пункт в меню.
Тестирование закончено, ошибок нет, но только вот тут картинки просили, да и сама тоже захотела. :silly:
Последнее редактирование: 13 года 9 мес. назад пользователем cy6.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 9 мес. назад #15 от Alexander
Буду очень благодарен! :)
А может есть возможность сделать отображение этих статусов и у других клиентов?
Например сейчас знакомый сидет в квипе и у него статус депрессия, а я этого не вижу :(

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 9 мес. назад #16 от cy6
Alexander писал(а):

Буду очень благодарен! :)
А может есть возможность сделать отображение этих статусов и у других клиентов?
Например сейчас знакомый сидет в квипе и у него статус депрессия, а я этого не вижу :(

Не видите статусов? Очень странно. Я часто запускаю сразу две крысы для разных UIN'ов.
Статусы видны, в том числе и депрессия. Если у человека еще стоит доп. статус, то виден только при наведении мыши, так как доп. статус перекрывает его.

Показ статусов контактов находится вне прерогатив плагинов.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 9 мес. назад - 13 года 9 мес. назад #17 от Alexander
Жаль. Может это конечно проблема в 1110 билде пока не понял. Ну ладно.
Все равно большое спасибо ;)
Последнее редактирование: 13 года 9 мес. назад пользователем Alexander.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 9 мес. назад - 13 года 9 мес. назад #18 от БеСС
У меня есть маленькое предложение, вкладку "еще статусы" вставить между "основными статусами" и "доп. статус", мне кажется так будет немного последовательнее
Последнее редактирование: 13 года 9 мес. назад пользователем БеСС.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 9 мес. назад - 13 года 9 мес. назад #19 от cy6
БеСС писал(а):

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

Возможно. :)
Но тогда вид меню портится, так как стиль прорисовки меню плагина в настоящий момент отличается (рисуется как обычное меню виндоус). Потому оставила пока добавление пункта в самом конце.

Вообщем, выложила обновление. Надеюсь владельцы Vista (а возможно и W7) останутся довольны. :) В WinXP картинки рисуются не так как надо, косяк (более маленькие размеры) прорисовки картинок, установленных через SetMenuItemBitmaps в самой винде. Писать ownerdraw рисовку пока не начинала.
Последнее редактирование: 13 года 9 мес. назад пользователем cy6.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
13 года 9 мес. назад #20 от БеСС
cy6 писал(а):

Если интеграция в меню проходит удачно (при первом входе в меню статусов), кнопка убирается.

У меня WinXP, вот эта самая интеграция почему-то не проходит успешно, кнопочка остается на своем месте а вкладка "еще статусы" не появляется:dry:. Почему такое и как с этим бороться? Тю, а я думал значки будут выбираться из задействованной темы а не из стандартной, но в принципе и это хорошо ;). Жду продолжения B) ...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Модераторы: bassvazoozaDelphukdekRapid D
Время создания страницы: 0.545 секунд
Работает на Kunena форум