The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Релиз Cambalache 0.8.0, инструмента для разработки GTK-интерфейсов

10.12.2021 17:05

Опубликован релиз проекта Cambalache 0.8.0, развивающего инструмент быстрой разработки интерфейсов для GTK 3 и GTK 4, использующий парадигму MVC и философию первостепенного значения модели данных. В отличии от Glade в Cambalache предоставляется поддержка ведения нескольких интерфейсов пользователя в одном проекте. По функциональным возможностям выпуск Cambalache 0.8.0 отмечается как близкий к паритету с Glade. Код написан на Python и поставляется под лицензией GPLv2.

Cambalache не зависит от GtkBuilder и GObject, но предоставляет модель данных, соответствующую системе типов GObject. Модель данных может импортировать и экспортировать разом несколько интерфейсов, поддерживает объекты, свойства и сигналы GtkBuilder, предоставляет стек отката операций (Undo / Redo) и возможность сжатия истории команд. Для генерации модели данных из gir-файлов предоставляется утилита cambalache-db, а для генерации классов GObject из таблиц модели данных - утилита db-codegen.

Интерфейс может генерироваться на базе GTK 3 и GTK 4, в зависимости от определённой в проекте версии. Для обеспечения поддержки разных веток GTK формирование рабочей области осуществляется с привлечением бэкенда Broadway, позволяющего отрисовывать вывод библиотеки GTK в окне web-браузера. Основной процесс Cambalache предоставляет обвязку на базе WebKit WebView, в которой при помощи Broadway транслируется вывод из процесса Merengue, который непосредственно занимается отрисовкой интерфейса, создаваемого пользователем.

