diff --git a/libublsettingsui-gtk3-about.glade b/libublsettingsui-gtk3-about.glade index b2e2765..6c1156f 100644 --- a/libublsettingsui-gtk3-about.glade +++ b/libublsettingsui-gtk3-about.glade @@ -12,7 +12,7 @@ True libublsettingsui-gtk3 1.1 - Copyright © 2022 - 2023, UBSoft LLC + Copyright © 2022 - 2025, UBSoft LLC TEMPLATE Manager https://ublinux.ru/ Project Home Page diff --git a/libublsettingsui-gtk3-app-chooser.glade b/libublsettingsui-gtk3-app-chooser.glade index db0a67c..bf8e48b 100644 --- a/libublsettingsui-gtk3-app-chooser.glade +++ b/libublsettingsui-gtk3-app-chooser.glade @@ -1,7 +1,8 @@ - - + + + True False @@ -179,9 +180,6 @@ True False Choose application - - - diff --git a/libublsettingsui-gtk3.pot b/libublsettingsui-gtk3.pot index f9bfecc..d4e06d4 100644 --- a/libublsettingsui-gtk3.pot +++ b/libublsettingsui-gtk3.pot @@ -17,358 +17,362 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: source/libublsettingsui-gtk3.h:340 +#: source/libublsettingsui-gtk3.h:376 msgid "Version:" msgstr "" -#: source/libublsettingsui-gtk3.h:341 +#: source/libublsettingsui-gtk3.h:377 msgid " version:" msgstr "" -#: source/libublsettingsui-gtk3.h:342 +#: source/libublsettingsui-gtk3.h:378 msgid "Usage:" msgstr "" -#: source/libublsettingsui-gtk3.h:342 +#: source/libublsettingsui-gtk3.h:378 msgid "[OPTIONS]" msgstr "" -#: source/libublsettingsui-gtk3.h:343 +#: source/libublsettingsui-gtk3.h:379 msgid "Options:" msgstr "" -#: source/libublsettingsui-gtk3.h:344 +#: source/libublsettingsui-gtk3.h:380 msgid "Show this help" msgstr "" -#: source/libublsettingsui-gtk3.h:345 +#: source/libublsettingsui-gtk3.h:381 msgid "Show package version" msgstr "" -#: source/libublsettingsui-gtk3.h:346 +#: source/libublsettingsui-gtk3.h:382 msgid "Lock this help menu" msgstr "" -#: source/libublsettingsui-gtk3.h:347 +#: source/libublsettingsui-gtk3.h:383 msgid "Lock configuration saving" msgstr "" -#: source/libublsettingsui-gtk3.h:348 +#: source/libublsettingsui-gtk3.h:384 msgid "Lock local configration saving" msgstr "" -#: source/libublsettingsui-gtk3.h:349 +#: source/libublsettingsui-gtk3.h:385 msgid "Lock global configration saving" msgstr "" -#: source/libublsettingsui-gtk3.h:350 +#: source/libublsettingsui-gtk3.h:386 msgid "Lock global configration loading" msgstr "" -#: source/libublsettingsui-gtk3.h:351 +#: source/libublsettingsui-gtk3.h:387 msgid "Reset application settings" msgstr "" -#: source/libublsettingsui-gtk3.h:357 source/libublsettingsui-gtk3.h:365 +#: source/libublsettingsui-gtk3.h:393 source/libublsettingsui-gtk3.h:401 msgid "About" msgstr "" -#: source/libublsettingsui-gtk3.h:359 +#: source/libublsettingsui-gtk3.h:395 msgid "Operation succeeded" msgstr "" -#: source/libublsettingsui-gtk3.h:360 +#: source/libublsettingsui-gtk3.h:396 msgid "Operation failed" msgstr "" -#: source/libublsettingsui-gtk3.h:361 +#: source/libublsettingsui-gtk3.h:397 msgid "" "Warning! Application was launched without root - root-dependent actions are " "locked" msgstr "" -#: source/libublsettingsui-gtk3.h:363 source/libublsettingsui-gtk3.h:364 +#: source/libublsettingsui-gtk3.h:399 source/libublsettingsui-gtk3.h:400 msgid "Default" msgstr "" -#: source/libublsettingsui-gtk3.h:366 +#: source/libublsettingsui-gtk3.h:402 msgid "Documentation" msgstr "" -#: source/libublsettingsui-gtk3.h:368 +#: source/libublsettingsui-gtk3.h:404 msgid "Save to specific file" msgstr "" -#: source/libublsettingsui-gtk3.h:369 +#: source/libublsettingsui-gtk3.h:405 msgid "Save to local configuration" msgstr "" -#: source/libublsettingsui-gtk3.h:370 +#: source/libublsettingsui-gtk3.h:406 msgid "Save to global configuration" msgstr "" -#: source/libublsettingsui-gtk3.h:371 +#: source/libublsettingsui-gtk3.h:407 msgid "Save configuration" msgstr "" -#: source/libublsettingsui-gtk3.h:372 +#: source/libublsettingsui-gtk3.h:408 msgid "Save" msgstr "" -#: source/libublsettingsui-gtk3.h:373 +#: source/libublsettingsui-gtk3.h:409 msgid "Saving..." msgstr "" -#: source/libublsettingsui-gtk3.h:375 +#: source/libublsettingsui-gtk3.h:411 msgid "Load from specific file" msgstr "" -#: source/libublsettingsui-gtk3.h:376 +#: source/libublsettingsui-gtk3.h:412 msgid "Load local configuration" msgstr "" -#: source/libublsettingsui-gtk3.h:377 +#: source/libublsettingsui-gtk3.h:413 msgid "Load global configuration" msgstr "" -#: source/libublsettingsui-gtk3.h:378 +#: source/libublsettingsui-gtk3.h:414 msgid "Load" msgstr "" -#: source/libublsettingsui-gtk3.h:379 +#: source/libublsettingsui-gtk3.h:415 msgid "Load file" msgstr "" -#: source/libublsettingsui-gtk3.h:381 +#: source/libublsettingsui-gtk3.h:417 msgid "Cancel" msgstr "" -#: source/libublsettingsui-gtk3.h:382 +#: source/libublsettingsui-gtk3.h:418 msgid "Accept" msgstr "" -#: source/libublsettingsui-gtk3.h:383 +#: source/libublsettingsui-gtk3.h:419 msgid "Open" msgstr "" -#: source/libublsettingsui-gtk3.h:384 +#: source/libublsettingsui-gtk3.h:420 msgid "Create directory" msgstr "" -#: source/libublsettingsui-gtk3.h:385 +#: source/libublsettingsui-gtk3.h:421 msgid "Select directory" msgstr "" -#: source/libublsettingsui-gtk3.h:387 +#: source/libublsettingsui-gtk3.h:423 msgid "Would you like to read documentation in the Web?" msgstr "" -#: source/libublsettingsui-gtk3.h:388 +#: source/libublsettingsui-gtk3.h:424 msgid "" "You will be redirected to documentation website where documentation is\n" "translated and supported by community." msgstr "" -#: source/libublsettingsui-gtk3.h:389 +#: source/libublsettingsui-gtk3.h:425 msgid "Always redirect to online documentation" msgstr "" -#: source/libublsettingsui-gtk3.h:390 +#: source/libublsettingsui-gtk3.h:426 msgid "Open documentation" msgstr "" -#: source/libublsettingsui-gtk3.h:391 +#: source/libublsettingsui-gtk3.h:427 msgid "Project Home Page" msgstr "" -#: source/libublsettingsui-gtk3.h:392 +#: source/libublsettingsui-gtk3.h:428 msgid "Nothing were chosen" msgstr "" -#: source/libublsettingsui-gtk3.h:393 -msgid "Copyright © 2022 - 2023, UBSoft LLC" +#: source/libublsettingsui-gtk3.h:429 +msgid "Copyright © 2022 - 2025, UBSoft LLC" msgstr "" -#: source/libublsettingsui-gtk3.h:396 +#: source/libublsettingsui-gtk3.h:432 msgid "Global configuration loading succeeded." msgstr "" -#: source/libublsettingsui-gtk3.h:397 +#: source/libublsettingsui-gtk3.h:433 msgid "Local configuration loading succeeded." msgstr "" -#: source/libublsettingsui-gtk3.h:398 +#: source/libublsettingsui-gtk3.h:434 msgid "Config loading failed" msgstr "" -#: source/libublsettingsui-gtk3.h:400 +#: source/libublsettingsui-gtk3.h:436 msgid "Local and global configuration saving succeeded." msgstr "" -#: source/libublsettingsui-gtk3.h:401 +#: source/libublsettingsui-gtk3.h:437 msgid "Global configuration saving succeeded." msgstr "" -#: source/libublsettingsui-gtk3.h:402 +#: source/libublsettingsui-gtk3.h:438 msgid "Local configuration saving succeeded." msgstr "" -#: source/libublsettingsui-gtk3.h:403 +#: source/libublsettingsui-gtk3.h:439 msgid "Configuration saving succeeded." msgstr "" -#: source/libublsettingsui-gtk3.h:405 +#: source/libublsettingsui-gtk3.h:441 msgid "Parameter" msgstr "" -#: source/libublsettingsui-gtk3.h:406 +#: source/libublsettingsui-gtk3.h:442 msgid "Old value" msgstr "" -#: source/libublsettingsui-gtk3.h:407 +#: source/libublsettingsui-gtk3.h:443 msgid "New value" msgstr "" -#: source/libublsettingsui-gtk3.h:408 +#: source/libublsettingsui-gtk3.h:444 msgid "" "Value\n" "(Old/New)" msgstr "" -#: source/libublsettingsui-gtk3.h:410 +#: source/libublsettingsui-gtk3.h:446 msgid "Nothing to save" msgstr "" -#: source/libublsettingsui-gtk3.h:411 +#: source/libublsettingsui-gtk3.h:447 msgid "Saving into local configuration" msgstr "" -#: source/libublsettingsui-gtk3.h:412 +#: source/libublsettingsui-gtk3.h:448 msgid "Saving into global configuration" msgstr "" -#: source/libublsettingsui-gtk3.h:413 +#: source/libublsettingsui-gtk3.h:449 msgid "Saving into global and local configuration" msgstr "" -#: source/libublsettingsui-gtk3.h:414 +#: source/libublsettingsui-gtk3.h:450 msgid "Saving into custom configuration at" msgstr "" -#: source/libublsettingsui-gtk3.h:419 +#: source/libublsettingsui-gtk3.h:455 msgid "Full saving mode" msgstr "" -#: source/libublsettingsui-gtk3.h:420 +#: source/libublsettingsui-gtk3.h:456 msgid "Saving into module" msgstr "" -#: source/libublsettingsui-gtk3.h:421 +#: source/libublsettingsui-gtk3.h:457 msgid "Sandbox mode" msgstr "" -#: source/libublsettingsui-gtk3.h:422 +#: source/libublsettingsui-gtk3.h:458 msgid "Sandbox with profile saving" msgstr "" -#: source/libublsettingsui-gtk3.h:423 +#: source/libublsettingsui-gtk3.h:459 msgid "HDD sandbox" msgstr "" -#: source/libublsettingsui-gtk3.h:424 +#: source/libublsettingsui-gtk3.h:460 msgid "HDD sandbox with profile saving" msgstr "" -#: source/libublsettingsui-gtk3.h:425 +#: source/libublsettingsui-gtk3.h:461 msgid "New configuration file creation failed" msgstr "" -#: source/libublsettingsui-gtk3.h:426 +#: source/libublsettingsui-gtk3.h:462 msgid "Upgrade to root" msgstr "" -#: source/libublsettingsui-gtk3.h:427 +#: source/libublsettingsui-gtk3.h:463 msgid "Settings" msgstr "" -#: source/libublsettingsui-gtk3.h:429 +#: source/libublsettingsui-gtk3.h:465 msgid "Application settigs" msgstr "" -#: source/libublsettingsui-gtk3.h:431 +#: source/libublsettingsui-gtk3.h:467 msgid "Invalid email adress" msgstr "" -#: source/libublsettingsui-gtk3.h:432 +#: source/libublsettingsui-gtk3.h:468 msgid "Invalid path" msgstr "" -#: source/libublsettingsui-gtk3.h:434 +#: source/libublsettingsui-gtk3.h:470 msgid "Choose path" msgstr "" -#: source/libublsettingsui-gtk3.h:437 +#: source/libublsettingsui-gtk3.h:471 +msgid "Choose application" +msgstr "" + +#: source/libublsettingsui-gtk3.h:474 msgid "Choose directory instead of file" msgstr "" -#: source/libublsettingsui-gtk3.h:439 +#: source/libublsettingsui-gtk3.h:476 msgid "Enabled" msgstr "" -#: source/libublsettingsui-gtk3.h:440 +#: source/libublsettingsui-gtk3.h:477 msgid "Disabled" msgstr "" -#: source/libublsettingsui-gtk3.h:441 +#: source/libublsettingsui-gtk3.h:478 msgid "Active" msgstr "" -#: source/libublsettingsui-gtk3.h:442 +#: source/libublsettingsui-gtk3.h:479 msgid "Inactive" msgstr "" -#: source/libublsettingsui-gtk3.h:444 +#: source/libublsettingsui-gtk3.h:481 msgid "Active:" msgstr "" -#: source/libublsettingsui-gtk3.h:445 +#: source/libublsettingsui-gtk3.h:482 msgid "Enabled:" msgstr "" -#: source/libublsettingsui-gtk3.h:446 +#: source/libublsettingsui-gtk3.h:483 msgid "Start" msgstr "" -#: source/libublsettingsui-gtk3.h:447 +#: source/libublsettingsui-gtk3.h:484 msgid "Stop" msgstr "" -#: source/libublsettingsui-gtk3.h:448 +#: source/libublsettingsui-gtk3.h:485 msgid "Restart" msgstr "" -#: source/libublsettingsui-gtk3.h:449 +#: source/libublsettingsui-gtk3.h:486 msgid "Enable" msgstr "" -#: source/libublsettingsui-gtk3.h:450 +#: source/libublsettingsui-gtk3.h:487 msgid "Disable" msgstr "" -#: source/libublsettingsui-gtk3.h:452 +#: source/libublsettingsui-gtk3.h:489 #, c-format msgid "\"%s\" service configuration" msgstr "" -#: source/libublsettingsui-gtk3.h:453 +#: source/libublsettingsui-gtk3.h:490 #, c-format msgid "\"%s\" service:" msgstr "" -#: source/libublsettingsui-gtk3.h:454 +#: source/libublsettingsui-gtk3.h:491 msgid "service is active" msgstr "" -#: source/libublsettingsui-gtk3.h:455 +#: source/libublsettingsui-gtk3.h:492 msgid "service is inactive" msgstr "" diff --git a/libublsettingsui-gtk3_ru.po b/libublsettingsui-gtk3_ru.po index 28eb3fd..67811f7 100644 --- a/libublsettingsui-gtk3_ru.po +++ b/libublsettingsui-gtk3_ru.po @@ -17,71 +17,71 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: source/libublsettingsui-gtk3.h:340 +#: source/libublsettingsui-gtk3.h:376 msgid "Version:" msgstr "Версия:" -#: source/libublsettingsui-gtk3.h:341 +#: source/libublsettingsui-gtk3.h:377 msgid " version:" msgstr " версия:" -#: source/libublsettingsui-gtk3.h:342 +#: source/libublsettingsui-gtk3.h:378 msgid "Usage:" msgstr "Использование:" -#: source/libublsettingsui-gtk3.h:342 +#: source/libublsettingsui-gtk3.h:378 msgid "[OPTIONS]" msgstr "[АРГУМЕНТЫ]" -#: source/libublsettingsui-gtk3.h:343 +#: source/libublsettingsui-gtk3.h:379 msgid "Options:" msgstr "Аргументы:" -#: source/libublsettingsui-gtk3.h:344 +#: source/libublsettingsui-gtk3.h:380 msgid "Show this help" msgstr "Показать эту подсказку" -#: source/libublsettingsui-gtk3.h:345 +#: source/libublsettingsui-gtk3.h:381 msgid "Show package version" msgstr "Показать версию пакета" -#: source/libublsettingsui-gtk3.h:346 +#: source/libublsettingsui-gtk3.h:382 msgid "Lock this help menu" msgstr "Заблокировать это меню помощи" -#: source/libublsettingsui-gtk3.h:347 +#: source/libublsettingsui-gtk3.h:383 msgid "Lock configuration saving" msgstr "Успешно записана локальная конфигурация" -#: source/libublsettingsui-gtk3.h:348 +#: source/libublsettingsui-gtk3.h:384 msgid "Lock local configration saving" msgstr "Заблокировать сохранение локальной конфигурации" -#: source/libublsettingsui-gtk3.h:349 +#: source/libublsettingsui-gtk3.h:385 msgid "Lock global configration saving" msgstr "Заблокировать сохранение глобальной конфигурации" -#: source/libublsettingsui-gtk3.h:350 +#: source/libublsettingsui-gtk3.h:386 msgid "Lock global configration loading" msgstr "Заблокировать загрузку глобальную конфигурацию" -#: source/libublsettingsui-gtk3.h:351 +#: source/libublsettingsui-gtk3.h:387 msgid "Reset application settings" msgstr "Сбросить настройки программы" -#: source/libublsettingsui-gtk3.h:357 source/libublsettingsui-gtk3.h:365 +#: source/libublsettingsui-gtk3.h:393 source/libublsettingsui-gtk3.h:401 msgid "About" msgstr "О программе" -#: source/libublsettingsui-gtk3.h:359 +#: source/libublsettingsui-gtk3.h:395 msgid "Operation succeeded" msgstr "Операция завершена" -#: source/libublsettingsui-gtk3.h:360 +#: source/libublsettingsui-gtk3.h:396 msgid "Operation failed" msgstr "Операция завершена с ошибкой" -#: source/libublsettingsui-gtk3.h:361 +#: source/libublsettingsui-gtk3.h:397 msgid "" "Warning! Application was launched without root - root-dependent actions are " "locked" @@ -89,83 +89,83 @@ msgstr "" "Внимание! Приложение было запущено без прав суперпользователя - действия, " "требующие их наличия заблокированы" -#: source/libublsettingsui-gtk3.h:363 source/libublsettingsui-gtk3.h:364 +#: source/libublsettingsui-gtk3.h:399 source/libublsettingsui-gtk3.h:400 msgid "Default" msgstr "По умолчанию" -#: source/libublsettingsui-gtk3.h:366 +#: source/libublsettingsui-gtk3.h:402 msgid "Documentation" msgstr "Справка" -#: source/libublsettingsui-gtk3.h:368 +#: source/libublsettingsui-gtk3.h:404 msgid "Save to specific file" msgstr "Сохранить в файл" -#: source/libublsettingsui-gtk3.h:369 +#: source/libublsettingsui-gtk3.h:405 msgid "Save to local configuration" msgstr "Сохранить в локальную конфигурацию" -#: source/libublsettingsui-gtk3.h:370 +#: source/libublsettingsui-gtk3.h:406 msgid "Save to global configuration" msgstr "Сохранить в глобальную конфигурацию" -#: source/libublsettingsui-gtk3.h:371 +#: source/libublsettingsui-gtk3.h:407 msgid "Save configuration" msgstr "Сохранить конфигурацию" -#: source/libublsettingsui-gtk3.h:372 +#: source/libublsettingsui-gtk3.h:408 msgid "Save" msgstr "Сохранить" -#: source/libublsettingsui-gtk3.h:373 +#: source/libublsettingsui-gtk3.h:409 msgid "Saving..." msgstr "Сохранение..." -#: source/libublsettingsui-gtk3.h:375 +#: source/libublsettingsui-gtk3.h:411 msgid "Load from specific file" msgstr "Загрузить из файла" -#: source/libublsettingsui-gtk3.h:376 +#: source/libublsettingsui-gtk3.h:412 msgid "Load local configuration" msgstr "Загрузить локальную конфигурацию" -#: source/libublsettingsui-gtk3.h:377 +#: source/libublsettingsui-gtk3.h:413 msgid "Load global configuration" msgstr "Загрузить глобальную конфигурацию" -#: source/libublsettingsui-gtk3.h:378 +#: source/libublsettingsui-gtk3.h:414 msgid "Load" msgstr "Загрузить" -#: source/libublsettingsui-gtk3.h:379 +#: source/libublsettingsui-gtk3.h:415 msgid "Load file" msgstr "Загрузить файл" -#: source/libublsettingsui-gtk3.h:381 +#: source/libublsettingsui-gtk3.h:417 msgid "Cancel" msgstr "Отмена" -#: source/libublsettingsui-gtk3.h:382 +#: source/libublsettingsui-gtk3.h:418 msgid "Accept" msgstr "Принять" -#: source/libublsettingsui-gtk3.h:383 +#: source/libublsettingsui-gtk3.h:419 msgid "Open" msgstr "Открыть" -#: source/libublsettingsui-gtk3.h:384 +#: source/libublsettingsui-gtk3.h:420 msgid "Create directory" msgstr "Создать файл" -#: source/libublsettingsui-gtk3.h:385 +#: source/libublsettingsui-gtk3.h:421 msgid "Select directory" msgstr "Выбрать папку" -#: source/libublsettingsui-gtk3.h:387 +#: source/libublsettingsui-gtk3.h:423 msgid "Would you like to read documentation in the Web?" msgstr "Вы хотите прочитать справку в Сети?" -#: source/libublsettingsui-gtk3.h:388 +#: source/libublsettingsui-gtk3.h:424 msgid "" "You will be redirected to documentation website where documentation is\n" "translated and supported by community." @@ -173,67 +173,68 @@ msgstr "" "Вы будете перенаправлены на сайт с документацией, где страницы помощи\n" "переводятся и поддерживаются сообществом." -#: source/libublsettingsui-gtk3.h:389 +#: source/libublsettingsui-gtk3.h:425 msgid "Always redirect to online documentation" msgstr "Всегда перенаправлять" -#: source/libublsettingsui-gtk3.h:390 +#: source/libublsettingsui-gtk3.h:426 msgid "Open documentation" msgstr "Прочитать справку" -#: source/libublsettingsui-gtk3.h:391 +#: source/libublsettingsui-gtk3.h:427 msgid "Project Home Page" msgstr "Домашняя страница проекта" -#: source/libublsettingsui-gtk3.h:392 +#: source/libublsettingsui-gtk3.h:428 msgid "Nothing were chosen" msgstr "Ничего не было выбрано" -#: source/libublsettingsui-gtk3.h:393 -msgid "Copyright © 2022 - 2023, UBSoft LLC" -msgstr "Copyright © 2022 - 2023, ООО «Юбисофт»" +#: source/libublsettingsui-gtk3.h:429 +#, fuzzy +msgid "Copyright © 2022 - 2025, UBSoft LLC" +msgstr "Copyright © 2022 - 2025, ООО «Юбисофт»" -#: source/libublsettingsui-gtk3.h:396 +#: source/libublsettingsui-gtk3.h:432 msgid "Global configuration loading succeeded." msgstr "Успешно загружена глобальная конфигурация" -#: source/libublsettingsui-gtk3.h:397 +#: source/libublsettingsui-gtk3.h:433 msgid "Local configuration loading succeeded." msgstr "Успешно загружена локальная конфигурация" -#: source/libublsettingsui-gtk3.h:398 +#: source/libublsettingsui-gtk3.h:434 msgid "Config loading failed" msgstr "Ошибка загрузки конфига" -#: source/libublsettingsui-gtk3.h:400 +#: source/libublsettingsui-gtk3.h:436 msgid "Local and global configuration saving succeeded." msgstr "Успешно записаны локальная и глобальная конфигурация" -#: source/libublsettingsui-gtk3.h:401 +#: source/libublsettingsui-gtk3.h:437 msgid "Global configuration saving succeeded." msgstr "Успешно записана глобальная конфигурация" -#: source/libublsettingsui-gtk3.h:402 +#: source/libublsettingsui-gtk3.h:438 msgid "Local configuration saving succeeded." msgstr "Успешно записана локальная конфигурация" -#: source/libublsettingsui-gtk3.h:403 +#: source/libublsettingsui-gtk3.h:439 msgid "Configuration saving succeeded." msgstr "Успешно записана конфигурация" -#: source/libublsettingsui-gtk3.h:405 +#: source/libublsettingsui-gtk3.h:441 msgid "Parameter" msgstr "Параметр" -#: source/libublsettingsui-gtk3.h:406 +#: source/libublsettingsui-gtk3.h:442 msgid "Old value" msgstr "Старое значение" -#: source/libublsettingsui-gtk3.h:407 +#: source/libublsettingsui-gtk3.h:443 msgid "New value" msgstr "Новое значение" -#: source/libublsettingsui-gtk3.h:408 +#: source/libublsettingsui-gtk3.h:444 msgid "" "Value\n" "(Old/New)" @@ -241,139 +242,144 @@ msgstr "" "Значение\n" "(Старое/Новое)" -#: source/libublsettingsui-gtk3.h:410 +#: source/libublsettingsui-gtk3.h:446 msgid "Nothing to save" msgstr "Нечего сохранять" -#: source/libublsettingsui-gtk3.h:411 +#: source/libublsettingsui-gtk3.h:447 msgid "Saving into local configuration" msgstr "Сохранение в локальный конфигурационный файл" -#: source/libublsettingsui-gtk3.h:412 +#: source/libublsettingsui-gtk3.h:448 msgid "Saving into global configuration" msgstr "Сохранение в глобальный конфигурационный файл" -#: source/libublsettingsui-gtk3.h:413 +#: source/libublsettingsui-gtk3.h:449 msgid "Saving into global and local configuration" msgstr "Сохранение в глобальный и локальный конфигурационный файл" -#: source/libublsettingsui-gtk3.h:414 +#: source/libublsettingsui-gtk3.h:450 msgid "Saving into custom configuration at" msgstr "Сохранение в конфигурационный файл по пути" -#: source/libublsettingsui-gtk3.h:419 +#: source/libublsettingsui-gtk3.h:455 msgid "Full saving mode" msgstr "Полное сохранение" -#: source/libublsettingsui-gtk3.h:420 +#: source/libublsettingsui-gtk3.h:456 msgid "Saving into module" msgstr "Сохранение в модуль" -#: source/libublsettingsui-gtk3.h:421 +#: source/libublsettingsui-gtk3.h:457 msgid "Sandbox mode" msgstr "Полная песочница в ОЗУ" -#: source/libublsettingsui-gtk3.h:422 +#: source/libublsettingsui-gtk3.h:458 msgid "Sandbox with profile saving" msgstr "Песочница с сохранением профиля пользователя" -#: source/libublsettingsui-gtk3.h:423 +#: source/libublsettingsui-gtk3.h:459 msgid "HDD sandbox" msgstr "Полная песочница на HDD" -#: source/libublsettingsui-gtk3.h:424 +#: source/libublsettingsui-gtk3.h:460 msgid "HDD sandbox with profile saving" msgstr "Полная песочница на HDD с сохранением профиля пользователя" -#: source/libublsettingsui-gtk3.h:425 +#: source/libublsettingsui-gtk3.h:461 msgid "New configuration file creation failed" msgstr "Ошибка создания нового файла конфигурации" -#: source/libublsettingsui-gtk3.h:426 +#: source/libublsettingsui-gtk3.h:462 msgid "Upgrade to root" msgstr "Повысить права до root" -#: source/libublsettingsui-gtk3.h:427 +#: source/libublsettingsui-gtk3.h:463 msgid "Settings" -msgstr "" +msgstr "Настройки" -#: source/libublsettingsui-gtk3.h:429 +#: source/libublsettingsui-gtk3.h:465 msgid "Application settigs" -msgstr "Настройки" +msgstr "Настройки приложеия" -#: source/libublsettingsui-gtk3.h:431 +#: source/libublsettingsui-gtk3.h:467 msgid "Invalid email adress" msgstr "Неверный email-адрес" -#: source/libublsettingsui-gtk3.h:432 +#: source/libublsettingsui-gtk3.h:468 msgid "Invalid path" msgstr "Неправильный путь" -#: source/libublsettingsui-gtk3.h:434 +#: source/libublsettingsui-gtk3.h:470 msgid "Choose path" msgstr "Выбор пути" -#: source/libublsettingsui-gtk3.h:437 +#: source/libublsettingsui-gtk3.h:471 +msgid "Choose application" +msgstr "Выбор приложений" + +#: source/libublsettingsui-gtk3.h:474 msgid "Choose directory instead of file" msgstr "Выбрать папку вместо вайла" -#: source/libublsettingsui-gtk3.h:439 +#: source/libublsettingsui-gtk3.h:476 msgid "Enabled" msgstr "Включен" -#: source/libublsettingsui-gtk3.h:440 +#: source/libublsettingsui-gtk3.h:477 msgid "Disabled" msgstr "Выключен" -#: source/libublsettingsui-gtk3.h:441 +#: source/libublsettingsui-gtk3.h:478 msgid "Active" -msgstr "Активен" +msgstr "Запущен" -#: source/libublsettingsui-gtk3.h:442 +#: source/libublsettingsui-gtk3.h:479 msgid "Inactive" -msgstr "Неактивен" +msgstr "Не запущен" -#: source/libublsettingsui-gtk3.h:444 +#: source/libublsettingsui-gtk3.h:481 msgid "Active:" -msgstr "Активен:" +msgstr "Статус:" -#: source/libublsettingsui-gtk3.h:445 +#: source/libublsettingsui-gtk3.h:482 msgid "Enabled:" msgstr "Автозапуск:" -#: source/libublsettingsui-gtk3.h:446 +#: source/libublsettingsui-gtk3.h:483 msgid "Start" msgstr "Запустить" -#: source/libublsettingsui-gtk3.h:447 +#: source/libublsettingsui-gtk3.h:484 msgid "Stop" msgstr "Остановить" -#: source/libublsettingsui-gtk3.h:448 +#: source/libublsettingsui-gtk3.h:485 msgid "Restart" msgstr "Перезапустить" -#: source/libublsettingsui-gtk3.h:449 +#: source/libublsettingsui-gtk3.h:486 msgid "Enable" msgstr "Включить автозапуск" -#: source/libublsettingsui-gtk3.h:450 +#: source/libublsettingsui-gtk3.h:487 msgid "Disable" -msgstr "Выключить автозапуск" +msgstr "Отключить" -#: source/libublsettingsui-gtk3.h:452 +#: source/libublsettingsui-gtk3.h:489 +#, c-format msgid "\"%s\" service configuration" -msgstr "Конфигурация сервиса \"%s\"" +msgstr "Управление сервисом \"%s\"" -#: source/libublsettingsui-gtk3.h:453 -#, fuzzy, c-format +#: source/libublsettingsui-gtk3.h:490 +#, c-format msgid "\"%s\" service:" msgstr "Cлужба \"%s\":" -#: source/libublsettingsui-gtk3.h:454 +#: source/libublsettingsui-gtk3.h:491 msgid "service is active" msgstr "служба активна" -#: source/libublsettingsui-gtk3.h:455 +#: source/libublsettingsui-gtk3.h:492 msgid "service is inactive" msgstr "служба неактивна" diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index b933e92..0b2b0e7 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -85,6 +85,7 @@ add_library(${PROJECT_NAME} SHARED libublsettingsui-gtk3-filechooser.c libublsettingsui-gtk3-service.c libublsettingsui-gtk3-app-chooser.c + libublsettingsui-gtk3-standard-callbacks.c libublsettingsui-gtk3.h ${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C}) diff --git a/source/libublsettingsui-gtk3-app-chooser.c b/source/libublsettingsui-gtk3-app-chooser.c index edf7789..a005eae 100644 --- a/source/libublsettingsui-gtk3-app-chooser.c +++ b/source/libublsettingsui-gtk3-app-chooser.c @@ -181,11 +181,12 @@ yon_app_chooser_window *yon_app_chooser_window_new(int multiple_choise){ g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_app_chooser_accept),window); g_signal_connect(G_OBJECT(window->SelectionCell),"toggled",G_CALLBACK(on_app_selection_toggled),window); + window->multiple = multiple_choise; + if (!window->multiple){ gtk_cell_renderer_set_visible(GTK_CELL_RENDERER(window->SelectionCell),0); } - window->multiple = multiple_choise; if (!yon_apps_get(window)) return NULL; if (!yon_app_chooser_convert_apps(window)) return NULL; diff --git a/source/libublsettingsui-gtk3-service.c b/source/libublsettingsui-gtk3-service.c index 6c8669a..cf9417c 100644 --- a/source/libublsettingsui-gtk3-service.c +++ b/source/libublsettingsui-gtk3-service.c @@ -22,7 +22,7 @@ void __on_closed(GtkWidget *, service_window *window){ void __on_service_update_clicked(GtkWidget *, service_window *window); void __on_service_start_clicked(GtkWidget *, service_window *window){ - if (system(window->start_command)){ + if (system(yon_debug_output("%s\n",window->start_command))){ yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),yon_char_get_localised_from_lib(FAIL_LABEL),5,BACKGROUND_IMAGE_SUCCESS_TYPE); return; }; diff --git a/source/libublsettingsui-gtk3-standard-callbacks.c b/source/libublsettingsui-gtk3-standard-callbacks.c index f687004..8a9eb17 100644 --- a/source/libublsettingsui-gtk3-standard-callbacks.c +++ b/source/libublsettingsui-gtk3-standard-callbacks.c @@ -3,6 +3,14 @@ char *config_get_default_command = NULL; char *config_get_global_command = NULL; char *config_get_local_command = NULL; +char *config_get_custom_command = NULL; +char *config_get_global_only_command = NULL; +char *config_get_local_only_command = NULL; + +char *config_set_global_local_command = NULL; +char *config_set_global_command = NULL; +char *config_set_local_command = NULL; +char *config_set_custom_command = NULL; void yon_load_proceed(YON_CONFIG_TYPE type){ yon_config_clean(); @@ -14,11 +22,8 @@ void yon_load_proceed(YON_CONFIG_TYPE type){ yon_config_load_config(type,config_get_local_command,NULL); } else if (type==YON_CONFIG_CUSTOM){ char *path=""; - GtkWidget *dialog = gtk_file_chooser_dialog_new(template_app_information.app_title,NULL,GTK_FILE_CHOOSER_ACTION_SAVE, - yon_char_get_localised_from_lib(CANCEL_LABEL),GTK_RESPONSE_CANCEL, - yon_char_get_localised_from_lib(OPEN_LABEL),GTK_RESPONSE_ACCEPT,NULL); - yon_gtk_window_setup(GTK_WINDOW(dialog),NULL,template_app_information.app_title,yon_char_append("com.ublinux.",template_app_information.app_tech_name),"FileChooserWindow"); - gtk_window_set_icon_name(GTK_WINDOW(dialog),"com.ublinux.ubl-settings-video"); + GtkWidget *dialog = gtk_file_chooser_dialog_new(template_app_information.app_title,NULL,GTK_FILE_CHOOSER_ACTION_SAVE,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL); + gtk_window_set_icon_name(GTK_WINDOW(dialog),yon_char_append("com.ublinux.",template_app_information.app_tech_name)); gtk_window_set_title(GTK_WINDOW(dialog),template_app_information.app_title); GtkFileFilter *filter = gtk_file_filter_new(); gtk_file_filter_add_pattern(filter,"*.ini"); @@ -29,29 +34,74 @@ void yon_load_proceed(YON_CONFIG_TYPE type){ if (response == GTK_RESPONSE_ACCEPT){ char *file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); if (!yon_char_is_empty(file)){ - path=yon_char_unite("'",file,"'",NULL); - free(file); + path=file; } gtk_widget_destroy(dialog); } else { gtk_widget_destroy(dialog); } - yon_config_load_config(type,yon_config_get_custom_command(path),NULL); + char *command = yon_config_parameter_prepare_command(config_get_custom_command,path,NULL,NULL); + yon_config_load_config(type,command,NULL); } } -void on_config_local_load(){ +void on_config_local_load(GtkWidget *){ yon_load_proceed(YON_CONFIG_LOCAL); + template_config->load_mode=1; } -void on_config_global_load(){ - yon_load_proceed(YON_CONFIG_GLOBAL); +void on_config_global_load(GtkWidget *){ + yon_load_proceed(YON_CONFIG_GLOBAL); + template_config->load_mode=0; + } -void on_config_custom_load(){ +void on_config_custom_load(GtkWidget *){ yon_load_proceed(YON_CONFIG_CUSTOM); + yon_ubl_status_box_render(GLOBAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); + template_config->load_mode=3; } void on_config_global_local_save(){ yon_save_proceed(NULL,YON_CONFIG_BOTH,config_get_global_command,NULL); +} + +void on_config_global_save(){ + yon_save_proceed("global",YON_CONFIG_GLOBAL,config_get_global_command,NULL); +} + +void on_config_local_save(){ + yon_save_proceed("system",YON_CONFIG_LOCAL,config_get_global_command,NULL); +} + +void on_config_custom_save(){ + yon_save_proceed(NULL,YON_CONFIG_CUSTOM,config_get_custom_command,NULL); +} + +void yon_ubl_settings_window_set_standard_callbacks(template_main_window *widgets, char *get_global_command, char *get_local_command,char *get_custom_command, char *get_default_command, char *get_global_only_command, char *get_local_only_command){ + if (!yon_char_is_empty(get_global_command)){ + g_signal_connect(G_OBJECT(widgets->LoadGlobalMenuItem),"activate",G_CALLBACK(on_config_global_load),NULL); + g_signal_connect(G_OBJECT(widgets->SaveGlobalMenuItem),"activate",G_CALLBACK(on_config_global_load),NULL); + config_get_global_command = yon_char_new(get_global_command); + config_set_global_command = yon_char_replace_single(get_global_command,"get","set"); + } + if (!yon_char_is_empty(get_global_command)){ + g_signal_connect(G_OBJECT(widgets->LoadLocalMenuItem),"activate",G_CALLBACK(on_config_local_load),NULL); + g_signal_connect(G_OBJECT(widgets->SaveLocalMenuItem),"activate",G_CALLBACK(on_config_local_save),NULL); + config_get_local_command = yon_char_new(get_local_command); + config_set_local_command = yon_char_replace_single(get_local_command,"get","set"); + } + if (!yon_char_is_empty(get_global_command)){ + g_signal_connect(G_OBJECT(widgets->LoadCustomMenuItem),"activate",G_CALLBACK(on_config_custom_load),NULL); + g_signal_connect(G_OBJECT(widgets->SaveCustomMenuItem),"activate",G_CALLBACK(on_config_custom_load),NULL); + config_get_custom_command = yon_char_new(get_custom_command); + config_set_custom_command = yon_char_replace_single(get_custom_command,"get","set"); + } + if (!yon_char_is_empty(get_default_command)) config_get_default_command = yon_char_new(get_default_command); + if (!yon_char_is_empty(get_global_only_command)) config_get_global_only_command = yon_char_new(get_global_only_command); + if (!yon_char_is_empty(get_local_only_command)) config_get_local_only_command = yon_char_new(get_local_only_command); +} + +int yon_ubl_settings_window_remove_standard_callbacks(template_main_window *window){ + } \ No newline at end of file diff --git a/source/libublsettingsui-gtk3.c b/source/libublsettingsui-gtk3.c index 4cd3315..94c26ee 100644 --- a/source/libublsettingsui-gtk3.c +++ b/source/libublsettingsui-gtk3.c @@ -5,6 +5,9 @@ template_app_info template_app_information; static char *__yon_config_mode=NULL; + +void config_init(); + char *yon_char_get_localised_from_lib(char *string){ textdomain(template_ui_LocaleName); char *ret = _(string); @@ -218,6 +221,7 @@ int yon_ubl_connect_config(_template_config *config){ else replaces=1; template_config = config; + config_init(); return replaces; } @@ -505,10 +509,22 @@ void yon_root_button_setup(template_main_window *widgets, config_str args, int a textdomain(template_app_information.app_locale); } +void config_init(){ + template_config->always_open_documentation=0; + template_config->socket_id=-1; + template_config->save_socket_id=-1; + template_config->load_socket_id=-1; + template_config->lock_help=0; + template_config->lock_help=0; + template_config->lock_load_global=0; + template_config->lock_save_global=0; + template_config->lock_save_local=0; + template_config->load_mode=1; +} + template_main_window *yon_ubl_window_setup(){ textdomain (template_ui_LocaleName); setlocale(LC_ALL,""); - template_main_window *widgets = setup_window(); yon_ubl_header_setup_resource(widgets->HeadOverlay,widgets->HeadBox,widgets->HeadImage,ui_banner_path); textdomain(template_ui_LocaleName); diff --git a/source/libublsettingsui-gtk3.h b/source/libublsettingsui-gtk3.h index 2c71354..0dcbb0e 100644 --- a/source/libublsettingsui-gtk3.h +++ b/source/libublsettingsui-gtk3.h @@ -96,6 +96,8 @@ typedef struct { template_config_fields } _template_config; +extern _template_config *template_config; + [[maybe_unused]] extern _template_config *template_config; @@ -246,6 +248,8 @@ void yon_gtk_scrolled_window_set_horizontal_at_desired_size(GtkWidget *window, G template_app_info yon_ubl_get_app_info(); +void yon_ubl_settings_window_set_standard_callbacks(template_main_window *widgets, char *get_global_command, char *get_local_command,char *get_custom_command, char *get_default_command, char *get_global_only_command, char *get_local_only_command); + typedef struct { GtkWidget *Window; @@ -421,7 +425,7 @@ yon_app_chooser_window *yon_app_chooser_window_new(int multiple_choise); #define OPEN_HELP_LABEL _("Open documentation") #define PROJECT_HOME_LABEL _("Project Home Page") #define NOTHING_CHOSEN_LABEL _("Nothing were chosen") - #define AUTHORS_LABEL _(L"Copyright © 2022 - 2023, UBSoft LLC") + #define AUTHORS_LABEL _(L"Copyright © 2022 - 2025, UBSoft LLC") #define GLOBAL_LOAD_SUCCESS_LABEL _("Global configuration loading succeeded.") @@ -463,6 +467,7 @@ yon_app_chooser_window *yon_app_chooser_window_new(int multiple_choise); #define PATH_INVALID_LABEL _("Invalid path") #define CHOOSE_FILE_LABEL _("Choose path") + #define CHOOSE_APP_LABEL _("Choose application") #define FILE_CHOOSER_CHOOSE_FILDER_LABEL _("Choose directory instead of file")