В новом выпуске:

  • Добавлена панель интерактивного выбора объектов, которая категоризирует классы объектов и упрощает поиск необходимой информации.
  • Реализованы заполнители рабочей области, упрощающие добавление дочерних элементов в заданные позиции. Добавить виджет вместо заполнителя можно кликнув на нём два раза.
  • Предоставлена поддержка переводимых свойств и реализована возможность оставления комментариев для переводчиков.
  • Добавлена поддержка операций с буфером обмена (Copy, Paste, Cut и Delete).
  • Улучшен вывод информации о неподдерживаемых возможностях при импорте UI-файлов и при экспорте в другой файл.


  1. Главная ссылка к новости (https://blogs.gnome.org/xjuan/...)
  2. OpenNews: Представлен Cambalache, новый инструмент разработки GTK-интерфейсов
  3. OpenNews: Выход Glade 3.21, оболочки для визуального проектирования интерфейсов на GTK+
  4. OpenNews: Выпуск графического тулкита GTK 4.0
  5. OpenNews: Выпуск графического тулкита GTK 4.4
  6. OpenNews: Рабочий стол Budgie переходит с GTK на библиотеки EFL от проекта Enlightenment
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/56321-cambalache
Ключевые слова: cambalache, gtk
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (84) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 17:17, 10/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    > использующий парадигму MVC

    Да вы что? Только сейчас? В Qt сто лет в обед.

     
     
  • 2.58, Аноним (58), 23:52, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Qt только родилось в 1995-ом...
     

  • 1.2, Аноним (2), 17:17, 10/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –10 +/
    забыл, gtk - это который с гигантскими уродливыми кнопками, а написано всё неосиляторами плюсов с закосом на ООП?

    не к кедерастам вопрос, если чё

     
     
  • 2.3, Аноним (1), 17:21, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Да, это оно. Там ещё csd
     
     
  • 3.4, Аноним (2), 17:22, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    почитал новость - действительно, оно
     
  • 3.16, Skullnet (ok), 18:41, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    CSD это рак.
     
  • 2.11, vasya (??), 18:16, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > это который с гигантскими уродливыми кнопками

    вкусовщина

     
     
  • 3.12, Аноним (1), 18:21, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Именно так. Но именно о вкусах люди и спорят.
     
  • 3.69, Аноним (69), 12:44, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это никакая не "вкусовщина" - просто туповатый анон не осилил тему выбрать.
     
  • 2.14, Аноним (14), 18:37, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > с гигантскими уродливыми кнопками

    Добавь себе button { padding: 2px 4px } и все. Если это слишком сложно для тебя, оставайся в венде или в ДЕ, имитирующем венду (например, вантузо-ДЕ на букву К).

    > неосиляторами плюсов с закосом на ООП?

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

    > закосом на ООП

    Расскажи мне, каким должен быть "правильный тру ооп".

     
     
  • 3.48, Аноним (48), 20:07, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > "правильный тру ооп".

    Вообще, это Smalltalk. Всё остальное - жалкая пародия (точнее, попытка сделать одновременно и с сигналами/слотами и компилируемое и без просадок в производительности, типа strcmp на каждый сигнал).

     
     
  • 4.78, Зз (?), 01:30, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > типа strcmp на каждый сигнал

    Если что, GObject не делает strcmp на каждый сигнал. Из имени сигнала создается GQark - по-сути хэш, умещающийся в int.

     
  • 3.59, Тот_Самый_Анонимус (?), 00:51, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> с гигантскими уродливыми кнопками
    >Добавь себе button { padding: 2px 4px } и все. Если это слишком сложно для тебя, оставайся в венде или в ДЕ, имитирующем венду (например, вантузо-ДЕ на букву К).

    Хорошо, с размером разобрались. Теперь как избавиться от уродливого дизайна, оставаясь на гтк? Никак? Тогда нах он нужен?

     
     
  • 4.72, Аноним (72), 18:53, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Уродливый дизайн по версии кого? Диплом дизайнера есть?
     
     
  • 5.86, Тот_Самый_Анонимус (?), 05:43, 15/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >Уродливый дизайн по версии кого?

    Здравого смысла. Он настолько уродлив, что даже людям далёким от дизайна это очевидно. Кроме фанатиков «самого линухового тулкита».

     
  • 2.73, Аноним (73), 20:42, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    GTK — промышленный тулкит, а ты больше не пиши комментарии.
     
  • 2.75, Аноним (75), 21:41, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >gtk - это ... написано всё неосиляторами плюсов с закосом на ООП?

    Именно!

     
  • 2.79, Зз (?), 01:36, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > а написано всё неосиляторами плюсов с закосом на ООП?

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

     

  • 1.5, Аноним (5), 17:27, 10/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А как там с кросс-платформенностью GTK дела обстоят? А то раньше в отличных от Linux/BSD ОС всё было очень печально.
     
     
  • 2.6, Аноним (1), 17:29, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот где плевать так плевать. BSD и Linux есть. Остальное что? Ну может о маках ещё подумать можно.
     
     
  • 3.7, Аноним (7), 17:40, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Меня уверяли, что на венде всё прекрасно работает в гтк, сам я конечно этого не видел. Но могу подтвердить за куте, у меня всегда много кдеешного софта в ней было.
     
     
  • 4.8, Аноним (1), 17:42, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А на винду вообще плевать. 20 лет её не видел и прекрасно себя чувствую.

    Помню нормальной была NT 4. В 2000 вроде что-то неплохое сделали. Из софта там единственное что человеческое было это вроде Outlook express. Да и тот выкинули вроде как сейчас. Так что неюзабильное гауно.

     
     
  • 5.9, Аноним (7), 17:51, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Платформу с большинством пользователей необходимо как минимум учитывать. И для некоторых задач не придумали проприетарных поделок лучше опенсорсных.
     
     
  • 6.10, Аноним (1), 17:53, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Платформу

    О, платформер. У него уже самое тормазное поделье в мире стало платформой

    > с большинством пользователей необходимо как минимум учитывать.

    Кто тебе сказал такую глупость? Совершенно не нужно. От слова совсем. Вон 20 лет не учитываю и так классно. Никакого гемороя. Работа - удовольствие, денег более чем хватает.

     
     
  • 7.13, Аноним (7), 18:28, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ты, очевидно, не разработчик (да и не пользователь, похоже), поэтому твоё мнение иррелевантно.
    чуть более чем полностью.
     
     
  • 8.15, Аноним (1), 18:38, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не угодал Очевидно я разработчик, который прекрасно себя чувствует в BSD, Linux... текст свёрнут, показать
     
     
  • 9.17, Аноним (7), 18:46, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Зачем разрабатывать софт, которым никто не сможет пользоваться Это нездоровый в... текст свёрнут, показать
     
     
  • 10.18, Аноним (14), 18:56, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Те, кто пишут проги под вантуз, плевать хотели на линукс И на мак Те, кто пишу... текст свёрнут, показать
     
     
  • 11.20, Аноним (1), 19:04, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Совершенно не интересуют проги под вантуз Хотите - пишите, мне на вас плевать ... текст свёрнут, показать
     
     
  • 12.22, Аноним (14), 19:06, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ты не туда воюешь... текст свёрнут, показать
     
     
  • 13.26, Аноним (1), 19:13, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я вообще не воюю Я же вроде нормально написал Мне плевать на виндовс Это он м... текст свёрнут, показать
     
  • 11.27, Аноним (7), 19:15, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я конечно не против, так как линукс моя основная платформа и остальные меня не з... большой текст свёрнут, показать
     
     
  • 12.29, Аноним (1), 19:22, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну пострадает 10000 виндузятников Ну и что Это их выбор, не мой Всем не угоди... текст свёрнут, показать
     
     
  • 13.37, Аноним (7), 19:33, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот без обид, но из того, что я знаю о диагностическом софте, там достаточно скр... текст свёрнут, показать
     
  • 12.35, Аноним (14), 19:28, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, давай посмотрим на это с другого угла сейчас вантуз-онли-софта куда больше... большой текст свёрнут, показать
     
  • 10.21, Аноним (1), 19:05, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    прикинь, в масштабах планеты миллиарды людей пользуются минимум 2 раза в день к... текст свёрнут, показать
     
     
  • 11.28, Аноним (7), 19:20, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Это маловероятно, такой программы не существует ... текст свёрнут, показать
     
     
  • 12.30, Аноним (1), 19:23, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Автомобилей тоже не существует да ... текст свёрнут, показать
     
     
  • 13.34, Аноним (7), 19:28, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Практически во всех автомобилях стоит венда и различные реалтайм системы Никаки... текст свёрнут, показать
     
     
  • 14.36, Аноним (1), 19:32, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ты серьёзно Венда уууууу, как всё печально Я на таких ездить не буду Предста... текст свёрнут, показать
     
     
  • 15.38, Аноним (7), 19:35, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А линукс то ничем не лучше венды для таких задач Может и хуже ... текст свёрнут, показать
     
     
  • 16.39, Аноним (1), 19:37, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Я не говорил про линукс в машинах хотя могу и такие пруфы дать,но это будет не ... текст свёрнут, показать
     
     
  • 17.40, Аноним (7), 19:39, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Процитируй, пожалуйста, где я утверждал, что венда используется на двигателе или... текст свёрнут, показать
     
     
  • 18.45, Аноним (1), 19:55, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не говорил Но вообще если послушать как колеги на венде работают с CAN BUS то э... текст свёрнут, показать
     
  • 17.41, Аноним (7), 19:46, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кстати, про хуже Там, где линукс падает в панику и умирает, венда спокойно ресе... текст свёрнут, показать
     
     
  • 18.44, Аноним (1), 19:53, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Где он падает в панику Почему у меня не падает Зато от колег постоянно слышу п... текст свёрнут, показать
     
     
  • 19.46, Аноним (7), 20:01, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    По-моему фряха до сих пор умирает, если флешку выдернуть Когда-то и с линуксом ... текст свёрнут, показать
     
     
  • 20.50, Аноним (1), 20:11, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не говори ерунды Фряха живее всех живых И это очень красивая стройная и логичн... текст свёрнут, показать
     
  • 20.51, Аноним (1), 20:12, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Прикинь, только что выдернул - не умерло ... текст свёрнут, показать
     
  • 21.52, Аноним (7), 20:19, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если тебе станет от этого легче, то 10 венда, когда я в прошлый раз выдернул из ... текст свёрнут, показать
     
  • 22.53, Аноним (1), 20:23, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Мне ни холодно не жарко Мне плевать Как больше половине корпорации в которой р... текст свёрнут, показать
     
  • 23.54, Аноним (1), 20:23, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну по крайней мере специалистов ... текст свёрнут, показать
     
  • 18.47, Аноним (1), 20:05, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В общем чувак Успокойся Ну хочешь учитывать виндовс в своей жизни, пожалуйста,... большой текст свёрнут, показать
     
  • 16.43, Аноним (1), 19:52, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вообще-то лучше Но если по фактам того с чем я работал лично То в качестве ... текст свёрнут, показать
     
  • 10.23, Аноним (1), 19:07, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Боль вяндузятников от того что я не собрал для них какую-то свою прогу меня сове... текст свёрнут, показать
     
  • 8.19, Аноним (1), 19:03, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще забавно смотреть как люди вынужденные по долгу службы учитывать виндовс с... большой текст свёрнут, показать
     
     
  • 9.24, Аноним (24), 19:10, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А в этом вашем лучшем мире все такие злые и нервные как ты ... текст свёрнут, показать
     
     
  • 10.25, Аноним (1), 19:12, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А я не злой Я же не лезу в форумы про винду и не рассказываю всем как они срочн... текст свёрнут, показать
     
     
  • 11.31, Аноним (7), 19:24, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Забавно конечно, но нет, я лезу к разработчикам венда-онли софта и напоминаю им,... текст свёрнут, показать
     
     
  • 12.33, Аноним (1), 19:28, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну молодец Хорошее дело делаешь А я нет Мне всё равно Я не нашёл такого софт... текст свёрнут, показать
     
  • 7.88, srgazh (ok), 12:00, 18/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это вы про Linux?))
     
  • 6.60, Тот_Самый_Анонимус (?), 01:19, 11/12/2021 Скрыто модератором
  • +1 +/
     
     
  • 7.63, Аноним (63), 04:54, 11/12/2021 Скрыто модератором
  • +/
     
     
  • 8.65, Аноним (65), 09:25, 11/12/2021 Скрыто модератором
  • +/
     
  • 8.87, Тот_Самый_Анонимус (?), 05:48, 15/12/2021 Скрыто модератором
  • +/
     
  • 2.49, Admino (ok), 20:10, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Скажем так, платформа не особо способствует и помогает кросс-платформенности. Но если очень продраться через неочевидные сложности, можно получить хороший результат, например Darktable портировали на Mac и Win.
     

  • 1.32, Аноним (73), 19:26, 10/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Призошло! Оно свершилось! Впервые за 4 года в Fedora что-то поломалось! Вчера, после установки обновлений, внезапно пропал звук — для Fedora явление само по себе уникальное. Что характерно: поломали не до конца. На ноутбуке звука нет, на стационарнике — есть.
     
     
  • 2.55, shdwchn10 (?), 20:42, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Фикс скоро прилетит в stable репы: https://bodhi.fedoraproject.org/updates/FEDORA-2021-e6f6ed66d8

    Если невтерпёж, то для обычной Fedora установка этого фикса из testing происходит так:
    'sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-e6f6ed66d8'

    А для Silverblue так:
    'rpm-ostree override replace https://bodhi.fedoraproject.org/updates/FEDORA-2021-e6f6ed66d8'

     
     
  • 3.67, Аноним (-), 10:38, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Пока наслаждаюсь тишиной, это хорошо. Хотя знаю, что это alsa, и Fedora ни при чём. Приятно, что даже в Fedora один раз в четыре года что-то ломается. Ну надо же оправдывать тестовый полигон, не?
     
  • 2.74, Аноним (73), 21:16, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Уже починили. Быстро.
     

  • 1.42, псевдонимус (?), 19:47, 10/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Не надо развивать ГТК интерфейсы. Пожалуйста.
     
     
  • 2.56, kusb (?), 21:43, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо развивать интерфейсы...
     
     
  • 3.57, Аноним (57), 23:50, 10/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо развивать!
     
     
  • 4.61, Аноним (61), 03:12, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не, надо развивать!
     
     
  • 5.68, Аноним (73), 12:27, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не надо.
     
  • 2.70, Аноним (70), 14:03, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Надо, федя, надо
     
     
  • 3.71, псевдонимус (?), 16:57, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Надо, федя, надо

    Не Шурик, тут ты не прав.

     
     
  • 4.77, Аноним (75), 21:59, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Не Шурик он, а Шариков.
     

  • 1.62, Аноним (62), 03:47, 11/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Дизайнеры, почему на скриншоте кнопка open слева, а save справа?
     
     
  • 2.64, я художник (?), 09:09, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    я так вижу!
     
     
  • 3.76, Блондико (?), 21:58, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А где кнока "Может быть"?
     
  • 2.66, Дизигнер (?), 09:39, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Почему в нормальных диалогах кнопка ОК слева, а кнопка ОТМЕНА справа?
     
     
  • 3.80, Аноним (80), 02:12, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    ОК - это открыть, а ОТМЕНА - сохранить? Что курите?
     
  • 2.81, Аноним (80), 02:17, 12/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы когда ты промахивался и нажимал закрыть вместо сохранения, а вслед за этим диалоговое окно "Пачиму дарагой закрываешь? Слушай, сохранить не хочешь, да?". Все это будет приводить тебя в бешенство и сеять ненависть к гному.

    У меня другой вопрос: зачем вообще кнопка save удостоена столько места? Все уже привыкли нажимать Ctrl+S. Надо как обычно прятать ее за номарльное меню File -> Save... Ой, простите меню же теперь нет. Деградация.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2022 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру