Исправил массив данных и функции работы с ним

pull/24/head
Igor Belitskiy 2 years ago
parent 2ab0555220
commit 547262c464

9
.gitignore vendored

@ -1,9 +0,0 @@
.vscode/
ubl-settings-TEMPLATE
*~
build/
compile/
*#
terminal-commands/
source/ubl-cmake.h
vgcore*

@ -1,168 +0,0 @@
#!/usr/bin/make -f
#SHELL := /bin/bash
MAKEFILE_FILEPATH := $(abspath $(lastword $(MAKEFILE_LIST)))
MAKEFILE_DIR := $(notdir $(patsubst %/,%,$(dir $(MAKEFILE_FILEPATH))))
MAKEFILE_PATH := $(dir $(MAKEFILE_FILEPATH))
CMAKE_COMMAND = cmake
CMAKE_SOURCE_DIR = $(MAKEFILE_PATH)source
CMAKE_BUILD_DIR = $(MAKEFILE_PATH)compile
#CMAKE_SOURCE_DIR = ./source
#CMAKE_BUILD_DIR = ./compile
DEPENDS = /bin/cmake
PREFIX ?= /usr
PKGNAME = $(MAKEFILE_DIR)
#PKGNAME = ubl-settings-manager
LATEST_TAG=
default_target: all
.PHONY: all init depend debug prepare check build uninstall install clean help
all: init build
init:
@echo "Initialize ..."; \
if [ -d ".git" ]; then \
LATEST_TAG=$$(git describe --tags | sed 's/^v//'|grep -oE "^[0-9]{1,}.[0-9]{1,}"); \
else \
LATEST_TAG="0.0"; \
fi; \
sed -r "s/^(string version_application).*/\1=\"$${LATEST_TAG}\";/" -i source/${PKGNAME}.h; \
echo "-- Build path: ${CMAKE_BUILD_DIR}"
depend:
@echo "Check depends ..."
@for FILE_DEPEND in $(DEPENDS); do \
if [ ! -f $${FILE_DEPEND} ]; then \
echo "ERROR: Depend '$${FILE_DEPEND}' not found !"; \
exit 1; \
fi; \
done; \
echo "Check depends: OK"
# $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
debug: init build
@echo "Debug ..."; \
if [ ! -d ${CMAKE_BUILD_DIR} ]; then \
$(CMAKE_COMMAND) -S${CMAKE_SOURCE_DIR} -B${CMAKE_BUILD_DIR} -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX="${PREFIX}"; \
fi; \
echo "${CMAKE_BUILD_DIR}/${PKGNAME}"; \
cp ${CMAKE_BUILD_DIR}/${PKGNAME} ./; \
echo "Debug: OK"
prepare:
@echo "Prepare ..."; \
if [ ! -d ${CMAKE_BUILD_DIR} ]; then \
$(CMAKE_COMMAND) -S${CMAKE_SOURCE_DIR} -B${CMAKE_BUILD_DIR} -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${PREFIX}"; \
fi; \
echo "Prepare: OK"
check:
@echo "Check ..."; \
if [ -f ${CMAKE_BUILD_DIR}/${PKGNAME} ]; then \
echo "Check: OK"; \
else \
echo "Check: ${CMAKE_BUILD_DIR}/${PKGNAME} not found !"; \
exit 1; \
fi
build: depend prepare
@echo "Build ..."; \
make --directory=${CMAKE_BUILD_DIR}; \
echo "Build: OK"
uninstall:
@echo "Uninstall ..."
@for FILE_PO in $(wildcard *.po); do \
LANG=$${FILE_PO##*_};LANG=$${LANG%.*}; \
FILE_MO=$${FILE_PO##*/}; FILE_MO="$${FILE_MO%_*.po}.mo"; \
PATH_FILE_MO="${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES/$${FILE_MO}"; \
$(RM) "$${PATH_FILE_MO}"; \
done
@for SIZE in 16x16 32x32 48x48 scalable; do \
$(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}/apps/com.ublinux.${PKGNAME}.svg"; \
$(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}/apps/com.ublinux.${PKGNAME}.png"; \
done
@for FILE_SVG in $(wildcard *.svg); do \
for SIZE in 16x16 32x32 48x48 scalable; do \
$(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}/status/$${FILE_SVG%.*}".{svg,png,jpg}; \
done; \
done
@$(RM) "${DESTDIR}${PREFIX}/bin/${PKGNAME}"
@$(RM) "${DESTDIR}${PREFIX}/share/applications/${PKGNAME}.desktop"
@$(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/com.ublinux.${PKGNAME}.svg"
@$(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/com.ublinux.${PKGNAME}.checked.svg"
@$(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/com.ublinux.${PKGNAME}.warning.svg"
@$(RM) "${DESTDIR}${PREFIX}/share/polkit-1/actions/com.ublinux.${PKGNAME}.policy"
@if [ -z ${DESTDIR} ]; then \
[ -d "${DESTDIR}${PREFIX}/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}${PREFIX}/share/icons/hicolor/" &>/dev/null || true; \
update-desktop-database --quiet &>/dev/null || true; \
[ -d "${DESTDIR}${PREFIX}/share/applications" ] && touch "${DESTDIR}${PREFIX}/share/applications" &>/dev/null || true; \
fi
@echo "Uninstall: OK"
install: check uninstall
@echo "Install ..."
#################################################### УДАЛИТЬ ПЕРЕД КОММИТОМ ################################################################################
@gcc source/ubl-cmake.h compile/resources.c compile/ubl-cmake.h source/ubl-settings-diskquota.c source/ubl-settings-diskquota.h source/ubl-strings.h source/model/ubl-utils.c source/model/ubl-utils.h -o ubl-settings-diskquota `pkg-config --cflags --libs gtk+-3.0 vte-2.91 webkit2gtk-4.0 webkit2gtk-web-extension-4.0` -g
#################################################### УДАЛИТЬ ПЕРЕД КОММИТОМ ################################################################################
@for FILE_PO in $(wildcard *.po); do \
LANG=$${FILE_PO##*_};LANG=$${LANG%.*}; \
install -dm755 "${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES"; \
FILE_MO=$${FILE_PO##*/}; FILE_MO="$${FILE_MO%_*.po}.mo"; \
PATH_FILE_MO="${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES/$${FILE_MO}"; \
echo "$${FILE_PO}"; \
msgfmt "$${FILE_PO}" -v -f -o "$${PATH_FILE_MO}"; \
done
@for SIZE in 16 32 48; do \
install -dm755 "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps"; \
rsvg-convert -w $${SIZE} -h $${SIZE} -f svg --keep-image-data "com.ublinux.${PKGNAME}.svg" -o "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps/com.ublinux.${PKGNAME}.svg"; \
done
@install -dm755 "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/" "com.ublinux.${PKGNAME}.svg"
@install -dm755 "${DESTDIR}${PREFIX}/share/polkit-1/actions"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/polkit-1/actions/" "com.ublinux.${PKGNAME}.policy"
@install -Dm755 -t "${DESTDIR}${PREFIX}/bin/" "${CMAKE_BUILD_DIR}/${PKGNAME}"
@install -dm755 "${DESTDIR}/etc/xdg"
@install -dm755 "${DESTDIR}${PREFIX}/share/applications"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/applications/" "${PKGNAME}.desktop"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.checked.svg"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.warning.svg"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/status/" "com.ublinux.${PKGNAME}.funnel.svg"
@if [ -z ${DESTDIR} ]; then \
[ -d "${DESTDIR}${PREFIX}/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}${PREFIX}/share/icons/hicolor/" &>/dev/null || true; \
update-desktop-database --quiet &>/dev/null || true; \
[ -d "${DESTDIR}${PREFIX}/share/applications" ] && touch "${DESTDIR}${PREFIX}/share/applications" &>/dev/null || true; \
fi
@echo "Install: OK"
@sed -r "s/^(string version_application=\"*\").*/string version_application;/" -i source/${PKGNAME}.h; \
clean:
@echo "Clean ..."
@$(RM) -rd ${CMAKE_BUILD_DIR}
@if [ -d ${CMAKE_BUILD_DIR} ]; then \
echo "Clean: error, compile directory exist ${CMAKE_BUILD_DIR}"; \
else \
echo "Clean: OK"; \
fi
up_ver:
@CURRENT=$$(grep 'VERSION' ${FILE_VERSION} | cut -d" " -f2); \
MAJOR=$$(cut -d. -f1 <<< $${CURRENT}); \
MINOR=$$(cut -d. -f2 <<< $${CURRENT}); \
VER="$${MAJOR}.$$(($${MINOR}+1))"; \
sed "s/VERSION *[[:digit:]]*.*/VERSION $${VER}/" -i ${FILE_VERSION}; \
echo "Updated version to VERSION.md: $${CURRENT} to $${VER}"
help:
@echo "The following are some of the valid targets for this Makefile:"; \
echo "... all (the default if no target is provided)"; \
echo "... init"; \
echo "... debug"; \
echo "... prepare"; \
echo "... compile"; \
echo "... install"; \
echo "... uninstall"; \
echo "... clean"; \
echo "... up_ver"

@ -1,29 +0,0 @@
# ubl-settings-diskquota
# Выполнить
# Build
In order to build ubl-settings-diskquota you will need:
- CMake
- C compiler
- GTK+ 3 & dependencies
- webkit2gtk (optional)
Once you have all the necessary dependencies, you can use:
```sh
$ make
```
# Installation
After a successful build, just use:
```sh
$ sudo make install clean
```
# Uninstallation
After a successful build, just use:
```sh
$ sudo make uninstall
```
![alt text](screenshot/screenshot.png)

@ -1,327 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="24"
height="24"
version="1.1"
viewBox="0 0 24 24"
id="svg25"
sodipodi:docname="checked.svg"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04, custom)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview27"
pagecolor="#ffffff"
bordercolor="#999999"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="14.8125"
inkscape:cx="-4.6919831"
inkscape:cy="9.9578059"
inkscape:window-width="1920"
inkscape:window-height="1027"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg25" />
<defs
id="defs19">
<style
id="current-color-scheme"
type="text/css">.ColorScheme-Text {
color:#31363b;
}
.ColorScheme-Background{
color:#eff0f1;
}
.ColorScheme-ViewText {
color:#31363b;
}
.ColorScheme-ViewBackground{
color:#fcfcfc;
}
.ColorScheme-ViewHover {
color:#3daee9;
}
.ColorScheme-ViewFocus{
color:#3daee9;
}
.ColorScheme-ButtonText {
color:#31363b;
}
.ColorScheme-ButtonBackground{
color:#eff0f1;
}
.ColorScheme-ButtonHover {
color:#3daee9;
}
.ColorScheme-ButtonFocus{
color:#3daee9;
}</style>
<style
type="text/css"
id="style3">.ColorScheme-Text {
color:#31363b;
}
.ColorScheme-Background{
color:#eff0f1;
}
.ColorScheme-ViewText {
color:#31363b;
}
.ColorScheme-ViewBackground{
color:#fcfcfc;
}
.ColorScheme-ViewHover {
color:#3daee9;
}
.ColorScheme-ViewFocus{
color:#3daee9;
}
.ColorScheme-ButtonText {
color:#31363b;
}
.ColorScheme-ButtonBackground{
color:#eff0f1;
}
.ColorScheme-ButtonHover {
color:#3daee9;
}
.ColorScheme-ButtonFocus{
color:#3daee9;
}</style>
<style
type="text/css"
id="style5">.ColorScheme-Text {
color:#31363b;
}
.ColorScheme-Background{
color:#eff0f1;
}
.ColorScheme-ViewText {
color:#31363b;
}
.ColorScheme-ViewBackground{
color:#fcfcfc;
}
.ColorScheme-ViewHover {
color:#3daee9;
}
.ColorScheme-ViewFocus{
color:#3daee9;
}
.ColorScheme-ButtonText {
color:#31363b;
}
.ColorScheme-ButtonBackground{
color:#eff0f1;
}
.ColorScheme-ButtonHover {
color:#3daee9;
}
.ColorScheme-ButtonFocus{
color:#3daee9;
}</style>
<style
type="text/css"
id="style7">.ColorScheme-Text {
color:#31363b;
}
.ColorScheme-Background{
color:#eff0f1;
}
.ColorScheme-ViewText {
color:#31363b;
}
.ColorScheme-ViewBackground{
color:#fcfcfc;
}
.ColorScheme-ViewHover {
color:#3daee9;
}
.ColorScheme-ViewFocus{
color:#3daee9;
}
.ColorScheme-ButtonText {
color:#31363b;
}
.ColorScheme-ButtonBackground{
color:#eff0f1;
}
.ColorScheme-ButtonHover {
color:#3daee9;
}
.ColorScheme-ButtonFocus{
color:#3daee9;
}</style>
<style
type="text/css"
id="style9">.ColorScheme-Text {
color:#31363b;
}
.ColorScheme-Background{
color:#eff0f1;
}
.ColorScheme-ViewText {
color:#31363b;
}
.ColorScheme-ViewBackground{
color:#fcfcfc;
}
.ColorScheme-ViewHover {
color:#3daee9;
}
.ColorScheme-ViewFocus{
color:#3daee9;
}
.ColorScheme-ButtonText {
color:#31363b;
}
.ColorScheme-ButtonBackground{
color:#eff0f1;
}
.ColorScheme-ButtonHover {
color:#3daee9;
}
.ColorScheme-ButtonFocus{
color:#3daee9;
}</style>
<style
type="text/css"
id="style11">.ColorScheme-Text {
color:#31363b;
}
.ColorScheme-Background{
color:#eff0f1;
}
.ColorScheme-ViewText {
color:#31363b;
}
.ColorScheme-ViewBackground{
color:#fcfcfc;
}
.ColorScheme-ViewHover {
color:#3daee9;
}
.ColorScheme-ViewFocus{
color:#3daee9;
}
.ColorScheme-ButtonText {
color:#31363b;
}
.ColorScheme-ButtonBackground{
color:#eff0f1;
}
.ColorScheme-ButtonHover {
color:#3daee9;
}
.ColorScheme-ButtonFocus{
color:#3daee9;
}</style>
<style
type="text/css"
id="style13">.ColorScheme-Text {
color:#31363b;
}
.ColorScheme-Background{
color:#eff0f1;
}
.ColorScheme-ViewText {
color:#31363b;
}
.ColorScheme-ViewBackground{
color:#fcfcfc;
}
.ColorScheme-ViewHover {
color:#3daee9;
}
.ColorScheme-ViewFocus{
color:#3daee9;
}
.ColorScheme-ButtonText {
color:#31363b;
}
.ColorScheme-ButtonBackground{
color:#eff0f1;
}
.ColorScheme-ButtonHover {
color:#3daee9;
}
.ColorScheme-ButtonFocus{
color:#3daee9;
}</style>
<style
type="text/css"
id="style15">.ColorScheme-Text {
color:#31363b;
}
.ColorScheme-Background{
color:#eff0f1;
}
.ColorScheme-ViewText {
color:#31363b;
}
.ColorScheme-ViewBackground{
color:#fcfcfc;
}
.ColorScheme-ViewHover {
color:#3daee9;
}
.ColorScheme-ViewFocus{
color:#3daee9;
}
.ColorScheme-ButtonText {
color:#31363b;
}
.ColorScheme-ButtonBackground{
color:#eff0f1;
}
.ColorScheme-ButtonHover {
color:#3daee9;
}
.ColorScheme-ButtonFocus{
color:#3daee9;
}</style>
<style
type="text/css"
id="style17">.ColorScheme-Text {
color:#31363b;
}
.ColorScheme-Background{
color:#eff0f1;
}
.ColorScheme-ViewText {
color:#31363b;
}
.ColorScheme-ViewBackground{
color:#fcfcfc;
}
.ColorScheme-ViewHover {
color:#3daee9;
}
.ColorScheme-ViewFocus{
color:#3daee9;
}
.ColorScheme-ButtonText {
color:#31363b;
}
.ColorScheme-ButtonBackground{
color:#eff0f1;
}
.ColorScheme-ButtonHover {
color:#3daee9;
}
.ColorScheme-ButtonFocus{
color:#3daee9;
}</style>
</defs>
<path
id="path21"
d="M 12 1 C 5.906 1 1 5.906 1 12 C 1 18.094 5.906 23 12 23 C 18.094 23 23 18.094 23 12 C 23 5.906 18.094 1 12 1 z M 15.480469 8.9042969 C 16.392469 8.8782969 16.860031 9.9850937 16.207031 10.621094 L 11 15.828125 L 8.09375 12.921875 C 7.11175 11.979875 8.5648125 10.525813 9.5078125 11.507812 L 11 13 L 14.792969 9.2070312 A 1 1 0 0 1 15.480469 8.9042969 z "
style="fill:#4d4d4d;fill-opacity:1" />
</svg>

Before

Width:  |  Height:  |  Size: 7.4 KiB

@ -1,45 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
version="1.1"
id="svg1359"
width="256"
height="256"
viewBox="0 0 256 256"
sodipodi:docname="funnel.svg"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04, custom)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs1363" />
<sodipodi:namedview
id="namedview1361"
pagecolor="#ffffff"
bordercolor="#999999"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="1.5333252"
inkscape:cx="133.37027"
inkscape:cy="231.84906"
inkscape:window-width="1920"
inkscape:window-height="1027"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g1365" />
<g
inkscape:groupmode="layer"
inkscape:label="Image"
id="g1365">
<path
style="fill:#313131;stroke-width:0.499256;fill-opacity:1"
d="m 104.65705,237.70905 c -0.62183,-0.24981 -1.35199,-1.03652 -1.62259,-1.74825 -0.31065,-0.81708 -0.49199,-18.8221 -0.49199,-48.8496 V 139.55564 L 63.364841,95.35613 24.187217,51.156622 18.806245,50.863604 C 12.784621,50.535703 10.172614,49.782271 6.8934643,47.427365 -3.1207996,40.235664 -1.3333195,24.490308 10.106237,19.127045 l 2.819779,-1.322011 H 128.00452 243.08303 l 2.81978,1.322011 c 3.59114,1.683651 6.65629,4.748951 8.33921,8.33961 1.8728,3.995783 1.8839,9.615451 0.0268,13.553783 -3.22543,6.840051 -9.19011,9.973686 -19.00052,9.982229 l -3.32143,0.0029 -39.24013,44.276883 -39.24012,44.27689 -0.011,35.72889 c -0.0103,33.46974 -0.0684,35.85515 -0.9194,37.72591 -0.49963,1.09836 -1.22486,2.25007 -1.61161,2.55936 -1.04329,0.83431 -44.14983,22.65836 -44.68151,22.62142 -0.25051,-0.0174 -0.96424,-0.23604 -1.58606,-0.48586 z"
id="path1444" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>
<vendor>UBLinux</vendor>
<vendor_url>https://ublinux.ru</vendor_url>
<action id="com.ublinux.ubl-settings-diskquota.run">
<description>Run ubl-settings-diskquota as root</description>
<description xml:lang="ru">Запуск утилиты ubl-settings-diskquota с правами root</description>
<message>Authentication is required to run ubl-settings-diskquota</message>
<message xml:lang="ru">Требуется авторизация для запуска утилиты ubl-settings-diskquota с правами root</message>
<defaults>
<allow_any>auth_admin</allow_any>
<allow_inactive>auth_admin</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/ubl-settings-diskquota</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
</policyconfig>

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 218 KiB

@ -1,55 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
viewBox="0 0 24 24"
id="svg2"
version="1.1"
inkscape:version="1.1.2 (0a00cf5339, 2022-02-04, custom)"
sodipodi:docname="warning.svg"
width="24"
height="24"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<metadata
id="metadata12">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs10" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1027"
id="namedview8"
showgrid="false"
inkscape:zoom="18.96875"
inkscape:cx="5.4827018"
inkscape:cy="9.3047776"
inkscape:current-layer="svg2"
inkscape:pagecheckerboard="0"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1" />
<path
id="path4136-2"
style="opacity:1;fill:#4d4d4d;fill-opacity:1"
d="M 11.292969 1.0234375 A 11 11.000002 86.311656 0 0 1.0234375 12.707031 A 11 11.000002 86.311656 0 0 12.707031 22.976562 A 11 11.000002 86.311656 0 0 22.976562 11.292969 A 11 11.000002 86.311656 0 0 11.292969 1.0234375 z M 11.996094 6 L 12.003906 6 C 12.556173 6 13 6.4439 13 6.9960938 L 13 14.003906 C 13 14.556325 12.556173 15 12.003906 15 L 11.996094 15 C 11.443827 15 11 14.556325 11 14.003906 L 11 6.9960938 C 11 6.4439 11.443827 6 11.996094 6 z M 12 17 C 12.554 17 13 17.446 13 18 C 13 18.554 12.554 19 12 19 C 11.446 19 11 18.554 11 18 C 11 17.446 11.446 17 12 17 z " />
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/com/ublinux/ui">
<file>ubl-settings-diskquota.glade</file>
</gresource>
<gresource prefix="/com/ublinux/css">
<file>ubl-settings-diskquota.css</file>
</gresource>
<gresource prefix="/com/ublinux/images">
<file>ubl-settings-diskquota-banner.png</file>
</gresource>
</gresources>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

@ -1,96 +0,0 @@
cmake_minimum_required(VERSION 3.7)
project(ubl-settings-diskquota)
find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK REQUIRED gtk+-3.0)
include_directories(${GTK_INCLUDE_DIRS})
link_directories(${GTK_LIBRARY_DIRS})
add_definitions(${GTK_CFLAGS_OTHER})
#pkg_check_modules(VTE291 REQUIRED vte-2.91)
#include_directories(${VTE291_INCLUDE_DIRS})
#link_directories(${VTE291_LIBRARY_DIRS})
#add_definitions(${VTE291_CFLAGS_OTHER})
find_library(WEBKIT_LIBRARIES_FOUND webkit2gtk-4.0 webkit2gtk-web-extension-4.0)
option(WEBKIT_FOUND "No" OFF)
if(WEBKIT_LIBRARIES_FOUND)
option(WEBKIT_FOUND "Yes" ON)
PKG_CHECK_MODULES(WEBKIT REQUIRED webkit2gtk-4.0 webkit2gtk-web-extension-4.0)
include_directories(${WEBKIT_INCLUDE_DIRS})
link_directories(${WEBKIT_LIBRARY_DIRS})
add_definitions(${WEBKIT_CFLAGS_OTHER})
endif()
configure_file(ubl-cmake.in ubl-cmake.h)
file(COPY ${CMAKE_CURRENT_BINARY_DIR}/ubl-cmake.h DESTINATION ./)
set(GRESOURCE_C resources.c)
set(GRESOURCE_XML gresource.xml)
find_program(GLIB_COMPILE_RESOURCES NAMES glib-compile-resources REQUIRED)
add_custom_target(GLADE ubl-settings-diskquota.glade)
set(DEPENDFILES
../ubl-settings-diskquota.glade
../gresource.xml
../ubl-settings-diskquota-banner.png
../ubl-settings-diskquota.css
)
file(COPY ${DEPENDFILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
add_custom_command(
OUTPUT ${GRESOURCE_C}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${GLIB_COMPILE_RESOURCES}
ARGS
--generate-source
--target=${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C}
${GRESOURCE_XML}
VERBATIM
MAIN_DEPENDENCY ${GRESOURCE_XML}
DEPENDS
${GLADE}
)
add_custom_target(
dummy-resource
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C}
)
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -std=c++2a")
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -lm")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always \
-O2 -pipe -fno-plt -fexceptions \
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
-fstack-clash-protection -fcf-protection")
set(SOURCE_FILES
ubl-settings-diskquota.c
ubl-settings-diskquota.h
ubl-strings.h
model/ubl-utils.h
model/ubl-utils.c
${CMAKE_CURRENT_BINARY_DIR}/ubl-cmake.h
)
set(LIBRARIES
${GTK_LIBRARIES}
${WEBKIT_LIBRARIES}
# ${VTE291_LIBRARIES}
pthread)
add_executable(${PROJECT_NAME} ${SOURCE_FILES} ${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C})
target_link_libraries(${PROJECT_NAME} PUBLIC ${LIBRARIES})
target_include_directories(${PROJECT_NAME} PUBLIC ${PROJECT_BINARY_DIR})
set_source_files_properties(
${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C}
PROPERTIES GENERATED TRUE
)
install(TARGETS ${PROJECT_NAME} DESTINATION bin)
add_dependencies(${PROJECT_NAME} dummy-resource)

@ -1,118 +0,0 @@
#include "controler.h"
struct model_cfg_u_g_p* cfg_user = NULL;
struct model_cfg_u_g_p* cfg_group = NULL;
struct model_cfg_u_g_p* cfg_project = NULL;
struct model_cfg_general* cfg_general = NULL;
struct struct_gui* cfg_gui = NULL;
void load_system_cfg() {
cfg_gui->flag_load = 0;
template_load_cfg(CMD_LOAD_SYSTEM);
yon_ubl_status_box_render(LOCAL_LOAD_SUCCESS, BACKGROUND_IMAGE_SUCCESS_TYPE);
}
void load_global_cfg() {
cfg_gui->flag_load = 1;
template_load_cfg(CMD_LOAD_GLOBAL);
yon_ubl_status_box_render(GLOBAL_LOAD_SUCCESS,BACKGROUND_IMAGE_SUCCESS_TYPE);
}
int main(int argc, char *argv[]){
local=setlocale(LC_ALL, "");
textdomain (LocaleName);
config_init();
int option_index=0;
int show_help=0;
int debug_mode=0;
{
struct option long_options[] = {
{"help", 0, 0, 'h'},
{"version", 0, 0, 'V'},
{"lock-help", 0,0, 1},
{"lock-save", 0,0, 2},
{"lock-save-local", 0,0, 3},
{"lock-save-global", 0,0, 4},
{"lock-load-global", 0,0, 5},
{"socket-id", 1, 0, 's'},
{"socket-ext-id", 1,0, 'e'},
{"socket-trd-id", 1,0, 't'},
{"debug", 0,0, 'd'},
{ NULL, 0, NULL, 0 }
};
for (int i=0;i<argc;i++){
int argument=getopt_long(argc,argv,"hVvs:e:t:d",long_options,&option_index);
switch(argument){
case 'h':
show_help=1;
break;
case 'v':
case 'V':
printf("%s\n",VERSION_LABEL);
exit(0);
break;
case 's':
if(optarg)
main_config.socket_id=atoi(optarg);
break;
case 'e':
if(optarg)
main_config.load_socket_id=atoi(optarg);
break;
case 't':
if(optarg)
main_config.save_socket_id=atoi(optarg);
break;
case 1:
main_config.lock_help=1;
break;
case 2:
main_config.lock_save_local=1;
main_config.lock_save_global=1;
break;
case 3:
main_config.lock_save_local=1;
break;
case 4:
main_config.lock_save_global=1;
break;
case 5:
main_config.lock_load_global=1;
break;
}
}
if (show_help==1&&main_config.lock_help!=1){
printf("%s\n",HELP_LABEL);
exit(0);
}
}
if (getuid()!=0){
main_config.lock_load_global=1;
main_config.lock_save_global=1;
main_config.lock_save_local=1;
}
gtk_init(&argc,&argv);
main_window *widgets = setup_window();
yon_ubl_header_setup_resource(widgets->HeadOverlay,widgets->HeadBox,widgets->HeadImage,banner_path);
yon_ubl_status_box_setup(widgets->StatusIcon,widgets->StatusBox,widgets->StatusLabel);
if (getuid()!=0)
yon_ubl_status_box_render(ROOT_WARNING_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
else
yon_ubl_status_box_render(TITLE_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
yon_ubl_setup_sockets(widgets->PlugBox,widgets->LeftBox,widgets->RightBox,main_config.socket_id,main_config.load_socket_id,main_config.save_socket_id);
yon_window_config_setup(GTK_WINDOW(widgets->Window));
yon_window_config_load(config_path);
GtkCssProvider *css=gtk_css_provider_new();
gtk_css_provider_load_from_resource(css,CssPath);
gtk_style_context_add_provider_for_screen(gdk_screen_get_default(),
GTK_STYLE_PROVIDER(css),
-1);
gtk_main();
}

@ -1,7 +0,0 @@
#include "ubl-settings-diskquota.h"
#include "model.h"
#include "load.h"
#include "ubl-strings.h"
int main(int argc, char *argv[]);

@ -1,25 +0,0 @@
#include "load.h"
void template_load_cfg(model_cfg_general* config, char* cmd) {
clear_array();
int size = 0;
char** cfg = yon_config_load(cmd, &size);
philos_array_string_remove_char(&cfg, "\n", size);
for (int index = 0; index < size; index++) {
char* str_key_value = yon_char_new(cfg[index]);
char* str_key = yon_char_divide_search(str_key_value, "=",-1);
if (yon_char_find_count(str_key, "CGROUP_QUOTA") != 0) {
if (str_key_value[0] == '\"') {
yon_char_divide(str_key_value, 0);
size_t length = strlen(str_key_value);
str_key_value = yon_char_divide(str_key_value, length-1);
}
str_split_value(str_key_value, config->size);
str_split_key(str_key, config->size);
config->size++;
}
}
config->flag_set_data = 0;
}

@ -1,2 +0,0 @@
#include "ubl-utils.h"
#include "ubl-strings.h"

@ -1,89 +1,89 @@
#include "model.h"
void model_clear_cfg(model_cfg_u_g_p* config) {
philos_free_int_array(config->id, config->size);
philos_free_string_array(config->name, config->size);
philos_free_string_array(config->quota, config->size);
philos_free_string_array(config->quota, config->size);
philos_free_string_array(config->size_memory, config->size);
philos_free_int_array(config->soft_restriction_size, config->size);
philos_free_int_array(config->soft_restriction_file, config->size);
philos_free_int_array(config->severe_limitation_size, config->size);
philos_free_int_array(config->severe_limitation_file, config->size);
philos_free_int_array(config->deferring_size, config->size);
philos_free_int_array(config->deferring_file, config->size);
philos_free_int_array(config->size_memory_pow, config->size);
philos_free_int_array(config->soft_restriction_size_pow, config->size);
philos_free_int_array(config->soft_restriction_file_pow, config->size);
philos_free_int_array(config->severe_limitation_size_pow, config->size);
philos_free_int_array(config->severe_limitation_file_pow, config->size);
philos_free_int_array(config->deferring_size_pow, config->size);
philos_free_int_array(config->deferring_file_pow, config->size);
philos_free_string_array(config->device, config->size);
void model_clear_cfg(config_u_g_p* _config) {
philos_free_int_array(&_config->id, _config->size);
philos_free_string_array(&_config->name, _config->size);
philos_free_string_array(&_config->quota, _config->size);
philos_free_string_array(&_config->quota, _config->size);
philos_free_string_array(&_config->size_memory, _config->size);
philos_free_int_array(&_config->soft_restriction_size, _config->size);
philos_free_int_array(&_config->soft_restriction_file, _config->size);
philos_free_int_array(&_config->severe_limitation_size, _config->size);
philos_free_int_array(&_config->severe_limitation_file, _config->size);
philos_free_int_array(&_config->deferring_size, _config->size);
philos_free_int_array(&_config->deferring_file, _config->size);
philos_free_int_array(&_config->size_memory_pow, _config->size);
philos_free_int_array(&_config->soft_restriction_size_pow, _config->size);
philos_free_int_array(&_config->soft_restriction_file_pow, _config->size);
philos_free_int_array(&_config->severe_limitation_size_pow, _config->size);
philos_free_int_array(&_config->severe_limitation_file_pow, _config->size);
philos_free_int_array(&_config->deferring_size_pow, _config->size);
philos_free_int_array(&_config->deferring_file_pow, _config->size);
philos_free_string_array(&_config->device, _config->size);
config->size = 0;
_config->size = 0;
}
void model_null_cfg(model_cfg_u_g_p* config) {
if (config->size == 0) {
config->id = NULL;
config->name = NULL;
config->quota = NULL;
config->size_memory = NULL;
config->files = NULL;
config->soft_restriction_size = NULL;
config->soft_restriction_file = NULL;
config->severe_limitation_size = NULL;
config->severe_limitation_file = NULL;
config->deferring_size = NULL;
config->deferring_file = NULL;
config->size_memory_pow = NULL;
config->soft_restriction_size_pow = NULL;
config->soft_restriction_file_pow = NULL;
config->severe_limitation_size_pow = NULL;
config->severe_limitation_file_pow = NULL;
config->deferring_size_pow = NULL;
config->deferring_file_pow = NULL;
config->device = NULL;
void model_null_cfg(config_u_g_p* _config) {
if (_config->size == 0) {
_config->id = NULL;
_config->name = NULL;
_config->quota = NULL;
_config->size_memory = NULL;
_config->files = NULL;
_config->soft_restriction_size = NULL;
_config->soft_restriction_file = NULL;
_config->severe_limitation_size = NULL;
_config->severe_limitation_file = NULL;
_config->deferring_size = NULL;
_config->deferring_file = NULL;
_config->size_memory_pow = NULL;
_config->soft_restriction_size_pow = NULL;
_config->soft_restriction_file_pow = NULL;
_config->severe_limitation_size_pow = NULL;
_config->severe_limitation_file_pow = NULL;
_config->deferring_size_pow = NULL;
_config->deferring_file_pow = NULL;
_config->device = NULL;
}
}
void model_clear_general(model_cfg_general* config) {
philos_free_int_array(config->flag_status, config->size);
void model_clear_general(config_general* _config) {
philos_free_int_array(&_config->flag_status, _config->size);
config->size = 0;
_config->size = 0;
}
void model_null_general(model_cfg_general* config) {
if (config->size == 0) {
config->flag_status = NULL;
void model_null_general(config_general* _config) {
if (_config->size == 0) {
_config->flag_status = NULL;
}
}
void model_tree_view_add(model_cfg_general* config) {
model_null_str_writing(config, config->size);
void model_tree_view_add(config_u_g_p* _config) {
model_null_str_writing(_config, _config->size);
}
void model_null_str_writing(model_cfg_general* config, int index) {
philos_set_size_memory_integer_char("-", config->name, index);
philos_set_size_memory_integer_char("-", config->quota, index);
philos_set_size_memory_integer_char("-", config->size_memory, index);
philos_set_size_memory_integer_char("-", config->files, index);
philos_set_size_memory_integer_char("-", config->device, index);
philos_set_pow_size_memory("-", config->soft_restriction_size, index, array_size_pow);
philos_set_pow_size_memory("-", config->soft_restriction_file, index, array_size_pow);
philos_set_pow_size_memory("-", config->severe_limitation_size, index, array_size_pow);
philos_set_pow_size_memory("-", config->severe_limitation_file, index, array_size_pow);
philos_set_pow_size_memory("-", config->deferring_size, index, array_size_pow);
philos_set_pow_size_memory("-", config->deferring_file, index, array_size_pow);
philos_set_pow_size_memory("-", config->size_memory_pow, index, array_size_pow);
philos_set_pow_size_memory("-", config->soft_restriction_size_pow, index, array_size_pow);
philos_set_pow_size_memory("-", config->soft_restriction_file_pow, index, array_size_pow);
philos_set_pow_size_memory("-", config->severe_limitation_size_pow, index, array_size_pow);
philos_set_pow_size_memory("-", config->severe_limitation_file_pow, index, array_size_pow);
philos_set_pow_size_memory("-", config->deferring_size_pow, index, array_size_pow);
philos_set_pow_size_memory("-", config->deferring_file_pow, index, array_size_pow);
void model_null_str_writing(config_u_g_p* _config, int index) {
philos_set_size_memory_integer_char("-", &_config->name, index);
philos_set_size_memory_integer_char("-", &_config->quota, index);
philos_set_size_memory_integer_char("-", &_config->size_memory, index);
philos_set_size_memory_integer_char("-", &_config->files, index);
philos_set_size_memory_integer_char("-", &_config->device, index);
philos_set_pow_size_memory("-", &_config->soft_restriction_size, index, array_size_pow);
philos_set_pow_size_memory("-", &_config->soft_restriction_file, index, array_size_pow);
philos_set_pow_size_memory("-", &_config->severe_limitation_size, index, array_size_pow);
philos_set_pow_size_memory("-", &_config->severe_limitation_file, index, array_size_pow);
philos_set_pow_size_memory("-", &_config->deferring_size, index, array_size_pow);
philos_set_pow_size_memory("-", &_config->deferring_file, index, array_size_pow);
philos_set_pow_size_memory("-", &_config->size_memory_pow, index, array_size_pow);
philos_set_pow_size_memory("-", &_config->soft_restriction_size_pow, index, array_size_pow);
philos_set_pow_size_memory("-", &_config->soft_restriction_file_pow, index, array_size_pow);
philos_set_pow_size_memory("-", &_config->severe_limitation_size_pow, index, array_size_pow);
philos_set_pow_size_memory("-", &_config->severe_limitation_file_pow, index, array_size_pow);
philos_set_pow_size_memory("-", &_config->deferring_size_pow, index, array_size_pow);
philos_set_pow_size_memory("-", &_config->deferring_file_pow, index, array_size_pow);
}
@ -96,61 +96,3 @@ void model_array_size_memory() {
array_size_pow = yon_char_parsed_append(array_size_pow,&size_array_size_pow, STR_TB);
}
void fill_tree_view_u_g_p(struct_gui* config_gui, model_cfg_general* config, int start, int flag_gui_add) {
GtkTreeModel *model = GTK_TREE_MODEL(config_gui->list);
if (flag_gui_add == 0) {
g_object_ref(config_gui->list);
gtk_list_store_clear(config_gui->list);
}
for (int index = start; index < config->size; index++) {
GtkTreeIter iter;
gtk_list_store_append(config_gui->list,&iter);
if (strcmp(config->type_arr, "project") != 0) {
gtk_list_store_set(config_gui->list,&iter,
0,config->name[index],
1,config->quota[index],
2,config->files[index],
3,philos_format_cfg_str_size_memory("", config->soft_restriction_size[index],config->soft_restriction_size_pow[index]),
4,philos_format_cfg_str_size_memory("", config->soft_restriction_file[index],config->soft_restriction_file_pow[index]),
5,philos_format_cfg_str_size_memory("", config->severe_limitation_size[index],config->severe_limitation_size_pow[index]),
6,philos_format_cfg_str_size_memory("", config->severe_limitation_file[index], config->severe_limitation_file_pow[index]),
7,philos_format_cfg_str_size_memory("", config->deferring_size[index], config->deferring_size_pow[index]),
8,philos_format_cfg_str_size_memory("", config->deferring_file[index], config->deferring_file_pow[index]),
-1);
}
else {
gtk_list_store_set(config_gui->list,&iter,
0,config->id[index]
1,config->name[index],
2,config->quota[index],
3,config->files[index],
4,philos_format_cfg_str_size_memory("", config->soft_restriction_size[index],config->soft_restriction_size_pow[index]),
5,philos_format_cfg_str_size_memory("", config->soft_restriction_file[index],config->soft_restriction_file_pow[index]),
6,philos_format_cfg_str_size_memory("", config->severe_limitation_size[index],config->severe_limitation_size_pow[index]),
7,philos_format_cfg_str_size_memory("", config->severe_limitation_file[index], config->severe_limitation_file_pow[index]),
8,philos_format_cfg_str_size_memory("", config->deferring_size[index], config->deferring_size_pow[index]),
9,philos_format_cfg_str_size_memory("", config->deferring_file[index], config->deferring_file_pow[index]),
-1);
}
}
if (flag_gui_add != 0) {
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->treeViewMain), model);
}
}
void fill_tree_view_u_g_p(struct_gui* config_gui, model_cfg_general* config, int start,int flag_gui_add) {
GtkTreeModel *model = GTK_TREE_MODEL(config_gui->list);
if (flag_gui_add == 0) {
g_object_ref(config_gui->list);
gtk_list_store_clear(config_gui->list);
}
for (int index = start; index < config->size; index++) {
GtkTreeIter iter;
gtk_list_store_append(config_gui->list,&iter);
if (strcmp(config->type_arr, "project") != 0) {
gtk_list_store_set(config_gui->list,&iter, -1);
}
}
if (flag_gui_add != 0) {
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->treeViewMain), model);
}
}

@ -1,17 +1,31 @@
#ifndef MODEL_H
#define MODEL_H
#include "ubl-utils.h"
#include "ubl-strings.h"
#include "model.h"
#include "../ubl-strings.h"
#include "philos_utils.h"
static char** array_size_pow = NULL;
struct model_cfg_u_g_p {
char* type_arr;
typedef struct{
int* status;
char** type_arr;
int* id;
char** name;
char** quota;
char** size_memory;
char** UNIX_file;
char** files;
char** actors;
int* number;
int* status_set;
char** loaded_keys;
/*
0 = not set
1 = del;
2 = update
*/
char** delete_key;
int* soft_restriction_size;
int* soft_restriction_file;
int* severe_limitation_size;
@ -31,13 +45,19 @@ struct model_cfg_u_g_p {
int flag_set_data;
int flag_save;
int flag_load;
};
} config_u_g_p;
struct model_cfg_general{
typedef struct{
int *flag_status;
}
int size;
} config_general;
struct struct_gui {
typedef struct{
int flag_load;
}
} config_gui;
void model_null_str_writing(config_u_g_p* _config, int index);
void model_clear_cfg(config_u_g_p* _config);
#endif

@ -1,50 +0,0 @@
#include "my_device.h"
device_config obj_device_config;
device_config* get_device_cfg() {
return &obj_device_config;
}
void device_disk_parsed() {
char* cmd = "lsblk --fs --raw --output PATH,FSTYPE --exclude 7,11,253";
int size = 0;
char** responce = yon_config_load(cmd, &size);
obj_device_config.size_disk = 0;
char* split_simvol = " ";
for (int index = 1; index < size; index++ ) {
char* disk = yon_char_divide_search(responce[index], "\n", -1);
if (yon_char_find_count(disk, " ") != 0) {
char* name_disk = yon_char_divide_search(disk, " ", -1);
obj_device_config.name_disk = yon_char_parsed_append(obj_device_config.name_disk, &obj_device_config.size_disk, name_disk);
obj_device_config.size_disk--;
obj_device_config.file_system = yon_char_parsed_append(obj_device_config.file_system, &obj_device_config.size_disk, disk);
obj_device_config.size_disk--;
obj_device_config.mounted = yon_char_parsed_append(obj_device_config.mounted, &obj_device_config.size_disk, "");
obj_device_config.size_disk--;
obj_device_config.type_dick = yon_char_parsed_append(obj_device_config.type_dick, &obj_device_config.size_disk, "");
obj_device_config.size_disk--;
disk = yon_char_replace(disk," ", "");
if (strlen(disk)!=0) {
char* description_disk = yon_char_unite(name_disk,
split_simvol,
disk,
NULL);
obj_device_config.description_disk = yon_char_parsed_append(obj_device_config.description_disk, &obj_device_config.size_disk, description_disk);
free(description_disk);
}
free(name_disk);
}
free(disk);
}
philos_free_string_array(&responce, size);
}
void device_fill_disk(GtkWidget* combo_box_text) {
for (int index = 0; index < obj_device_config.size_disk; index++) {
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box_text), obj_device_config.description_disk[index]);
}
}

@ -1,24 +0,0 @@
#ifndef MY_DEVICE_H
#define MY_DEVICE_H
#include "ubl-utils.h"
#include <locale.h>
#include <stdio.h>
#include <unistd.h>
#include "philos_utils.h"
typedef struct {
char** name_disk;
char** file_system;
char** mounted;
char** type_dick;
char** description_disk;
int size_disk;
} device_config;
void device_disk_parsed();
device_config* get_device_cfg();
void device_fill_disk(GtkWidget* combo_box_text);
size_t get_mem_total();
float get_size_pow_memory(size_t size_memory, int size);
size_t get_resurs_total(char* cmd);
#endif

File diff suppressed because it is too large Load Diff

@ -1,120 +0,0 @@
#ifndef PHILOS_UTILS_H
#define PHILOS_UTILS_H
#include "ubl-utils.h"
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <pthread.h>
#include <string.h>
#include <dirent.h>
#include <locale.h>
#include <gtk/gtk.h>
#include <gtk/gtkx.h>
#include <vte/vte.h>
#include <pwd.h>
#include <stdbool.h>
#include "my_device.h"
#define catch(x) ExitJmp:if(__HadError)
#define throw(x) {__HadError=true;goto ExitJmp;}
#define file_source_login_min_max "/etc/login.defs"
static char** array_size_pow;
typedef struct {
char** disk_read;
char** disk_write;
int* i_o_limit_read;
int* i_o_limit_write;
int* i_o_limit_read_size;
int* i_o_limit_write_size;
int size;
int size_disk;
} temp_config;
typedef struct {
GtkWidget* Window;
GtkWidget* btnSaveTempSave;
GtkWidget* btnTempCancel;
GtkWidget* entryTempCmd;
GtkWidget* chbTempRead;
GtkWidget* spinTempRead;
GtkWidget* cbtTempRead;
GtkWidget* chbTempWrite;
GtkWidget* spinTempWrite;
GtkWidget* cbtTempWrite;
GtkWidget* chkSoftRestrictionTemp;
GtkWidget* spiSevereRestrictionTemp;
GtkWidget* cmSevereRestrictionTemp;
GtkWidget* chkSevereRestrictionTemp;
GtkWidget* spinSevereRestrictionTemp;
GtkWidget* cmbSevereRestrictionTemp;
GtkWidget* chkPaddingFLTemp;
GtkWidget* spinPaddingFLTemp;
GtkWidget* cmbPaddingFLTemp;
GtkWidget* chkCPULimitTemp;
GtkWidget* spinCPULimitTemp;
GtkWidget* lblCPULimitTemp;
GtkWidget* cbtTempDevice;
GtkWidget* cbxTempQuotaObj;
GtkWidget* cbxTempQuotaLevel2;
GtkWidget* boxBlockGui;
} temp_set_window;
void philos_array_string_remove_char(char*** array, char* str_remove, int size);
void philos_set_pow_size_memory(char* str_find, int** array_size,int index, char** array_size_pow);
void philos_set_size_memory_integer_char(char* str_find, char*** array_data, int index);
void philos_free_string_array(char ***array, int size);
void philos_free_string_array_n3(char ****array, int size);
void philos_free_int_array(int **array, int size);
void philos_free_int_array_n2(int ***array, int size);
config_str philos_list_group(int* size);
unsigned short philos_read_uid_min_max(char* filename, char* search);
config_str philos_list_user(int* size);
char* philos_str_size_pow_byte(GtkWidget *combo_box_text);
char* philos_str_remove(char *str, const char *sub);
void philos_split_size_memory(char* str_value, int* size, char* pow_memory);
char* philos_format_cfg_str_size_memory(char* str_key, int value, int pow_size_memory);
char** philos_str_split(char *parameters, int *size, char *divider);
void philos_array_str_copy(char*** source, char*** copy);
void philos_set_pow_size_memory_device(char* str_find, int** array_size,int index, char** array_size_pow);
void philos_array_int_copy(int** source, int** copy);
char** philos_pars_terminal_systemd_cgls(char* CMD_GET_SLICE_SERVICE, char* str_find, int* size_array_data);
char* philos_pard_array_add_cmd(char* cmd, temp_config* _config, char* key, int* array_io, int* array_io_pow_size, char** disk, int size);
int philos_check_activ_disk(temp_set_window *widgets, temp_config* _config);
void philos_temp_generate_cmd(temp_set_window *widgets, temp_config* _config);
void philos_temp_del_disk(temp_set_window *widgets, temp_config* _config, int flag_check_array);
void philos_temp_config_init(temp_config* _config);
void philos_update_device_to_entry(temp_set_window *widgets, temp_config* _config, int flag_check_array);
void philos_temp_add_disk(temp_set_window *widgets, temp_config* _config, int flag_check_array);
int* philos_int_append(int* array, int* size, int value);
int* remove_element_int_array(int* array, int* size, int item_to_delete);
int** remove_element_int_array_n3(int** array, int* size, int item_to_delete);
char* philos_get_size_bite(GtkWidget* chk_button, GtkWidget* spin, GtkWidget* combo_box_text);
void philos_fill_combo_box_text(GtkWidget *cbt, config_str list_data, int size);
void philos_set_spin_adjustment(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, size_t value);
void philos_set_active_widgets(GtkWidget *check, GtkWidget *spin, GtkWidget *combo, int flag_cpu, char* cmd);
size_t get_resurs_total(char* cmd);
float get_size_pow_memory(size_t size_memory, int size);
void philos_set_active_widgets_device_io(GtkWidget* combo_to_l2,GtkWidget *check, GtkWidget *spin, GtkWidget *combo);
char *yon_char_get_augumented(char *source, char *append);
dictionary *yon_dictionary_create_with_data_connected(dictionary *dict, char *key, void *data);
char **yon_char_parsed_shrink(char **char_string, int *size, int item_to_delete);
char*** yon_char_parsed_shrink_n3(char ***char_string, int *size, int item_to_delete);
dictionary *yon_dictionary_create_empty();
void yon_terminal_integrated_launch(GtkWidget *terminal, char* command, void *endwork_function, void* endwork_function_argument);
dictionary *yon_dictionary_create_conneced(dictionary *targetdict);
void yon_int_array_append(int **source, int append);
static void child_ready(VteTerminal *terminal, GPid pid, GError *error, gpointer user_data);
int philos_config_save(char *command);
void philos_array_int_pars_to(int** array, int to);
void philos_array_char_pars_to(char*** array, char* to);
int find_null_array(temp_config* _config);
void init_device_disk(temp_config* _config);
#endif

File diff suppressed because it is too large Load Diff

@ -1,342 +0,0 @@
#ifndef UBL_UTILS
#define UBL_UTILS
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <pthread.h>
#include <string.h>
#include <dirent.h>
#include <unistd.h>
#include <sys/stat.h>
#include <locale.h>
#include <gtk/gtk.h>
#include <gtk/gtkx.h>
#include "../ubl-cmake.h"
#ifdef WEBKIT_FOUND
#include <webkit2/webkit2.h>
#endif
#define DesktopPath "/usr/share/applications/"
#define for_dictionaries(obj, obj1) for (obj = obj1->first; obj != NULL; obj = obj->next)
#define new(type) malloc(sizeof(type))
#define new_arr(type,size) malloc(sizeof(type)*size)
typedef enum
{
#ifdef __GTK_H__
DICTIONARY_GTK_WIDGETS_TYPE,
#endif
DICTIONARY_OTHER_TYPE=0,
DICTIONARY_CHAR_TYPE,
DICTIONARY_INT_TYPE,
DICTIONARY_BOOL_TYPE,
} DICT_TYPE;
typedef struct dictionary
{
char *key;
void *data;
struct dictionary *next;
struct dictionary *prev;
struct dictionary *first;
DICT_TYPE data_type;
int flag1;
} dictionary;
typedef struct apps
{
char *Name;
int Type;
char *Categories;
char *Exec;
char *Icon;
int Pluggable;
int DualPluggable;
} apps;
typedef char** config_str;
static dictionary *__yon__config__strings = NULL;
#define check_config if(__yon__config__strings&&__yon__config__strings->data_type==DICTIONARY_CHAR_TYPE)
#define config(key) yon_config_get_by_key(key)
#define for_config dictionary temp = NULL; for_dictionary(temp,__yon__config__strings)
#define yon_remalloc(pointer, size) (!pointer) ? malloc(size) : realloc(pointer, size)
// dictionary functions
/**yon_dictionary_get_data(dictionary, type)
* [EN]
* Gets data from dictionary.
* [dictionary] is dictionary, from which data should be extracted;
* [type] is type of data, [dictionary] contains.
* [RU]
* Возвращает данные из словаря.
* [dictionary] - словарь из которого достаются данные.
* [type] - тип данных, хранящихся в словаре [dictionary].
*/
#define yon_dictionary_get_data(dictionary, type) ((type)dictionary->data)
/**yon_dictionary_add_or_create_if_exists_with_data(dict,key,data)
* [EN]
*
* [RU]
* Добавляет элемент словаря в конец словаря [dict] c ключом [key] и данными [data].
* Если словарь не существует, создаёт его
*/
#define yon_dictionary_add_or_create_if_exists_with_data(dict,key,data) {if (!dict) dict=yon_dictionary_new_with_data(key,data); \
else dict=yon_dictionary_append_with_data(dict,key,data);}
dictionary *yon_dictionary_new();
dictionary *yon_dictionary_append(dictionary *targetdict);
dictionary *yon_dictionary_get_last(dictionary *dict);
dictionary *yon_dictionary_swap(dictionary *dict, int aim);
void yon_dictionary_make_first(dictionary *dict);
void yon_dictionary_make_nth(dictionary *dict, int nth);
dictionary *yon_dictionary_new_with_data(char *key, void *data);
dictionary *yon_dictionary_append_with_data(dictionary *dict, char *key, void *data);
dictionary *yon_dictionary_connect(dictionary *old, dictionary *toconnect);
dictionary *yon_dictionary_get(dictionary **dict, char *key);
dictionary *yon_dictionary_rip(dictionary *dict);
dictionary *yon_dictionary_get_nth(dictionary *dict, int place);
void *yon_dictionary_free_all(dictionary *dictionary,void (data_manipulation)(void*));
// char functions
char *yon_char_append(char *source, char *append);
char *yon_char_new(char *chr);
char *yon_char_unite(char *source, ...);
char *yon_cut(char *source, int size, int startpos);
char *yon_char_divide(char *source, int dividepos);
char *yon_char_divide_search(char *source, char *dividepos, int delete_divider);
char *yon_char_from_int(int int_to_convert);
char *yon_char_replace(char *source, char *find, char*replace);
char **yon_char_parse(char *parameters, int *size, char *divider);
char **yon_char_parsed_rip(char **char_string, int *size, int item_to_delete);
int yon_char_parsed_check_exist(char **parameters, int size, char *param);
int yon_char_find_count(char *source, char *find);
int yon_char_parsed_includes_char_parsed (config_str source, config_str to_check, int source_size, int check_size);
config_str yon_char_parsed_new (int *size, ...);
void yon_char_parsed_copy(config_str *source, config_str *to_copy);
config_str yon_char_parsed_append(config_str parsed, int *size, char *string);
int yon_ubl_check_root();
char *yon_ubl_root_user_get();
// parsing functions
config_str philos_list_user(int* size);
apps *yon_apps_scan_and_parse_desktops(int *sizef);
void yon_apps_sort(apps *applist, int size);
apps *yon_apps_get_by_name(apps *applist, char *name, int size);
config_str yon_config_load(char *command, int *str_len);
int yon_config_save_registered(char *command);
char *yon_config_get_parameter(config_str parameters, int size, char *param);
int yon_config_load_register(char *command);
int yon_config_remove_by_key(char *key);
int yon_config_remove_by_data(void *data);
int yon_config_remove_element(char *key, char *deleted);
void *yon_config_get_by_key(char *key);
char *yon_config_get_key_by_data(char *data);
int yon_config_set(char *key, void *data);
int yon_config_clean();
void yon_config_register(char *key, void *data);
config_str yon_config_get_all();
// terminal-using functions
int yon_launch_app_with_arguments(char *name, char *args);
void yon_launch(char *command);
// Gtk functions
#ifdef __GTK_H__
#ifdef VTE_TERMINAL
void yon_terminal_integrated_launch(GtkWidget *place_to_show, char* command, void *endwork_function, void* endwork_function_argument);
void yon_terminal_integrated_start(GtkWidget *terminal, char* command, void *endwork_function, void* endwork_function_argument);
#endif
GtkWidget *yon_ubl_menu_item_about_new(char *buttonname);
GtkWidget *yon_ubl_menu_item_documentation_new(char *buttonname);
/**yon_gtk_builder_get_widget(builder, widget_name)
* [EN]
* Returns GtkWidget from GtkBuilder *[builder].
* [builder] is GtkBuilder*;
* [widget_name] is id of widget;
*/
#define yon_gtk_builder_get_widget(builder, widget_name) GTK_WIDGET(gtk_builder_get_object(builder, widget_name))
typedef struct
{
GtkWidget *Icon;
GtkWidget *Label;
GtkWidget *IconView;
GtkListStore *List;
} expander_icon_view;
void yon_window_config_setup(GtkWindow *window);
int yon_window_config_load(char *path);
int yon_gtk_combo_box_fill(GtkWidget *combo, char **parameters,int size);
int yon_gtk_combo_box_text_find(GtkWidget *combo_box, char *text_to_find);
int yon_gtk_icon_view_hide_empty(dictionary *icon_view_segment);
int yon_dictionary_gtk_pack_start_multiple_widgets(GtkBox *destination, gboolean expand, gboolean fill, int padding, ...);
int yon_dictionary_gtk_pack_end_multiple_widgets(GtkBox *destination, gboolean expand, gboolean fill, int padding, ...);
typedef enum
{
BACKGROUND_IMAGE_SUCCESS_TYPE,
BACKGROUND_IMAGE_FAIL_TYPE
} BACKGROUND_IMAGE_TYPE;
typedef struct {
BACKGROUND_IMAGE_TYPE type;
GtkWidget *icon;
GtkWidget *box;
GtkWidget *label;
char* text_to_render;
} render_data;
/**yon_ubl_status_box_setup(render,icon,box,label)
* [EN]
* Sets up [render] structure of type render_data.
* [icon] is GtkImage widget of status box for showing status icons;
* [box] is GtkBox widget of status box for showing status color;
* [label] is GtkLabel widget of status box for showing status text;
* [RU]
* Настраивает структуру [render] типа render_data.
* [icon] - виджет типа GtkIcon в котором будут отображаться статусные иконки;
* [box] - виджет типа GtkBox в котором будет отображаться цвет статуса;
* [label] - виджет типа GtkLabel в котором будет отображаться текст статусного сообщения;
*/
int yon_ubl_status_box_setup(GtkWidget *icon, GtkWidget *box, GtkWidget *label);
/**yon_ubl_status_box_render(render,text,type)
* [EN]
* Renders message in status box;
* [render] is render_data structure of status box;
* [text] is text to be shown in status box;
* [type] if type of message. Can be BACKGROUND_IMAGE_FAIL_TYPE or BACKGROUND_IMAGE_SUCCESS_TYPE
* [RU]
* Отображает сообщение в статусном окне.
* [render] - структура типа render_data для нужного статусного окна;
* [text] - текст, отображаемый в статусном окне;
* [type] - тип сообщения. Может быть:
* BACKGROUND_IMAGE_FAIL_TYPE (красный фон,иконка - восклицательный знак)
* или
* BACKGROUND_IMAGE_SUCCESS_TYPE (Жёлтный фон, иконка - галка)
*/
void yon_ubl_status_box_render(char *text, BACKGROUND_IMAGE_TYPE type);
#ifdef __cplusplus
/**yon_ubl_header_setup(overlay, head, image, imag_path)
* [EN]
* Sets up header of app.
* [overlay] is overlay for app header;
* [head] is box of header, which connects to [overlay]
* [image] is header background image;
* [imag_path] is path of image, shown in [image]
* [RU]
* Настраивает заголовок приложения.
* [overlay] - оверлей заголовка приложения;
* [head] - шапка заголовка, присоединяемая к [overlay]
* [image] - виджет картинки для заднего фона;
* [imag_path] - путь до картинки, загружаемой в [image]
*/
#define yon_ubl_header_setup(overlay, head, image, imag_path) _yon_ubl_header_setup(GTK_WIDGET(overlay.gobj()), GTK_WIDGET(head.gobj()), GTK_WIDGET(image.gobj()), (char *)imag_path)
#else
/**yon_ubl_header_setup(overlay, head, image, imag_path)
* [EN]
* Sets up header of app.
* [overlay] is overlay for app header;
* [head] is box of header, which connects to [overlay]
* [image] is header background image;
* [imag_path] is path of image, shown in [image]
* [RU]
* Настраивает заголовок приложения.
* [overlay] - оверлей заголовка приложения;
* [head] - шапка заголовка, присоединяемая к [overlay]
* [image] - виджет картинки для заднего фона;
* [imag_path] - путь до картинки, загружаемой в [image]
*/
#define yon_ubl_header_setup(overlay, head, image, imag_path) _yon_ubl_header_setup(GTK_WIDGET(overlay), GTK_WIDGET(head), GTK_WIDGET(image), (char *)imag_path)
#define yon_ubl_header_setup_resource(overlay, head, image, imag_path) _yon_ubl_header_setup_resource(GTK_WIDGET(overlay), GTK_WIDGET(head), GTK_WIDGET(image), (char *)imag_path)
#endif
void _yon_ubl_header_setup(GtkWidget *Overlay, GtkWidget *Head, GtkWidget *Image, char *image_path);
void _yon_ubl_header_setup_resource(GtkWidget *Overlay, GtkWidget *Head, GtkWidget *Image, char *image_path);
void yon_ubl_setup_sockets(GtkWidget *main_window, GtkWidget *left_window, GtkWidget *right_window, int socket_main_id, int socket_left_id, int socket_right_id);
#ifdef WEBKIT_FOUND
void yon_ubl_browser_window_open(char *link, char *browser_window_name);
#else
void yon_ubl_browser_window_open(char *link, char *browser_window_name);
#endif
#endif
#endif

@ -1 +0,0 @@
#cmakedefine WEBKIT_FOUND

@ -1,188 +0,0 @@
#include "ubl-settings-diskquota.h"
config main_config;
//signal emmit handlers - no header initialization
/**on_close_subwindow(GtkWidget *self)
* [EN]
* Closes window in which [self] is contained.
* [RU]
* Закрывает окно, в котором расположен виджет [self].
*/
void on_close_subwindow(GtkWidget *self){
gtk_widget_destroy(gtk_widget_get_toplevel(self));
}
/**yon_open_browser(GtkWidget *self, char *link)
* [EN]
* Opens browser with [link] link.
* [RU]
* Открывает браузер с [link] ссылкой.
*/
void yon_open_browser(GtkWidget *self, char *link){
yon_ubl_browser_window_open(link,TITLE_LABEL);
}
/**on_open_documentation_confirmation(GtkWidget *self, char *link)
* [EN]
* Opens confirmation window for [link] link.
* [RU]
* Открывает окно подтверждение перехода по ссылке [link].
*/
void on_open_documentation_confirmation(GtkWidget *self, char *link){
if (main_config.always_open_documentation==0){
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path);
documentation_confirmation_window *widgets = malloc(sizeof(documentation_confirmation_window));
widgets->Window = yon_gtk_builder_get_widget(builder,"helpConfirmationWindow");
widgets->AcceptButton = yon_gtk_builder_get_widget(builder,"ReadHelpButton");
widgets->CloseButton = yon_gtk_builder_get_widget(builder,"CancelHelpButton");
widgets->HatText = yon_gtk_builder_get_widget(builder,"webHeaderNameLabel");
widgets->HeaderText = yon_gtk_builder_get_widget(builder,"helpHeader");
widgets->InfoText = yon_gtk_builder_get_widget(builder,"helpText");
widgets->AlwaysOpenCheck = yon_gtk_builder_get_widget(builder,"AlwaysOpenDocumentationCheckbox");
gtk_label_set_text(GTK_LABEL(widgets->HatText),TITLE_LABEL);
gtk_label_set_text(GTK_LABEL(widgets->HeaderText),HELP_TITLE_LABEL);
gtk_label_set_text(GTK_LABEL(widgets->InfoText),HELP_INFO_LABEL);
gtk_button_set_label(GTK_BUTTON(widgets->AcceptButton),OPEN_HELP_LABEL);
gtk_button_set_label(GTK_BUTTON(widgets->AlwaysOpenCheck),HELP_ALWAYS_OPEN_LABEL);
gtk_button_set_label(GTK_BUTTON(widgets->CloseButton),CANCEL_LABEL);
gtk_widget_show_all(widgets->Window);
g_signal_connect(G_OBJECT(widgets->CloseButton),"clicked",G_CALLBACK(on_close_subwindow),NULL);
g_signal_connect(G_OBJECT(widgets->AcceptButton),"clicked",G_CALLBACK(yon_open_browser),yon_char_new(link));
g_signal_connect(G_OBJECT(widgets->AcceptButton),"clicked",G_CALLBACK(on_close_subwindow),NULL);
} else {
yon_open_browser(self,link);
}
}
/**on_link(GtkWidget *self, char* uri, gpointer user_data)
* [EN]
* Signal for hadnling AboutDialog links.
* Connect to "activate-link" signal.
* [self] is AboutDialog window;
* [uri] is activated link;
* [user_data] is pointer for user data, hasn't used in standard handler;
* [RU]
* Функция для обработки сигнала нажатия на ссылку окна AboutDialog.
* Присоединять к сигналу "activate-link".
* [self] - окно AboutDialog;
* [uri] - ссылка, по которой совершается переход;
* [user_data] - указатель на любые другие данные, не используется в стандартном обработчике;
*/
void on_link(GtkWidget *self, char* uri, gpointer user_data){
gtk_widget_destroy(self);
on_open_documentation_confirmation(self,uri);
}
/**on_about()
* [EN]
* Function for setting up and showing AboutDialog.
* Connect it to "activate" signal of Documentation MenuItem.
* [RU]
* Функиця для настройки и показа окна AboutDialog.
* Присоединять к сигналу "activate" кнопки справки типа MenuItem.
*/
void on_about(){
GtkBuilder *builder=gtk_builder_new_from_resource(glade_path);
GtkWidget *window=yon_gtk_builder_get_widget(builder,"AboutWindow");
GtkWidget *title=yon_gtk_builder_get_widget(builder,"headerAboutTopic");
GtkWidget *hideButtonBox=yon_gtk_builder_get_widget(builder,"buttonBoxHide");
gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(window),version_application);
gtk_about_dialog_set_website_label(GTK_ABOUT_DIALOG(window),PROJECT_HOME_LABEL);
gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(window),TITLE_LABEL);
gtk_label_set_text(GTK_LABEL(title),TITLE_LABEL);
g_signal_connect(G_OBJECT(window),"activate-link",G_CALLBACK(on_link),NULL);
gtk_widget_set_visible(hideButtonBox,0);
gtk_widget_destroy(hideButtonBox);
gtk_widget_show(window);
}
//functions
void yon_load_proceed(char *command){
if (yon_config_load_register(command))
yon_ubl_status_box_render(LOCAL_SAVE_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
else
yon_ubl_status_box_render(LOAD_FAILED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
}
// standard functions
void config_init(){
main_config.always_open_documentation=0;
main_config.win_height=0;
main_config.win_width=0;
main_config.win_pos_x=0;
main_config.win_pos_y=0;
main_config.socket_id=-1;
main_config.save_socket_id=-1;
main_config.load_socket_id=-1;
main_config.lock_help=0;
main_config.lock_help=0;
main_config.lock_load_global=0;
main_config.lock_save_global=0;
main_config.lock_save_local=0;
}
main_window *setup_window(){
/* Widgets getting | Получение виджетов */
main_window *widgets = malloc(sizeof(main_window));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path);
widgets->Window = yon_gtk_builder_get_widget(builder,"MainWindow");
widgets->HatLabel = yon_gtk_builder_get_widget(builder,"headerTopic");
widgets->PlugBox = yon_gtk_builder_get_widget(builder,"plugBox");
widgets->HeadOverlay = yon_gtk_builder_get_widget(builder,"HeadOverlay");
widgets->HeadImage = yon_gtk_builder_get_widget(builder,"HeadBackgroundImage");
widgets->HeadBox = yon_gtk_builder_get_widget(builder,"HeaderBox");
widgets->HeadTitleLabel = yon_gtk_builder_get_widget(builder,"HeaderTitleLabel");
widgets->HeadInfoLabel = yon_gtk_builder_get_widget(builder,"HeaderInfoLabel");
widgets->StatusBox = yon_gtk_builder_get_widget(builder,"mainStatusBox");
widgets->StatusIcon = yon_gtk_builder_get_widget(builder,"mainStatusIcon");
widgets->StatusLabel = yon_gtk_builder_get_widget(builder,"mainStatusLabel");
widgets->SaveLabel = yon_gtk_builder_get_widget(builder,"headerSaveConfigLabel");
widgets->SaveMenuItem = yon_gtk_builder_get_widget(builder,"SaveGlobalLocalConfigurationMenuItem");
widgets->SaveGlobalMenuItem = yon_gtk_builder_get_widget(builder,"SaveGlobalConfigurationMenuItem");
widgets->SaveLocalMenuItem = yon_gtk_builder_get_widget(builder,"SaveLocalConfigurationMenuItem");
widgets->RightBox = yon_gtk_builder_get_widget(builder,"HeaderRightBox");
widgets->LoadLabel = yon_gtk_builder_get_widget(builder,"headerLoadConfigLabel");
widgets->LoadGlobalMenuItem = yon_gtk_builder_get_widget(builder,"LoadGlobalConfigurationMenuItem");
widgets->LoadLocalMenuItem = yon_gtk_builder_get_widget(builder,"LoadLocalConfigurationMenuItem");
widgets->LeftBox = yon_gtk_builder_get_widget(builder,"HeaderLeftBox");
widgets->DocumentationMenuItem = yon_ubl_menu_item_documentation_new(DOCUMENTATION_LABEL); // yon_gtk_builder_get_widget(builder,"DocumentationMenuItem");
widgets->AboutMenuItem = yon_ubl_menu_item_about_new(ABOUT_LABEL); // yon_gtk_builder_get_widget(builder,"AboutMenuItem");
GtkWidget *menu = yon_gtk_builder_get_widget(builder,"menu2");
gtk_menu_shell_append(GTK_MENU_SHELL(menu),widgets->DocumentationMenuItem);
gtk_menu_shell_append(GTK_MENU_SHELL(menu),widgets->AboutMenuItem);
if (main_config.lock_load_global == 1){
gtk_widget_set_sensitive(widgets->LoadGlobalMenuItem,0);
}
if (main_config.lock_save_global == 1){
gtk_widget_set_sensitive(widgets->SaveGlobalMenuItem,0);
gtk_widget_set_sensitive(widgets->SaveMenuItem,0);
}
if (main_config.lock_save_local == 1){
gtk_widget_set_sensitive(widgets->SaveLocalMenuItem,0);
gtk_widget_set_sensitive(widgets->SaveMenuItem,0);
}
/* Signal connection | Присоединение сигналов */
g_signal_connect(G_OBJECT(widgets->Window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
g_signal_connect(G_OBJECT(widgets->DocumentationMenuItem),"activate",G_CALLBACK(on_open_documentation_confirmation),WIKI_LINK);
g_signal_connect(G_OBJECT(widgets->AboutMenuItem),"activate",G_CALLBACK(on_about),NULL);
gtk_widget_show(widgets->Window);
return widgets;
}

@ -1,105 +0,0 @@
#include <gtk/gtk.h>
#include <gtk/gtkx.h>
#include "model/ubl-utils.h"
#include <locale.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <libintl.h>
#include <getopt.h>
#include <libintl.h>
#include "ubl-cmake.h"
#ifdef WEBKIT_FOUND
#include <webkit2/webkit2.h>
#endif
#include "ubl-strings.h"
#define WIKI_LINK "https://wiki.ublinux.ru/ru/Программное_обеспечениерограммы_и_утилиты/Все/ubl-settings-diskquota"
#define _(String) gettext(String)
#define glade_path "/com/ublinux/ui/ubl-settings-diskquota.glade"
#define banner_path "/com/ublinux/images/ubl-settings-diskquota-banner.png"
#define CssPath "/com/ublinux/css/ubl-settings-diskquota.css"
#define config_path yon_char_unite("/home/",yon_ubl_root_user_get(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL)
#define LocalePath "/usr/share/locale"
#define LocaleName "ubl-settings-diskquota"
typedef char* string;
string version_application;
char *local;
typedef struct {
int always_open_documentation;
int win_pos_x;
int win_pos_y;
int win_width;
int win_height;
int socket_id;
int load_socket_id;
int save_socket_id;
int lock_help;
int lock_save_local;
int lock_save_global;
int lock_load_global;
} config;
typedef struct {
//Standard
GtkWidget *Window;
GtkWidget *HatLabel;
GtkWidget *PlugBox;
GtkWidget *HeadOverlay;
GtkWidget *HeadImage;
GtkWidget *HeadBox;
GtkWidget *HeadTitleLabel;
GtkWidget *HeadInfoLabel;
GtkWidget *StatusBox;
GtkWidget *StatusIcon;
GtkWidget *StatusLabel;
GtkWidget *SaveLabel;
GtkWidget *SaveMenuItem;
GtkWidget *SaveGlobalMenuItem;
GtkWidget *SaveLocalMenuItem;
GtkWidget *RightBox;
GtkWidget *LoadLabel;
GtkWidget *LoadGlobalMenuItem;
GtkWidget *LoadLocalMenuItem;
GtkWidget *LeftBox;
GtkWidget *DocumentationMenuItem;
GtkWidget *AboutMenuItem;
// Custom
} main_window;
typedef struct {
GtkWidget *Window;
GtkWidget *HatText;
GtkWidget *HeaderText;
GtkWidget *InfoText;
GtkWidget *AlwaysOpenCheck;
GtkWidget *CloseButton;
GtkWidget *AcceptButton;
} documentation_confirmation_window;
main_window *setup_window();
void on_about();
void yon_open_browser(GtkWidget *self, char *link);
void on_close_subwindow(GtkWidget *self);
void on_link(GtkWidget *self, char* uri, gpointer user_data);
void on_open_documentation_confirmation(GtkWidget *self, char *link);
void yon_load_proceed(char *command);
void event(main_window *widgets);
void on_link(GtkWidget *self, char* uri, gpointer user_data);
void config_init();

@ -1,55 +0,0 @@
#define VERSION_LABEL yon_char_unite(_("Version:")," ",version_application,"\n",NULL)
#define HELP_LABEL yon_char_unite(_("ubl-settings-diskquota version:")," ", version_application,"\n",_(""),"\n",_("Usage:"), " ubl-settings-diskquota ",_("[OPTIONS]"),"\n",_("Options:"),"\n\t--help, -h\t\t\t",_("Show this help"),"\n\t--version, -V\t\t\t",_("Show package version"),"\n\t--lock-help\t\t\t",_("Lock this help menu"),"\n\t--lock-save\t\t\t",_("Lock configuration saving"),"\n\t--lock-save-local\t\t",_("Lock local configration saving"),"\n\t--lock-save-global\t\t",_("Lock global configration saving"),"\n\t--lock-load-global\t\t",_("Lock global configration loading"),"\n",NULL)
#define TITLE_LABEL _("")
#define TITLE_INFO_LABEL _("")
#define SUCCESS_LABEL _("Operation succeeded")
#define ROOT_WARNING_LABEL _("Warning! Application was launched without root - root-dependent actions are locked")
#define ABOUT_LABEL _("About")
#define DOCUMENTATION_LABEL _("Documentation")
#define SAVE_LOCAL_LABEL _("Save to local configuration")
#define SAVE_GLOBAL_LABEL _("Save to global configuration")
#define SAVE_CONFIGURATION_LABEL _("Save configuration")
#define SAVE_LABEL _("Save")
#define LOAD_LOCAL_LABEL _("Load local configuration")
#define LOAD_GLOBAL_LABEL _("Load global configuration")
#define LOAD_LABEL _("Load")
#define CANCEL_LABEL _("Cancel")
#define HELP_TITLE_LABEL _("Would you like to read documentation in the Web?")
#define HELP_INFO_LABEL _("You will be redirected to documentation website where documentation is\ntranslated and supported by community.")
#define HELP_ALWAYS_OPEN_LABEL _("Always redirect to online documentation")
#define OPEN_HELP_LABEL _("Open documentation")
#define PROJECT_HOME_LABEL _("Project Home Page")
#define NOTHING_CHOSEN_LABEL _("Nothing were chosen")
#define GLOBAL_LOAD_SUCCESS_LABEL _("Global configuration loading succseeded.")
#define LOCAL_LOAD_SUCCESS_LABEL _("Local configuration loading succseeded.")
#define LOAD_FAILED_LABEL _("Config loading failed")
#define GLOBAL_LOCAL_SAVE_SUCCESS_LABEL _("Local and global configuration saving succseeded.")
#define GLOBAL_SAVE_SUCCESS_LABEL _("Global configuration saving succseeded.")
#define LOCAL_SAVE_SUCCESS_LABEL _("Local configuration saving succseeded.")
#define SAVE_FAILED_LABEL
#define STR_KB _("Kb")
#define STR_MB _("Mb")
#define STR_GB _("Gb")
#define STR_TB _("Tb")
#define CMD_LOAD_GLOBAL "ubconfig --default --source global get security DISK_QUOTA[*]"
#define CMD_LOAD_SYSTEM "ubconfig --default --source system get security DISK_QUOTA[*]"
#define CMD_SAVE_GLOBAL "ubconfig --default --target global set security"
#define CMD_SAVE_SYSTEM "ubconfig --default --target system set security"
#define CMD_ALL_SAVE "ubconfig set security "
#define CMD_ALL_REMOVE "ubconfig remove security "
#define CMD_REMOVE_GLOBAL "ubconfig --target global --noexecute remove security "
#define CMD_REMOVE_SYSTEM "ubconfig --target system remove security "
#define CMD_GET_SLICE_SERVICE "systemd-cgls --no-page"

@ -1,109 +0,0 @@
#include "filters.h"
filters_window *filters_widgets = NULL;
gboolean flag_filters[8];
filters_window *filters_setup_window(char* glade_path){
if (filters_widgets == NULL) {
filters_widgets = malloc(sizeof(filters_window));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path);
filters_widgets->Window = yon_gtk_builder_get_widget(builder,"wndFilters");
filters_widgets->chbFilterName = yon_gtk_builder_get_widget(builder,"chbFilterName");
filters_widgets->chbFilterSoftLimitFile = yon_gtk_builder_get_widget(builder,"chbFilterSoftLimitFile");
filters_widgets->chbFilterFiles = yon_gtk_builder_get_widget(builder,"chbFilterFiles");
filters_widgets->chbFilterHardLimitSizeDelay = yon_gtk_builder_get_widget(builder,"chbFilterHardLimitSizeDelay");
filters_widgets->chbFilterHardLimitSize = yon_gtk_builder_get_widget(builder,"chbFilterHardLimitSize");
filters_widgets->chbFilterSoftLimitSize = yon_gtk_builder_get_widget(builder,"chbFilterSoftLimitSize");
filters_widgets->chbFilterQuotas = yon_gtk_builder_get_widget(builder,"chbFilterQuotas");
filters_widgets->chbFilterSize = yon_gtk_builder_get_widget(builder,"chbFilterSize");
filters_widgets->btnFiltersCancel = yon_gtk_builder_get_widget(builder,"btnFiltersCancel");
filters_widgets->btnFiltersSave = yon_gtk_builder_get_widget(builder,"btnFiltersSave");
filters_widgets->chbFilterHardLimitFile = yon_gtk_builder_get_widget(builder,"chbFilterHardLimitFile");
filters_widgets->chbFilterHardLimitFileDelay = yon_gtk_builder_get_widget(builder,"chbFilterHardLimitFileDelay");
filters_widgets->chbTemplate = yon_gtk_builder_get_widget(builder,"chbTemplate");
if (filters_widgets->name == "Project") {
}
filters_event(filters_widgets);
}
filters_set_flag();
return filters_widgets;
}
void filters_set_name(string name) {
if (name == "Project") {
filters_widgets->name = name;
}
}
void filters_event(filters_window *widgets) {
g_signal_connect(G_OBJECT(widgets->btnFiltersCancel), "clicked",G_CALLBACK(filters_on_hide_subwindow),NULL);
g_signal_connect(G_OBJECT(widgets->Window), "destroy", G_CALLBACK(filters_destroy), NULL);
}
void filters_destroy(GtkWidget *self) {
filters_widgets = NULL;
}
void filters_localization(filters_window *widgets) {
}
void filters_on_hide_subwindow(GtkWidget *self) {
gtk_widget_destroy(gtk_widget_get_toplevel(self));
filters_widgets = NULL;
}
filters_window *get_widget_filters() {
return filters_widgets;
}
void filters_show(GtkWidget *self, char* glade_path) {
if (filters_widgets != NULL) {
gtk_widget_show_all(filters_widgets->Window);
}
else {
filters_setup_window(glade_path);
gtk_widget_show_all(filters_widgets->Window);
}
}
gboolean* filters_get_flag() {
flag_filters[0] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterName));
flag_filters[1] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterSoftLimitFile));
flag_filters[2] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterFiles));
flag_filters[3] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitSizeDelay));
flag_filters[4] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitSize));
flag_filters[5] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterQuotas));
flag_filters[6] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterSoftLimitSize));
flag_filters[7] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterSize));
flag_filters[8] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitFile));
flag_filters[9] = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitFileDelay));
return flag_filters;
}
void filters_init_flag() {
flag_filters[0] = 1;
flag_filters[1] = 1;
flag_filters[2] = 1;
flag_filters[3] = 1;
flag_filters[4] = 1;
flag_filters[5] = 1;
flag_filters[6] = 1;
flag_filters[7] = 1;
flag_filters[8] = 1;
flag_filters[9] = 1;
}
void filters_set_flag() {
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterName),flag_filters[0] );
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterSoftLimitFile), flag_filters[1]);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterFiles), flag_filters[2]);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitSizeDelay), flag_filters[3]);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitSize), flag_filters[4]);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterQuotas), flag_filters[5]);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterSoftLimitSize), flag_filters[6]);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterSize), flag_filters[7]);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitFile), flag_filters[8]);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(filters_widgets->chbFilterHardLimitFileDelay), flag_filters[9]);
}

@ -1,48 +0,0 @@
#ifndef FILTERS_H
#define FILTERS_H
#include <gtk/gtk.h>
#include <gtk/gtkx.h>
#include "ubl-utils.h"
#include "ubl-strings.h"
#include <locale.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <libintl.h>
#include <getopt.h>
#include <libintl.h>
#include "philos_utils.h"
#include <string.h>
// Переменные
typedef struct {
GtkWidget* Window;
GtkWidget* btnFiltersSave;
GtkWidget* btnFiltersCancel;
GtkWidget* chbFilterName;
GtkWidget* chbFilterQuotas;
GtkWidget* chbFilterSize;
GtkWidget* chbFilterSoftLimitSize;
GtkWidget* chbFilterHardLimitSize;
GtkWidget* chbFilterHardLimitSizeDelay;
GtkWidget* chbFilterFiles;
GtkWidget* chbFilterSoftLimitFile;
GtkWidget* chbFilterHardLimitFile;
GtkWidget* chbFilterHardLimitFileDelay;
GtkWidget* chbTemplate;
string *name;
} filters_window;
// Функции
filters_window *filters_setup_window(char* glade_path);
void filters_event(filters_window *widgets);
void filters_localization(filters_window *widgets);
void filters_on_hide_subwindow(GtkWidget *self);
filters_window *get_widget_filters();
void filters_show(GtkWidget *self, char* glade_path);
void filters_destroy(GtkWidget *self);
int* filters_get_flag();
void filters_init_flag();
void filters_set_flag();
void filters_set_name(char *name)
#endif

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

@ -1,108 +0,0 @@
.thin {
margin:0px;
padding:0px;
}
.noborder {
border:none;
}
.nobackground {
background:transparent;
}
.nobackground:active {
background:transparent;
}
.textHead{
text-shadow: 2px 2px @theme_bg_color;
color: @theme_text_color;
}
.inherited>* {
border:none;
background:inherit;
}
.workingbg {
background:@theme_base_color;
}
.menuitembottom{
margin-top:0px;
margin-bottom:3px;
border-color:inherit;
border-left-width:inherit;
border-right-width:inherit;
}
.menuitemmiddle{
margin-top:0px;
margin-bottom:0px;
border-color:inherit;
border-left-width:inherit;
border-right-width:inherit;
}
.menuitemtop{
margin-bottom:0px;
border-color:inherit;
border-top-width:inherit;
border-left-width:inherit;
border-right-width:inherit;
}
.menuitemtop *{
margin:2px 2px 0 2px;
padding: 5px 10px 3px 5px;
border:transparent;
}
.menuitemmiddle *{
margin:0 2px 0 2px;
padding: 3px 10px 3px 5px;
border:transparent;
}
.menuitembottom *{
margin:0 2px 2px 2px;
padding: 3px 10px 5px 5px;
}
.menuitemtop:hover {
background:@theme_bg_color;
border-color:inherit;
border-top-width:inherit;
border-left-width:inherit;
border-right-width:inherit;
}
.menuitemmiddle:hover {
background:@theme_bg_color;
border-color:inherit;
border-left-width:inherit;
border-right-width:inherit;
}
.menuitembottom:hover {
background:@theme_bg_color;
border-color:inherit;
border-bottom-width:0px;
border-left-width:inherit;
border-right-width:inherit;
}
.menuitemtop:hover* {
margin:2px 2px 0 2px;
padding: 5px 10px 3px 5px;
background:@theme_selected_bg_color;
border-radius:2px;
}
.menuitemmiddle:hover* {
margin:0 2px 0 2px;
padding: 3px 10px 3px 5px;
background:@theme_selected_bg_color;
border-radius:2px;
}
.menuitembottom:hover* {
margin:0 2px 2px 2px;
padding: 3px 10px 5px 5px;
background:@theme_selected_bg_color;
border-radius:2px;
}
.boxInfoMessError{
background-color: #ea9999;
}
.boxInfoMessOK{
background-color: #f3f0ac;
}

@ -1,15 +0,0 @@
[Desktop Entry]
Encoding=UTF-8
Name=ubl-settings-diskquota
Name[ru]=TEMPLATE
GenericName=ubl-settings-diskquota
GenericName[ru]=TEMPLATE
Comment=ubl-settings-diskquota
Comment[ru]=Приложение для TEMPLATE
Type=Application
Exec=pkexec ubl-settings-diskquota
Icon=com.ublinux.ubl-settings-diskquota
Terminal=false
X-XfcePluggable=true
X-UBLPluggable=true
Categories=XFCE;GTK;Settings;DesktopSettings;X-XFCE-SettingsDialog;X-XFCE-SystemSettings;X-UBL-SettingsManager;X-UBL-Personal-Settings;

File diff suppressed because it is too large Load Diff

@ -1,724 +0,0 @@
# Language translations for ubl-settings-diskquota package.
# Copyright (C) 2022, UBTech LLC
# This file is distributed under the same license as the ubl-settings-diskquota package.
# UBLinux Team <info@ublinux.com>, 2022
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-04-10 16:09+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid ""
"You will be redirected to documentation website where documentation is\n"
"translated and supported by community."
msgstr ""
msgid "ubl-settings-diskquota"
msgstr ""
msgid "Settings disk quotas - Addition"
msgstr ""
msgid "Settings disk quotas - Editing"
msgstr ""
msgid "Edit"
msgstr ""
msgid "Project ID"
msgstr ""
msgid "Catalog"
msgstr ""
msgid "Project Name"
msgstr ""
msgid "Auto"
msgstr ""
msgid "Review"
msgstr ""
msgid "Generate"
msgstr ""
msgid "User:"
msgstr ""
msgid "Group:"
msgstr ""
msgid "Projects:"
msgstr ""
msgid "Kb"
msgstr ""
msgid "Mb"
msgstr ""
msgid "Gb"
msgstr ""
msgid "Tb"
msgstr ""
msgid "Quota use status:"
msgstr ""
#: source/ubl-settings-diskquota.cc:224 source/ubl-settings-diskquota.cc:154
#: source/ubl-settings-diskquota.cc:144
msgid "About"
msgstr ""
#: source/ubl-settings-diskquota.cc:183 source/ubl-settings-diskquota.cc:113
#: source/ubl-settings-diskquota.cc:103 source/ubl-settings-diskquota.cc:124
#: source/ubl-settings-diskquota.cc:121 source/ubl-settings-diskquota.cc:118
msgid "Configuration of disk quotas parameters for system groups and users"
msgstr ""
#: source/ubl-settings-diskquota.cc:138 source/ubl-settings-diskquota.cc:68
#: source/ubl-settings-diskquota.cc:60 source/ubl-settings-diskquota.cc:81
#: source/ubl-settings-diskquota.cc:78 source/ubl-settings-diskquota.cc:75
#: source/ubl-settings-diskquota.cc:74
msgid "Copyright © UBSoft LLC, 2022 - "
msgstr ""
#: source/ubl-settings-diskquota.cc:201 source/ubl-settings-diskquota.cc:206
#: source/ubl-settings-diskquota.cc:211 source/ubl-settings-diskquota.cc:131
#: source/ubl-settings-diskquota.cc:136 source/ubl-settings-diskquota.cc:141
#: source/ubl-settings-diskquota.cc:121 source/ubl-settings-diskquota.cc:126
#: source/ubl-settings-diskquota.cc:142 source/ubl-settings-diskquota.cc:147
#: source/ubl-settings-diskquota.cc:152 source/ubl-settings-diskquota.cc:139
#: source/ubl-settings-diskquota.cc:144 source/ubl-settings-diskquota.cc:149
msgid "Currently using:"
msgstr ""
#: source/ubl-settings-diskquota.cc:216 source/ubl-settings-diskquota.cc:146
#: source/ubl-settings-diskquota.cc:136 source/ubl-settings-diskquota.cc:157
#: source/ubl-settings-diskquota.cc:154
msgid "Currently using: "
msgstr ""
#: source/ubl-settings-diskquota.cc:62 source/ubl-settings-diskquota.cc:83
#: source/ubl-settings-diskquota.cc:80 source/ubl-settings-diskquota.cc:77
#: source/ubl-settings-diskquota.cc:76
msgid "Date and Time"
msgstr ""
#: source/ubl-settings-diskquota.cc:246 source/ubl-settings-diskquota.cc:381
msgid ""
"Deferring\n"
"a hard\n"
"limit\n"
"(files)"
msgstr ""
#: source/ubl-settings-diskquota.cc:239 source/ubl-settings-diskquota.cc:374
msgid ""
"Deferring\n"
"a hard\n"
"limit\n"
"(size)"
msgstr ""
#: source/ubl-settings-diskquota.cc:194
msgid "Deferring a hard limit (files)"
msgstr ""
#: source/ubl-settings-diskquota.cc:189
msgid "Deferring a hard limit (size)"
msgstr ""
#: source/ubl-settings-diskquota.cc:149 source/ubl-settings-diskquota.cc:181
#: source/ubl-settings-diskquota.cc:182 source/ubl-settings-diskquota.cc:196
#: source/ubl-settings-diskquota.cc:208 source/ubl-settings-diskquota.cc:79
#: source/ubl-settings-diskquota.cc:111 source/ubl-settings-diskquota.cc:112
#: source/ubl-settings-diskquota.cc:126 source/ubl-settings-diskquota.cc:138
#: source/ubl-settings-diskquota.cc:69 source/ubl-settings-diskquota.cc:101
#: source/ubl-settings-diskquota.cc:102 source/ubl-settings-diskquota.cc:116
#: source/ubl-settings-diskquota.cc:128 source/ubl-settings-diskquota.cc:90
#: source/ubl-settings-diskquota.cc:122 source/ubl-settings-diskquota.cc:123
#: source/ubl-settings-diskquota.cc:137 source/ubl-settings-diskquota.cc:87
#: source/ubl-settings-diskquota.cc:119 source/ubl-settings-diskquota.cc:120
#: source/ubl-settings-diskquota.cc:134 source/ubl-settings-diskquota.cc:146
#: source/ubl-settings-diskquota.cc:84 source/ubl-settings-diskquota.cc:117
#: source/ubl-settings-diskquota.cc:83
msgid "Device:"
msgstr ""
#: source/ubl-settings-diskquota.cc:197 source/ubl-settings-diskquota.cc:207
#: source/ubl-settings-diskquota.cc:127 source/ubl-settings-diskquota.cc:137
#: source/ubl-settings-diskquota.cc:117 source/ubl-settings-diskquota.cc:138
#: source/ubl-settings-diskquota.cc:148 source/ubl-settings-diskquota.cc:135
#: source/ubl-settings-diskquota.cc:145
msgid "Disk quotas for this device:"
msgstr ""
#: source/ubl-settings-diskquota.cc:152 source/ubl-settings-diskquota.cc:153
#: source/ubl-settings-diskquota.cc:82 source/ubl-settings-diskquota.cc:83
#: source/ubl-settings-diskquota.cc:72 source/ubl-settings-diskquota.cc:73
#: source/ubl-settings-diskquota.cc:93 source/ubl-settings-diskquota.cc:94
#: source/ubl-settings-diskquota.cc:90 source/ubl-settings-diskquota.cc:91
#: source/ubl-settings-diskquota.cc:87 source/ubl-settings-diskquota.cc:88
#: source/ubl-settings-diskquota.cc:86
msgid "Enable"
msgstr ""
#: source/ubl-settings-diskquota.cc:597 source/ubl-settings-diskquota.cc:510
#: source/ubl-settings-diskquota.cc:444
msgid "Error saved local and global configuration"
msgstr ""
#: source/ubl-settings-diskquota.cc:156 source/ubl-settings-diskquota.cc:158
#: source/ubl-settings-diskquota.cc:86 source/ubl-settings-diskquota.cc:88
#: source/ubl-settings-diskquota.cc:76 source/ubl-settings-diskquota.cc:78
#: source/ubl-settings-diskquota.cc:97 source/ubl-settings-diskquota.cc:99
#: source/ubl-settings-diskquota.cc:94 source/ubl-settings-diskquota.cc:96
#: source/ubl-settings-diskquota.cc:91 source/ubl-settings-diskquota.cc:93
#: source/ubl-settings-diskquota.cc:90 source/ubl-settings-diskquota.cc:92
msgid "Excess files delay period"
msgstr ""
#: source/ubl-settings-diskquota.cc:155 source/ubl-settings-diskquota.cc:157
#: source/ubl-settings-diskquota.cc:85 source/ubl-settings-diskquota.cc:87
#: source/ubl-settings-diskquota.cc:75 source/ubl-settings-diskquota.cc:77
#: source/ubl-settings-diskquota.cc:96 source/ubl-settings-diskquota.cc:98
#: source/ubl-settings-diskquota.cc:93 source/ubl-settings-diskquota.cc:95
#: source/ubl-settings-diskquota.cc:90 source/ubl-settings-diskquota.cc:92
#: source/ubl-settings-diskquota.cc:89 source/ubl-settings-diskquota.cc:91
msgid "Excess size delay period"
msgstr ""
#: source/ubl-settings-diskquota.cc:150 source/ubl-settings-diskquota.cc:175
#: source/ubl-settings-diskquota.cc:176 source/ubl-settings-diskquota.cc:214
#: source/ubl-settings-diskquota.cc:221 source/ubl-settings-diskquota.cc:80
#: source/ubl-settings-diskquota.cc:105 source/ubl-settings-diskquota.cc:106
#: source/ubl-settings-diskquota.cc:144 source/ubl-settings-diskquota.cc:151
#: source/ubl-settings-diskquota.cc:70 source/ubl-settings-diskquota.cc:95
#: source/ubl-settings-diskquota.cc:96 source/ubl-settings-diskquota.cc:134
#: source/ubl-settings-diskquota.cc:141 source/ubl-settings-diskquota.cc:91
#: source/ubl-settings-diskquota.cc:116 source/ubl-settings-diskquota.cc:117
#: source/ubl-settings-diskquota.cc:155 source/ubl-settings-diskquota.cc:162
#: source/ubl-settings-diskquota.cc:88 source/ubl-settings-diskquota.cc:113
#: source/ubl-settings-diskquota.cc:114 source/ubl-settings-diskquota.cc:152
#: source/ubl-settings-diskquota.cc:85 source/ubl-settings-diskquota.cc:110
#: source/ubl-settings-diskquota.cc:111 source/ubl-settings-diskquota.cc:84
msgid "File system:"
msgstr ""
#: source/ubl-settings-diskquota.cc:191 source/ubl-settings-diskquota.cc:200
#: source/ubl-settings-diskquota.cc:215 source/ubl-settings-diskquota.cc:243
#: source/ubl-settings-diskquota.cc:121 source/ubl-settings-diskquota.cc:130
#: source/ubl-settings-diskquota.cc:145 source/ubl-settings-diskquota.cc:378
#: source/ubl-settings-diskquota.cc:111 source/ubl-settings-diskquota.cc:120
#: source/ubl-settings-diskquota.cc:135 source/ubl-settings-diskquota.cc:321
#: source/ubl-settings-diskquota.cc:132 source/ubl-settings-diskquota.cc:141
#: source/ubl-settings-diskquota.cc:156 source/ubl-settings-diskquota.cc:325
#: source/ubl-settings-diskquota.cc:129 source/ubl-settings-diskquota.cc:138
#: source/ubl-settings-diskquota.cc:153 source/ubl-settings-diskquota.cc:317
#: source/ubl-settings-diskquota.cc:264 source/ubl-settings-diskquota.cc:126
msgid "Files"
msgstr ""
#: source/ubl-settings-diskquota.cc:177 source/ubl-settings-diskquota.cc:178
#: source/ubl-settings-diskquota.cc:107 source/ubl-settings-diskquota.cc:108
#: source/ubl-settings-diskquota.cc:97 source/ubl-settings-diskquota.cc:98
#: source/ubl-settings-diskquota.cc:118 source/ubl-settings-diskquota.cc:119
#: source/ubl-settings-diskquota.cc:115 source/ubl-settings-diskquota.cc:116
#: source/ubl-settings-diskquota.cc:112 source/ubl-settings-diskquota.cc:113
msgid "Filters"
msgstr ""
msgid ""
"GTK settings quotas. for UBLinux\n"
"\n"
"Usage: ubl-settings-diskquota [OPTIONS...]\n"
"Options:\n"
" -h, --help\t Show this help\n"
" -V, --version\t Show package version\n"
msgstr ""
#: source/ubl-settings-diskquota.cc:144 source/ubl-settings-diskquota.cc:74
#: source/ubl-settings-diskquota.cc:66 source/ubl-settings-diskquota.cc:87
#: source/ubl-settings-diskquota.cc:84 source/ubl-settings-diskquota.cc:81
#: source/ubl-settings-diskquota.cc:80
msgid "General settings"
msgstr ""
#: source/ubl-settings-diskquota.cc:611 source/ubl-settings-diskquota.cc:524
#: source/ubl-settings-diskquota.cc:458
msgid "Global configuration downloaded successfully"
msgstr ""
#: source/ubl-settings-diskquota.cc:585 source/ubl-settings-diskquota.cc:498
#: source/ubl-settings-diskquota.cc:432
msgid "Global configuration read error"
msgstr ""
#: source/ubl-settings-diskquota.cc:617 source/ubl-settings-diskquota.cc:530
#: source/ubl-settings-diskquota.cc:464
msgid "Global configuration successfully written"
msgstr ""
#: source/ubl-settings-diskquota.cc:593 source/ubl-settings-diskquota.cc:506
#: source/ubl-settings-diskquota.cc:440
msgid "Global configuration write error"
msgstr ""
#: source/ubl-settings-diskquota.cc:198 source/ubl-settings-diskquota.cc:128
#: source/ubl-settings-diskquota.cc:118 source/ubl-settings-diskquota.cc:139
#: source/ubl-settings-diskquota.cc:136
msgid "Group quotas for this device:"
msgstr ""
#: source/ubl-settings-diskquota.cc:145 source/ubl-settings-diskquota.cc:75
#: source/ubl-settings-diskquota.cc:67 source/ubl-settings-diskquota.cc:88
#: source/ubl-settings-diskquota.cc:85 source/ubl-settings-diskquota.cc:82
#: source/ubl-settings-diskquota.cc:81
msgid "Groups"
msgstr ""
#: source/ubl-settings-diskquota.cc:203 source/ubl-settings-diskquota.cc:204
#: source/ubl-settings-diskquota.cc:213 source/ubl-settings-diskquota.cc:218
#: source/ubl-settings-diskquota.cc:133 source/ubl-settings-diskquota.cc:134
#: source/ubl-settings-diskquota.cc:143 source/ubl-settings-diskquota.cc:148
#: source/ubl-settings-diskquota.cc:123 source/ubl-settings-diskquota.cc:124
#: source/ubl-settings-diskquota.cc:138 source/ubl-settings-diskquota.cc:144
#: source/ubl-settings-diskquota.cc:145 source/ubl-settings-diskquota.cc:154
#: source/ubl-settings-diskquota.cc:159 source/ubl-settings-diskquota.cc:141
#: source/ubl-settings-diskquota.cc:142 source/ubl-settings-diskquota.cc:151
#: source/ubl-settings-diskquota.cc:156
msgid "Hard limit"
msgstr ""
#: source/ubl-settings-diskquota.cc:320 source/ubl-settings-diskquota.cc:324
#: source/ubl-settings-diskquota.cc:316 source/ubl-settings-diskquota.cc:263
msgid ""
"Hard limit\n"
"(Size) activation\n"
"time"
msgstr ""
#: source/ubl-settings-diskquota.cc:323 source/ubl-settings-diskquota.cc:327
#: source/ubl-settings-diskquota.cc:319 source/ubl-settings-diskquota.cc:266
msgid ""
"Hard limit\n"
"(files)"
msgstr ""
#: source/ubl-settings-diskquota.cc:325 source/ubl-settings-diskquota.cc:329
#: source/ubl-settings-diskquota.cc:321 source/ubl-settings-diskquota.cc:268
msgid ""
"Hard limit\n"
"(files) activation\n"
"time"
msgstr ""
#: source/ubl-settings-diskquota.cc:324 source/ubl-settings-diskquota.cc:328
#: source/ubl-settings-diskquota.cc:320 source/ubl-settings-diskquota.cc:267
msgid ""
"Hard limit\n"
"(files) delay"
msgstr ""
#: source/ubl-settings-diskquota.cc:318 source/ubl-settings-diskquota.cc:322
#: source/ubl-settings-diskquota.cc:314 source/ubl-settings-diskquota.cc:261
msgid ""
"Hard limit\n"
"(size)"
msgstr ""
#: source/ubl-settings-diskquota.cc:319 source/ubl-settings-diskquota.cc:323
#: source/ubl-settings-diskquota.cc:315 source/ubl-settings-diskquota.cc:262
msgid ""
"Hard limit\n"
"(size) delay"
msgstr ""
#: source/ubl-settings-diskquota.cc:247 source/ubl-settings-diskquota.cc:382
msgid ""
"Hard limit\n"
"activation\n"
"time (files)"
msgstr ""
#: source/ubl-settings-diskquota.cc:240 source/ubl-settings-diskquota.cc:375
msgid ""
"Hard limit\n"
"activation\n"
"time (size)"
msgstr ""
#: source/ubl-settings-diskquota.cc:195 source/ubl-settings-diskquota.cc:125
#: source/ubl-settings-diskquota.cc:115 source/ubl-settings-diskquota.cc:136
#: source/ubl-settings-diskquota.cc:133 source/ubl-settings-diskquota.cc:130
msgid "Hard limit (file) activation time"
msgstr ""
#: source/ubl-settings-diskquota.cc:123 source/ubl-settings-diskquota.cc:113
#: source/ubl-settings-diskquota.cc:134 source/ubl-settings-diskquota.cc:131
#: source/ubl-settings-diskquota.cc:128
msgid "Hard limit (files)"
msgstr ""
#: source/ubl-settings-diskquota.cc:124 source/ubl-settings-diskquota.cc:114
#: source/ubl-settings-diskquota.cc:135 source/ubl-settings-diskquota.cc:132
#: source/ubl-settings-diskquota.cc:129
msgid "Hard limit (files) delay"
msgstr ""
#: source/ubl-settings-diskquota.cc:188 source/ubl-settings-diskquota.cc:118
#: source/ubl-settings-diskquota.cc:108 source/ubl-settings-diskquota.cc:129
#: source/ubl-settings-diskquota.cc:126 source/ubl-settings-diskquota.cc:123
msgid "Hard limit (size)"
msgstr ""
#: source/ubl-settings-diskquota.cc:120 source/ubl-settings-diskquota.cc:110
#: source/ubl-settings-diskquota.cc:131 source/ubl-settings-diskquota.cc:128
#: source/ubl-settings-diskquota.cc:125
msgid "Hard limit (size) activation time"
msgstr ""
#: source/ubl-settings-diskquota.cc:119 source/ubl-settings-diskquota.cc:109
#: source/ubl-settings-diskquota.cc:130 source/ubl-settings-diskquota.cc:127
#: source/ubl-settings-diskquota.cc:124
msgid "Hard limit (size) delay"
msgstr ""
#: source/ubl-settings-diskquota.cc:190
msgid "Hard limit activation time (size)"
msgstr ""
#: source/ubl-settings-diskquota.cc:225 source/ubl-settings-diskquota.cc:155
#: source/ubl-settings-diskquota.cc:145
msgid "Help"
msgstr ""
#: source/ubl-settings-diskquota.cc:179 source/ubl-settings-diskquota.cc:109
#: source/ubl-settings-diskquota.cc:99 source/ubl-settings-diskquota.cc:120
#: source/ubl-settings-diskquota.cc:117 source/ubl-settings-diskquota.cc:114
msgid "Load"
msgstr ""
#: source/ubl-settings-diskquota.cc:222 source/ubl-settings-diskquota.cc:152
#: source/ubl-settings-diskquota.cc:142
msgid "Load global configuration"
msgstr ""
msgid "Direct control of the file system"
msgstr ""
#: source/ubl-settings-diskquota.cc:223 source/ubl-settings-diskquota.cc:153
#: source/ubl-settings-diskquota.cc:143
msgid "Load local configuration"
msgstr ""
#: source/ubl-settings-diskquota.cc:608 source/ubl-settings-diskquota.cc:521
#: source/ubl-settings-diskquota.cc:455
msgid "Local configuration downloaded successfully"
msgstr ""
#: source/ubl-settings-diskquota.cc:581 source/ubl-settings-diskquota.cc:494
#: source/ubl-settings-diskquota.cc:428
msgid "Local configuration reading error"
msgstr ""
#: source/ubl-settings-diskquota.cc:614 source/ubl-settings-diskquota.cc:527
#: source/ubl-settings-diskquota.cc:461
msgid "Local configuration successfully written"
msgstr ""
#: source/ubl-settings-diskquota.cc:589 source/ubl-settings-diskquota.cc:502
#: source/ubl-settings-diskquota.cc:436
msgid "Local configuration write error"
msgstr ""
#: source/ubl-settings-diskquota.cc:184 source/ubl-settings-diskquota.cc:234
#: source/ubl-settings-diskquota.cc:114 source/ubl-settings-diskquota.cc:369
#: source/ubl-settings-diskquota.cc:104 source/ubl-settings-diskquota.cc:314
#: source/ubl-settings-diskquota.cc:125 source/ubl-settings-diskquota.cc:318
#: source/ubl-settings-diskquota.cc:122 source/ubl-settings-diskquota.cc:310
#: source/ubl-settings-diskquota.cc:119
msgid "Name"
msgstr ""
#: source/ubl-settings-diskquota.cc:623 source/ubl-settings-diskquota.cc:536
#: source/ubl-settings-diskquota.cc:470
msgid "Nothing to save!"
msgstr ""
#: source/ubl-settings-diskquota.cc:143 source/ubl-settings-diskquota.cc:73
#: source/ubl-settings-diskquota.cc:65 source/ubl-settings-diskquota.cc:86
#: source/ubl-settings-diskquota.cc:83 source/ubl-settings-diskquota.cc:80
#: source/ubl-settings-diskquota.cc:79
msgid "Project Home Page"
msgstr ""
#: source/ubl-settings-diskquota.cc:185 source/ubl-settings-diskquota.cc:235
#: source/ubl-settings-diskquota.cc:115 source/ubl-settings-diskquota.cc:370
#: source/ubl-settings-diskquota.cc:105 source/ubl-settings-diskquota.cc:315
#: source/ubl-settings-diskquota.cc:126 source/ubl-settings-diskquota.cc:319
#: source/ubl-settings-diskquota.cc:123 source/ubl-settings-diskquota.cc:311
#: source/ubl-settings-diskquota.cc:258 source/ubl-settings-diskquota.cc:120
msgid "Quotas"
msgstr ""
#: source/ubl-settings-diskquota.cc:151 source/ubl-settings-diskquota.cc:81
#: source/ubl-settings-diskquota.cc:71
msgid "Quotas for groups"
msgstr ""
#: source/ubl-settings-diskquota.cc:154 source/ubl-settings-diskquota.cc:84
#: source/ubl-settings-diskquota.cc:74
msgid "Quotas for users"
msgstr ""
#: source/ubl-settings-diskquota.cc:180 source/ubl-settings-diskquota.cc:110
#: source/ubl-settings-diskquota.cc:100 source/ubl-settings-diskquota.cc:121
#: source/ubl-settings-diskquota.cc:118 source/ubl-settings-diskquota.cc:115
msgid "Save"
msgstr ""
#: source/ubl-settings-diskquota.cc:226 source/ubl-settings-diskquota.cc:156
#: source/ubl-settings-diskquota.cc:146
msgid "Save in global and local configuration"
msgstr ""
#: source/ubl-settings-diskquota.cc:227 source/ubl-settings-diskquota.cc:157
#: source/ubl-settings-diskquota.cc:147
msgid "Save in global configuration"
msgstr ""
#: source/ubl-settings-diskquota.cc:228 source/ubl-settings-diskquota.cc:158
#: source/ubl-settings-diskquota.cc:148
msgid "Save in local configuration"
msgstr ""
#: source/ubl-settings-diskquota.cc:140 source/ubl-settings-diskquota.cc:70
msgid "Setting user quotas"
msgstr ""
#: source/ubl-settings-diskquota.cc:245 source/ubl-settings-diskquota.cc:380
msgid ""
"Severe\n"
"limitation\n"
"(files)"
msgstr ""
#: source/ubl-settings-diskquota.cc:238 source/ubl-settings-diskquota.cc:373
msgid ""
"Severe\n"
"limitation\n"
"(size)"
msgstr ""
#: source/ubl-settings-diskquota.cc:193
msgid "Severe limitation (files)"
msgstr ""
#: source/ubl-settings-diskquota.cc:186 source/ubl-settings-diskquota.cc:199
#: source/ubl-settings-diskquota.cc:210 source/ubl-settings-diskquota.cc:236
#: source/ubl-settings-diskquota.cc:116 source/ubl-settings-diskquota.cc:129
#: source/ubl-settings-diskquota.cc:140 source/ubl-settings-diskquota.cc:371
#: source/ubl-settings-diskquota.cc:106 source/ubl-settings-diskquota.cc:119
#: source/ubl-settings-diskquota.cc:130 source/ubl-settings-diskquota.cc:316
#: source/ubl-settings-diskquota.cc:127 source/ubl-settings-diskquota.cc:151
#: source/ubl-settings-diskquota.cc:320 source/ubl-settings-diskquota.cc:124
#: source/ubl-settings-diskquota.cc:137 source/ubl-settings-diskquota.cc:148
#: source/ubl-settings-diskquota.cc:312 source/ubl-settings-diskquota.cc:259
#: source/ubl-settings-diskquota.cc:121
msgid "Size"
msgstr ""
#: source/ubl-settings-diskquota.cc:244 source/ubl-settings-diskquota.cc:379
msgid ""
"Soft\n"
"Restriction\n"
"(files)"
msgstr ""
#: source/ubl-settings-diskquota.cc:192
msgid "Soft Restriction (files)"
msgstr ""
#: source/ubl-settings-diskquota.cc:202 source/ubl-settings-diskquota.cc:205
#: source/ubl-settings-diskquota.cc:212 source/ubl-settings-diskquota.cc:217
#: source/ubl-settings-diskquota.cc:132 source/ubl-settings-diskquota.cc:135
#: source/ubl-settings-diskquota.cc:142 source/ubl-settings-diskquota.cc:147
#: source/ubl-settings-diskquota.cc:122 source/ubl-settings-diskquota.cc:125
#: source/ubl-settings-diskquota.cc:137 source/ubl-settings-diskquota.cc:143
#: source/ubl-settings-diskquota.cc:146 source/ubl-settings-diskquota.cc:153
#: source/ubl-settings-diskquota.cc:158 source/ubl-settings-diskquota.cc:140
#: source/ubl-settings-diskquota.cc:150 source/ubl-settings-diskquota.cc:155
msgid "Soft limit"
msgstr ""
#: source/ubl-settings-diskquota.cc:322 source/ubl-settings-diskquota.cc:326
#: source/ubl-settings-diskquota.cc:318 source/ubl-settings-diskquota.cc:265
msgid ""
"Soft limit\n"
"(files)"
msgstr ""
#: source/ubl-settings-diskquota.cc:237 source/ubl-settings-diskquota.cc:372
#: source/ubl-settings-diskquota.cc:317 source/ubl-settings-diskquota.cc:321
#: source/ubl-settings-diskquota.cc:313 source/ubl-settings-diskquota.cc:260
msgid ""
"Soft limit\n"
"(size)"
msgstr ""
#: source/ubl-settings-diskquota.cc:122 source/ubl-settings-diskquota.cc:112
#: source/ubl-settings-diskquota.cc:133 source/ubl-settings-diskquota.cc:130
#: source/ubl-settings-diskquota.cc:127
msgid "Soft limit (files)"
msgstr ""
#: source/ubl-settings-diskquota.cc:187 source/ubl-settings-diskquota.cc:117
#: source/ubl-settings-diskquota.cc:107 source/ubl-settings-diskquota.cc:128
#: source/ubl-settings-diskquota.cc:125 source/ubl-settings-diskquota.cc:122
msgid "Soft limit (size)"
msgstr ""
#: source/ubl-settings-diskquota.cc:620 source/ubl-settings-diskquota.cc:533
#: source/ubl-settings-diskquota.cc:467
msgid "Successfully saved local and global configuration"
msgstr ""
#: source/ubl-settings-diskquota.cc:59 source/ubl-settings-diskquota.cc:55
#: source/ubl-settings-diskquota.cc:47 source/ubl-settings-diskquota.cc:68
#: source/ubl-settings-diskquota.cc:70 source/ubl-settings-diskquota.cc:67
#: source/ubl-settings-diskquota.cc:66
msgid "The program must be run as root"
msgstr ""
#: source/ubl-settings-diskquota.cc:209 source/ubl-settings-diskquota.cc:139
#: source/ubl-settings-diskquota.cc:129 source/ubl-settings-diskquota.cc:150
#: source/ubl-settings-diskquota.cc:147
msgid "User quotas for this device: "
msgstr ""
#: source/ubl-settings-diskquota.cc:148 source/ubl-settings-diskquota.cc:78
#: source/ubl-settings-diskquota.cc:68 source/ubl-settings-diskquota.cc:89
#: source/ubl-settings-diskquota.cc:86 source/ubl-settings-diskquota.cc:83
#: source/ubl-settings-diskquota.cc:82
msgid "Users"
msgstr ""
#: source/ubl-settings-diskquota.cc:163 source/ubl-settings-diskquota.cc:164
#: source/ubl-settings-diskquota.cc:165 source/ubl-settings-diskquota.cc:166
#: source/ubl-settings-diskquota.cc:93 source/ubl-settings-diskquota.cc:94
#: source/ubl-settings-diskquota.cc:95 source/ubl-settings-diskquota.cc:96
#: source/ubl-settings-diskquota.cc:83 source/ubl-settings-diskquota.cc:84
#: source/ubl-settings-diskquota.cc:85 source/ubl-settings-diskquota.cc:86
#: source/ubl-settings-diskquota.cc:104 source/ubl-settings-diskquota.cc:105
#: source/ubl-settings-diskquota.cc:106 source/ubl-settings-diskquota.cc:107
#: source/ubl-settings-diskquota.cc:101 source/ubl-settings-diskquota.cc:102
#: source/ubl-settings-diskquota.cc:103 source/ubl-settings-diskquota.cc:98
#: source/ubl-settings-diskquota.cc:99 source/ubl-settings-diskquota.cc:100
#: source/ubl-settings-diskquota.cc:97
msgid "days"
msgstr ""
#: source/ubl-settings-diskquota.cc:219 source/ubl-settings-diskquota.cc:220
#: source/ubl-settings-diskquota.cc:149 source/ubl-settings-diskquota.cc:150
#: source/ubl-settings-diskquota.cc:139 source/ubl-settings-diskquota.cc:140
#: source/ubl-settings-diskquota.cc:160 source/ubl-settings-diskquota.cc:161
#: source/ubl-settings-diskquota.cc:157 source/ubl-settings-diskquota.cc:158
msgid "files"
msgstr ""
msgid "Configuring disk quota settings for system groups and users"
msgstr ""
#: source/ubl-settings-diskquota.cc:167 source/ubl-settings-diskquota.cc:168
#: source/ubl-settings-diskquota.cc:169 source/ubl-settings-diskquota.cc:170
#: source/ubl-settings-diskquota.cc:97 source/ubl-settings-diskquota.cc:98
#: source/ubl-settings-diskquota.cc:99 source/ubl-settings-diskquota.cc:100
#: source/ubl-settings-diskquota.cc:87 source/ubl-settings-diskquota.cc:88
#: source/ubl-settings-diskquota.cc:89 source/ubl-settings-diskquota.cc:90
#: source/ubl-settings-diskquota.cc:108 source/ubl-settings-diskquota.cc:109
#: source/ubl-settings-diskquota.cc:110 source/ubl-settings-diskquota.cc:111
#: source/ubl-settings-diskquota.cc:105 source/ubl-settings-diskquota.cc:106
#: source/ubl-settings-diskquota.cc:107 source/ubl-settings-diskquota.cc:102
#: source/ubl-settings-diskquota.cc:103 source/ubl-settings-diskquota.cc:104
#: source/ubl-settings-diskquota.cc:101
msgid "hours"
msgstr ""
#: source/ubl-settings-diskquota.cc:141 source/ubl-settings-diskquota.cc:71
#: source/ubl-settings-diskquota.cc:63 source/ubl-settings-diskquota.cc:84
#: source/ubl-settings-diskquota.cc:81 source/ubl-settings-diskquota.cc:78
#: source/ubl-settings-diskquota.cc:77
msgid "https://wiki.ublinux.com"
msgstr ""
#: source/ubl-settings-diskquota.cc:548 source/ubl-settings-diskquota.cc:461
msgid ""
"https://wiki.ublinux.com/ru/Программное_обеспечениерограммы_и_утилиты/Все/"
msgstr ""
#: source/ubl-settings-diskquota.cc:171 source/ubl-settings-diskquota.cc:172
#: source/ubl-settings-diskquota.cc:173 source/ubl-settings-diskquota.cc:174
#: source/ubl-settings-diskquota.cc:101 source/ubl-settings-diskquota.cc:102
#: source/ubl-settings-diskquota.cc:103 source/ubl-settings-diskquota.cc:104
#: source/ubl-settings-diskquota.cc:91 source/ubl-settings-diskquota.cc:92
#: source/ubl-settings-diskquota.cc:93 source/ubl-settings-diskquota.cc:94
#: source/ubl-settings-diskquota.cc:112 source/ubl-settings-diskquota.cc:113
#: source/ubl-settings-diskquota.cc:114 source/ubl-settings-diskquota.cc:115
#: source/ubl-settings-diskquota.cc:109 source/ubl-settings-diskquota.cc:110
#: source/ubl-settings-diskquota.cc:111 source/ubl-settings-diskquota.cc:106
#: source/ubl-settings-diskquota.cc:107 source/ubl-settings-diskquota.cc:108
#: source/ubl-settings-diskquota.cc:105
msgid "minutes"
msgstr ""
#: source/ubl-settings-diskquota.cc:257
msgid "name"
msgstr ""
#: source/ubl-settings-diskquota.cc:92 source/ubl-settings-diskquota.cc:89
#: source/ubl-settings-diskquota.cc:86 source/ubl-settings-diskquota.cc:85
msgid "quotas for groups"
msgstr ""
#: source/ubl-settings-diskquota.cc:95 source/ubl-settings-diskquota.cc:92
#: source/ubl-settings-diskquota.cc:89 source/ubl-settings-diskquota.cc:88
msgid "quotas for users"
msgstr ""
#: source/ubl-settings-diskquota.cc:629 source/ubl-settings-diskquota.cc:542
#: source/ubl-settings-diskquota.cc:476 source/ubl-settings-diskquota.cc:350
#: source/ubl-settings-diskquota.cc:371 source/ubl-settings-diskquota.cc:318
#: source/ubl-settings-diskquota.cc:267 source/ubl-settings-diskquota.cc:213
msgid "ubl-settings-diskquota version: "
msgstr ""
#: source/ubl-settings-diskquota.cc:159 source/ubl-settings-diskquota.cc:160
#: source/ubl-settings-diskquota.cc:161 source/ubl-settings-diskquota.cc:162
#: source/ubl-settings-diskquota.cc:89 source/ubl-settings-diskquota.cc:90
#: source/ubl-settings-diskquota.cc:91 source/ubl-settings-diskquota.cc:92
#: source/ubl-settings-diskquota.cc:79 source/ubl-settings-diskquota.cc:80
#: source/ubl-settings-diskquota.cc:81 source/ubl-settings-diskquota.cc:82
#: source/ubl-settings-diskquota.cc:100 source/ubl-settings-diskquota.cc:101
#: source/ubl-settings-diskquota.cc:102 source/ubl-settings-diskquota.cc:103
#: source/ubl-settings-diskquota.cc:97 source/ubl-settings-diskquota.cc:98
#: source/ubl-settings-diskquota.cc:99 source/ubl-settings-diskquota.cc:94
#: source/ubl-settings-diskquota.cc:95 source/ubl-settings-diskquota.cc:96
#: source/ubl-settings-diskquota.cc:93
msgid "weeks"
msgstr ""
msgid "General statistics"
msgstr ""

@ -1,997 +0,0 @@
# Russian translations for ubl-settings-diskquota package.
# Copyright (C) 2022, UBTech LLC
# This file is distributed under the same license as the ubl-settings-diskquota package.
# UBLinux Team <info@ublinux.com>, 2022
#
#, fuzzy
msgid "test"
msgstr ""
"Project-Id-Version: ublexec 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-04-10 16:09+0000\n"
"PO-Revision-Date: 2023-01-01 00:00+0600\n"
"Last-Translator: UBLinux Team <info@ublinux.com>\n"
"Language-Team: Russian - UBLinux Team <info@ublinux.com>\n"
"Language: Russian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit"
#: source/ubl-strings.h:1
msgid "Version:"
msgstr "Версия:"
#: source/ubl-strings.h:2
msgid "ubl-settings-TEMPLATE version:"
msgstr "Версия ubl-settings-TEMPLATE: "
#: source/ubl-strings.h:2
msgid "TEMPLATE settings"
msgstr "Настройки TEMPLATE"
#: source/ubl-strings.h:2
msgid "Usage:"
msgstr "Использование:"
#: source/ubl-strings.h:2
msgid "[OPTIONS]"
msgstr "[АРГУМЕНТЫ]"
#: source/ubl-strings.h:2
msgid "Options:"
msgstr "Аргументы:"
#: source/ubl-strings.h:2
msgid "Show this help"
msgstr "Показать параметры справки"
#: source/ubl-strings.h:2
msgid "Show package version"
msgstr "Показать текущую версию"
#: source/ubl-strings.h:2
msgid "Lock this help menu"
msgstr "Блокировка вызова справки"
#: source/ubl-strings.h:2
#, fuzzy
msgid "Lock configuration saving"
msgstr "Блокировка сохранения локальной и глобальной конфигурации"
#: source/ubl-strings.h:2
msgid "Lock local configration saving"
msgstr "Блокировка сохранения локальной конфигурации"
#: source/ubl-strings.h:2
msgid "Lock global configration saving"
msgstr "Блокировка сохранения глобальной конфигурации"
#: source/ubl-strings.h:2
msgid "Lock global configration loading"
msgstr "Блокировка загрузки глобальной конфигурации"
#: source/ubl-strings.h:4
msgid "TEMPLATE Manager"
msgstr "Настройки TEMPLATE"
#: source/ubl-strings.h:5
msgid "System TEMPLATE settings management"
msgstr "Настройки TEMPLATE"
#: source/ubl-strings.h:7
msgid "Operation succeeded"
msgstr "Операция завершена"
#: source/ubl-strings.h:8
msgid ""
"Warning! Application was launched without root - root-dependent actions are "
"locked"
msgstr "Внимание! Приложение было запущено без прав суперпользователя - действия, требующие их наличия заблокированы"
#: source/ubl-strings.h:11
msgid "Documentation"
msgstr "Справка"
#: source/ubl-strings.h:12
msgid "Save to local configuration"
msgstr "Сохранить в локальную конфигурацию"
#: source/ubl-strings.h:13
msgid "Save to global configuration"
msgstr "Сохранить в глобальную конфигурацию"
#: source/ubl-strings.h:14
msgid "Save configuration"
msgstr "Сохранить конфигурацию"
#: source/ubl-strings.h:24
msgid "Always redirect to online documentation"
msgstr "Всегда перенаправлять"
#: source/ubl-strings.h:25
msgid "Open documentation"
msgstr "Прочитать справку"
#: source/ubl-strings.h:27
msgid "Nothing were chosen"
msgstr "Ничего не было выбрано"
#: source/ubl-strings.h:30
msgid "Global configuration loading succseeded."
msgstr "Успешно загружена глобальная конфигурация"
#: source/ubl-strings.h:31
msgid "Local configuration loading succseeded."
msgstr "Успешно загружена локальная конфигурация"
#: source/ubl-strings.h:33
msgid "Local and global configuration saving succseeded."
msgstr "Успешно записаны локальная и глобальная конфигурация"
#: source/ubl-strings.h:34
msgid "Global configuration saving succseeded."
msgstr "Успешно записана глобальная конфигурация"
#: source/ubl-strings.h:35
msgid "Local configuration saving succseeded."
msgstr "Успешно записана локальная конфигурация"
msgid "Off"
msgstr "Выключено"
msgid "Not set"
msgstr "Не задано"
msgid "ubl-settings-diskquota"
msgstr "Дисковые квоты"
msgid "Settings disk quotas - Addition"
msgstr "Настройка дисковых квот - Добавление"
msgid "Settings disk quotas - Editing"
msgstr "Настройка дисковых квот - Редактирование"
msgid "Edit"
msgstr "Редактировать"
msgid "Kb"
msgstr "Кб"
msgid "Mb"
msgstr "Мб"
msgid "Gb"
msgstr "Гб"
msgid "Tb"
msgstr "Тб"
msgid "Quota use status:"
msgstr "Статус использования квот:"
msgid "Would you like to read documentation in the Web?"
msgstr "Вы хотите прочитать справку в Сети?"
msgid ""
"You will be redirected to documentation website where documentation is\n"
"translated and supported by community."
msgstr ""
"Вы будете перенаправлены на сайт с документацией где страницы помощи\n"
"переводятся и поддерживаются сообществом."
msgid "Cancel"
msgstr "Отменить"
msgid "Always redirect"
msgstr "Всегда перенаправлять"
msgid "Read online"
msgstr "Прочитать онлайн"
#: source/ubl-settings-quotas.cc:224 source/ubl-settings-quotas.cc:154
#: source/ubl-settings-quotas.cc:144
msgid "About"
msgstr "О программе"
msgid "Projects"
msgstr "Проекты"
#: source/ubl-settings-quotas.cc:183 source/ubl-settings-quotas.cc:113
#: source/ubl-settings-quotas.cc:103 source/ubl-settings-quotas.cc:124
#: source/ubl-settings-quotas.cc:121 source/ubl-settings-quotas.cc:118
msgid "Configuration of disk quotas parameters for system groups and users"
msgstr "Настройка параметров дисковых квот для системных групп и пользователей"
msgid "Configuring disk quota settings for system groups and users"
msgstr "Настройка параметров дисковых квот для системных групп и пользователей системы"
#: source/ubl-settings-quotas.cc:138 source/ubl-settings-quotas.cc:68
#: source/ubl-settings-quotas.cc:60 source/ubl-settings-quotas.cc:81
#: source/ubl-settings-quotas.cc:78 source/ubl-settings-quotas.cc:75
#: source/ubl-settings-quotas.cc:74
msgid "Copyright © UBSoft LLC, 2022 - "
msgstr ""
#: source/ubl-settings-quotas.cc:201 source/ubl-settings-quotas.cc:206
#: source/ubl-settings-quotas.cc:211 source/ubl-settings-quotas.cc:131
#: source/ubl-settings-quotas.cc:136 source/ubl-settings-quotas.cc:141
#: source/ubl-settings-quotas.cc:121 source/ubl-settings-quotas.cc:126
#: source/ubl-settings-quotas.cc:142 source/ubl-settings-quotas.cc:147
#: source/ubl-settings-quotas.cc:152 source/ubl-settings-quotas.cc:139
#: source/ubl-settings-quotas.cc:144 source/ubl-settings-quotas.cc:149
msgid "Currently using:"
msgstr "В настоящее время используется:"
#: source/ubl-settings-quotas.cc:216 source/ubl-settings-quotas.cc:146
#: source/ubl-settings-quotas.cc:136 source/ubl-settings-quotas.cc:157
#: source/ubl-settings-quotas.cc:154
msgid "Currently using: "
msgstr "В настоящее время используется: "
#: source/ubl-settings-quotas.cc:62 source/ubl-settings-quotas.cc:83
#: source/ubl-settings-quotas.cc:80 source/ubl-settings-quotas.cc:77
#: source/ubl-settings-quotas.cc:76
msgid "Date and Time"
msgstr "Дата и время"
#: source/ubl-settings-quotas.cc:246 source/ubl-settings-quotas.cc:381
msgid ""
"Deferring\n"
"a hard\n"
"limit\n"
"(files)"
msgstr ""
"Отсрочка\n"
"жесткого\n"
"ограничения\n"
"(файлы)"
msgid ""
"Deferring\n"
"(files)"
msgstr ""
"Отсрочка\n"
"(файлы)"
msgid ""
"Deferring\n"
"(size)"
msgstr ""
"Отсрочка\n"
"(объём)"
#: source/ubl-settings-quotas.cc:239 source/ubl-settings-quotas.cc:374
msgid ""
"Deferring\n"
"a hard\n"
"limit\n"
"(size)"
msgstr ""
"Отсрочка\n"
"жесткого\n"
"ограничения\n"
"(объём)"
#: source/ubl-settings-quotas.cc:194
msgid "Deferring a hard limit (files)"
msgstr "Отсрочка жесткого ограничения (файлы)"
#: source/ubl-settings-quotas.cc:189
msgid "Deferring a hard limit (size)"
msgstr "Отсрочка жесткого ограничения (объём)"
#: source/ubl-settings-quotas.cc:149 source/ubl-settings-quotas.cc:181
#: source/ubl-settings-quotas.cc:182 source/ubl-settings-quotas.cc:196
#: source/ubl-settings-quotas.cc:208 source/ubl-settings-quotas.cc:79
#: source/ubl-settings-quotas.cc:111 source/ubl-settings-quotas.cc:112
#: source/ubl-settings-quotas.cc:126 source/ubl-settings-quotas.cc:138
#: source/ubl-settings-quotas.cc:69 source/ubl-settings-quotas.cc:101
#: source/ubl-settings-quotas.cc:102 source/ubl-settings-quotas.cc:116
#: source/ubl-settings-quotas.cc:128 source/ubl-settings-quotas.cc:90
#: source/ubl-settings-quotas.cc:122 source/ubl-settings-quotas.cc:123
#: source/ubl-settings-quotas.cc:137 source/ubl-settings-quotas.cc:87
#: source/ubl-settings-quotas.cc:119 source/ubl-settings-quotas.cc:120
#: source/ubl-settings-quotas.cc:134 source/ubl-settings-quotas.cc:146
#: source/ubl-settings-quotas.cc:84 source/ubl-settings-quotas.cc:117
#: source/ubl-settings-quotas.cc:83
msgid "Device:"
msgstr "Устройство:"
msgid "Project ID"
msgstr "ID проекта"
msgid "Catalog"
msgstr "Каталог"
msgid "Project Name"
msgstr "Имя проекта"
msgid "Auto"
msgstr "Авто"
msgid "Review"
msgstr "Обзор"
msgid "Generate"
msgstr "Сгенерировать"
msgid "User"
msgstr "Пользователь"
msgid "Group"
msgstr "Группа"
msgid "User:"
msgstr "Пользователь:"
msgid "Group:"
msgstr "Группа:"
msgid "Projects:"
msgstr "Проект:"
msgid "Quota type"
msgstr "Тип квот"
msgid "Status"
msgstr "Статус"
msgid "Device\nProject"
msgstr "Устройство\nПроект"
#: source/ubl-settings-quotas.cc:197 source/ubl-settings-quotas.cc:207
#: source/ubl-settings-quotas.cc:127 source/ubl-settings-quotas.cc:137
#: source/ubl-settings-quotas.cc:117 source/ubl-settings-quotas.cc:138
#: source/ubl-settings-quotas.cc:148 source/ubl-settings-quotas.cc:135
#: source/ubl-settings-quotas.cc:145
msgid "Disk quotas for this device:"
msgstr "Дисковые квоты для этого устройства:"
#: source/ubl-settings-quotas.cc:152 source/ubl-settings-quotas.cc:153
#: source/ubl-settings-quotas.cc:82 source/ubl-settings-quotas.cc:83
#: source/ubl-settings-quotas.cc:72 source/ubl-settings-quotas.cc:73
#: source/ubl-settings-quotas.cc:93 source/ubl-settings-quotas.cc:94
#: source/ubl-settings-quotas.cc:90 source/ubl-settings-quotas.cc:91
#: source/ubl-settings-quotas.cc:87 source/ubl-settings-quotas.cc:88
#: source/ubl-settings-quotas.cc:86
msgid "Enable"
msgstr "Включить"
#: source/ubl-settings-quotas.cc:597 source/ubl-settings-quotas.cc:510
#: source/ubl-settings-quotas.cc:444
#, fuzzy
msgid "Error saved local and global configuration"
msgstr "Сохранить глобальную и локальную конфигурацию"
#: source/ubl-settings-quotas.cc:156 source/ubl-settings-quotas.cc:158
#: source/ubl-settings-quotas.cc:86 source/ubl-settings-quotas.cc:88
#: source/ubl-settings-quotas.cc:76 source/ubl-settings-quotas.cc:78
#: source/ubl-settings-quotas.cc:97 source/ubl-settings-quotas.cc:99
#: source/ubl-settings-quotas.cc:94 source/ubl-settings-quotas.cc:96
#: source/ubl-settings-quotas.cc:91 source/ubl-settings-quotas.cc:93
#: source/ubl-settings-quotas.cc:90 source/ubl-settings-quotas.cc:92
msgid "Excess files delay period"
msgstr "Превышение периода задержки файлов"
#: source/ubl-settings-quotas.cc:155 source/ubl-settings-quotas.cc:157
#: source/ubl-settings-quotas.cc:85 source/ubl-settings-quotas.cc:87
#: source/ubl-settings-quotas.cc:75 source/ubl-settings-quotas.cc:77
#: source/ubl-settings-quotas.cc:96 source/ubl-settings-quotas.cc:98
#: source/ubl-settings-quotas.cc:93 source/ubl-settings-quotas.cc:95
#: source/ubl-settings-quotas.cc:90 source/ubl-settings-quotas.cc:92
#: source/ubl-settings-quotas.cc:89 source/ubl-settings-quotas.cc:91
msgid "Excess size delay period"
msgstr "Период задержки превышения размера"
#: source/ubl-settings-quotas.cc:150 source/ubl-settings-quotas.cc:175
#: source/ubl-settings-quotas.cc:176 source/ubl-settings-quotas.cc:214
#: source/ubl-settings-quotas.cc:221 source/ubl-settings-quotas.cc:80
#: source/ubl-settings-quotas.cc:105 source/ubl-settings-quotas.cc:106
#: source/ubl-settings-quotas.cc:144 source/ubl-settings-quotas.cc:151
#: source/ubl-settings-quotas.cc:70 source/ubl-settings-quotas.cc:95
#: source/ubl-settings-quotas.cc:96 source/ubl-settings-quotas.cc:134
#: source/ubl-settings-quotas.cc:141 source/ubl-settings-quotas.cc:91
#: source/ubl-settings-quotas.cc:116 source/ubl-settings-quotas.cc:117
#: source/ubl-settings-quotas.cc:155 source/ubl-settings-quotas.cc:162
#: source/ubl-settings-quotas.cc:88 source/ubl-settings-quotas.cc:113
#: source/ubl-settings-quotas.cc:114 source/ubl-settings-quotas.cc:152
#: source/ubl-settings-quotas.cc:85 source/ubl-settings-quotas.cc:110
#: source/ubl-settings-quotas.cc:111 source/ubl-settings-quotas.cc:84
msgid "File system:"
msgstr "Файловая система:"
#: source/ubl-settings-quotas.cc:191 source/ubl-settings-quotas.cc:200
#: source/ubl-settings-quotas.cc:215 source/ubl-settings-quotas.cc:243
#: source/ubl-settings-quotas.cc:121 source/ubl-settings-quotas.cc:130
#: source/ubl-settings-quotas.cc:145 source/ubl-settings-quotas.cc:378
#: source/ubl-settings-quotas.cc:111 source/ubl-settings-quotas.cc:120
#: source/ubl-settings-quotas.cc:135 source/ubl-settings-quotas.cc:321
#: source/ubl-settings-quotas.cc:132 source/ubl-settings-quotas.cc:141
#: source/ubl-settings-quotas.cc:156 source/ubl-settings-quotas.cc:325
#: source/ubl-settings-quotas.cc:129 source/ubl-settings-quotas.cc:138
#: source/ubl-settings-quotas.cc:153 source/ubl-settings-quotas.cc:317
#: source/ubl-settings-quotas.cc:264 source/ubl-settings-quotas.cc:126
msgid "Files"
msgstr "Файлы"
#: source/ubl-settings-quotas.cc:177 source/ubl-settings-quotas.cc:178
#: source/ubl-settings-quotas.cc:107 source/ubl-settings-quotas.cc:108
#: source/ubl-settings-quotas.cc:97 source/ubl-settings-quotas.cc:98
#: source/ubl-settings-quotas.cc:118 source/ubl-settings-quotas.cc:119
#: source/ubl-settings-quotas.cc:115 source/ubl-settings-quotas.cc:116
#: source/ubl-settings-quotas.cc:112 source/ubl-settings-quotas.cc:113
msgid "Filters"
msgstr "Фильтры"
msgid "Direct control of the file system"
msgstr "Прямое управление файловой системой"
msgid ""
"GTK settings disk quota for UBLinux\n"
"\n"
"Usage: ubl-settings-diskquota [OPTIONS...]\n"
"Options:\n"
" -h, --help\t Show this help\n"
" -V, --version\t Show package version\n"
" --lock-help Lock utility help\n"
" --lock-save Lock saving local and global configuration\n"
" --lock-save-local Lock save global configuration\n"
" --lock-save-global Lock load global configuration\n"
" --lock-load-global Lock load global configuration\n"
msgstr ""
"GTK утилита настройки дисковых для UBLinux\n"
"\n"
"Использование: ubl-settings-diskquota [Параметры приложения...]\n"
"Параметры приложения:\n"
" -h, --help\t Показать параметры справки\n"
" -V, --version\t Показать версию пакета\n"
" --lock-help Блокировка вызова справки\n"
" --lock-save Блокировка сохранения локальной и глобальной "
"конфигурации\n"
" --lock-save-local Блокировка сохранения локальной конфигурации\n"
" --lock-save-global Блокировка сохранения глобальной конфигурации\n"
" --lock-load-global Блокировка загрузки глобальной конфигурации\n"
#: source/ubl-settings-quotas.cc:144 source/ubl-settings-quotas.cc:74
#: source/ubl-settings-quotas.cc:66 source/ubl-settings-quotas.cc:87
#: source/ubl-settings-quotas.cc:84 source/ubl-settings-quotas.cc:81
#: source/ubl-settings-quotas.cc:80
msgid "General settings"
msgstr "Общие настройки"
#: source/ubl-settings-quotas.cc:611 source/ubl-settings-quotas.cc:524
#: source/ubl-settings-quotas.cc:458
msgid "Global configuration downloaded successfully"
msgstr "Успешно загружена глобальная конфигурация"
#: source/ubl-settings-quotas.cc:585 source/ubl-settings-quotas.cc:498
#: source/ubl-settings-quotas.cc:432
#, fuzzy
msgid "Global configuration read error"
msgstr "Сохранить глобальную конфигурацию"
#: source/ubl-settings-quotas.cc:617 source/ubl-settings-quotas.cc:530
#: source/ubl-settings-quotas.cc:464
msgid "Global configuration successfully written"
msgstr "Успешно записана глобальная конфигурация"
#: source/ubl-settings-quotas.cc:593 source/ubl-settings-quotas.cc:506
#: source/ubl-settings-quotas.cc:440
#, fuzzy
msgid "Global configuration write error"
msgstr "Сохранить глобальную конфигурацию"
#: source/ubl-settings-quotas.cc:198 source/ubl-settings-quotas.cc:128
#: source/ubl-settings-quotas.cc:118 source/ubl-settings-quotas.cc:139
#: source/ubl-settings-quotas.cc:136
msgid "Group quotas for this device:"
msgstr "Групповые квоты для этого устройства:"
#: source/ubl-settings-quotas.cc:145 source/ubl-settings-quotas.cc:75
#: source/ubl-settings-quotas.cc:67 source/ubl-settings-quotas.cc:88
#: source/ubl-settings-quotas.cc:85 source/ubl-settings-quotas.cc:82
#: source/ubl-settings-quotas.cc:81
msgid "Groups"
msgstr "Группы"
#: source/ubl-settings-quotas.cc:203 source/ubl-settings-quotas.cc:204
#: source/ubl-settings-quotas.cc:213 source/ubl-settings-quotas.cc:218
#: source/ubl-settings-quotas.cc:133 source/ubl-settings-quotas.cc:134
#: source/ubl-settings-quotas.cc:143 source/ubl-settings-quotas.cc:148
#: source/ubl-settings-quotas.cc:123 source/ubl-settings-quotas.cc:124
#: source/ubl-settings-quotas.cc:138 source/ubl-settings-quotas.cc:144
#: source/ubl-settings-quotas.cc:145 source/ubl-settings-quotas.cc:154
#: source/ubl-settings-quotas.cc:159 source/ubl-settings-quotas.cc:141
#: source/ubl-settings-quotas.cc:142 source/ubl-settings-quotas.cc:151
#: source/ubl-settings-quotas.cc:156
#, fuzzy
msgid "Hard limit"
msgstr "Жесткий предел"
#: source/ubl-settings-quotas.cc:320 source/ubl-settings-quotas.cc:324
#: source/ubl-settings-quotas.cc:316 source/ubl-settings-quotas.cc:263
#, fuzzy
msgid ""
"Hard limit\n"
"(Size) activation\n"
"time"
msgstr ""
"Жесткий предел\n"
"(размер)"
#: source/ubl-settings-quotas.cc:323 source/ubl-settings-quotas.cc:327
#: source/ubl-settings-quotas.cc:319 source/ubl-settings-quotas.cc:266
#, fuzzy
msgid ""
"Hard limit\n"
"(files)"
msgstr ""
"Жесткий лимит\n"
"(файлы)"
#: source/ubl-settings-quotas.cc:325 source/ubl-settings-quotas.cc:329
#: source/ubl-settings-quotas.cc:321 source/ubl-settings-quotas.cc:268
#, fuzzy
msgid ""
"Hard limit\n"
"(files) activation\n"
"time"
msgstr ""
"Жесткий предел\n"
"(размер)"
#: source/ubl-settings-quotas.cc:324 source/ubl-settings-quotas.cc:328
#: source/ubl-settings-quotas.cc:320 source/ubl-settings-quotas.cc:267
#, fuzzy
msgid ""
"Hard limit\n"
"(files) delay"
msgstr ""
"Жесткий лимит\n"
"(файлы)"
#: source/ubl-settings-quotas.cc:318 source/ubl-settings-quotas.cc:322
#: source/ubl-settings-quotas.cc:314 source/ubl-settings-quotas.cc:261
#, fuzzy
msgid ""
"Hard limit\n"
"(size)"
msgstr ""
"Жесткий предел\n"
"(размер) задержки"
#: source/ubl-settings-quotas.cc:319 source/ubl-settings-quotas.cc:323
#: source/ubl-settings-quotas.cc:315 source/ubl-settings-quotas.cc:262
#, fuzzy
msgid ""
"Hard limit\n"
"(size) delay"
msgstr ""
"Жесткий предел\n"
"(размер) задержки"
#: source/ubl-settings-quotas.cc:247 source/ubl-settings-quotas.cc:382
#, fuzzy
msgid ""
"Hard limit\n"
"activation\n"
"time (files)"
msgstr ""
"Время активации\n"
"жесткого лимита\n"
"(файла)"
#: source/ubl-settings-quotas.cc:240 source/ubl-settings-quotas.cc:375
msgid ""
"Hard limit\n"
"activation\n"
"time (size)"
msgstr ""
"Время активации\n"
"жесткого лимита\n"
"(объём)"
#: source/ubl-settings-quotas.cc:195 source/ubl-settings-quotas.cc:125
#: source/ubl-settings-quotas.cc:115 source/ubl-settings-quotas.cc:136
#: source/ubl-settings-quotas.cc:133 source/ubl-settings-quotas.cc:130
msgid "Hard limit (file) activation time"
msgstr "Время активации жесткого лимита (файла)"
#: source/ubl-settings-quotas.cc:123 source/ubl-settings-quotas.cc:113
#: source/ubl-settings-quotas.cc:134 source/ubl-settings-quotas.cc:131
#: source/ubl-settings-quotas.cc:128
msgid "Hard limit (files)"
msgstr "Жесткий лимит (файлы)"
#: source/ubl-settings-quotas.cc:124 source/ubl-settings-quotas.cc:114
#: source/ubl-settings-quotas.cc:135 source/ubl-settings-quotas.cc:132
#: source/ubl-settings-quotas.cc:129
msgid "Hard limit (files) delay"
msgstr "Жесткий лимит (файлы)"
#: source/ubl-settings-quotas.cc:188 source/ubl-settings-quotas.cc:118
#: source/ubl-settings-quotas.cc:108 source/ubl-settings-quotas.cc:129
#: source/ubl-settings-quotas.cc:126 source/ubl-settings-quotas.cc:123
msgid "Hard limit (size)"
msgstr "Жесткий лимит (объём)"
#: source/ubl-settings-quotas.cc:120 source/ubl-settings-quotas.cc:110
#: source/ubl-settings-quotas.cc:131 source/ubl-settings-quotas.cc:128
#: source/ubl-settings-quotas.cc:125
msgid "Hard limit (size) activation time"
msgstr "Жесткий предел (размер)"
#: source/ubl-settings-quotas.cc:119 source/ubl-settings-quotas.cc:109
#: source/ubl-settings-quotas.cc:130 source/ubl-settings-quotas.cc:127
#: source/ubl-settings-quotas.cc:124
msgid "Hard limit (size) delay"
msgstr "Жесткий предел (размер) задержки"
#: source/ubl-settings-quotas.cc:190
msgid "Hard limit activation time (size)"
msgstr "Время активации жесткого ограничения (объём)"
#: source/ubl-settings-quotas.cc:225 source/ubl-settings-quotas.cc:155
#: source/ubl-settings-quotas.cc:145
msgid "Help"
msgstr "Справка"
#: source/ubl-settings-quotas.cc:179 source/ubl-settings-quotas.cc:109
#: source/ubl-settings-quotas.cc:99 source/ubl-settings-quotas.cc:120
#: source/ubl-settings-quotas.cc:117 source/ubl-settings-quotas.cc:114
msgid "Load"
msgstr "Загрузить"
#: source/ubl-settings-quotas.cc:222 source/ubl-settings-quotas.cc:152
#: source/ubl-settings-quotas.cc:142
msgid "Load global configuration"
msgstr "Загрузить глобальную конфигурацию"
#: source/ubl-settings-quotas.cc:223 source/ubl-settings-quotas.cc:153
#: source/ubl-settings-quotas.cc:143
msgid "Load local configuration"
msgstr "Загрузить локальную конфигурацию"
#: source/ubl-settings-quotas.cc:608 source/ubl-settings-quotas.cc:521
#: source/ubl-settings-quotas.cc:455
msgid "Local configuration downloaded successfully"
msgstr "Успешно загружена локальная конфигурация"
#: source/ubl-settings-quotas.cc:581 source/ubl-settings-quotas.cc:494
#: source/ubl-settings-quotas.cc:428
#, fuzzy
msgid "Local configuration reading error"
msgstr "Загрузить локальную конфигурацию"
#: source/ubl-settings-quotas.cc:614 source/ubl-settings-quotas.cc:527
#: source/ubl-settings-quotas.cc:461
msgid "Local configuration successfully written"
msgstr "Успешно записана локальная конфигурация"
#: source/ubl-settings-quotas.cc:589 source/ubl-settings-quotas.cc:502
#: source/ubl-settings-quotas.cc:436
#, fuzzy
msgid "Local configuration write error"
msgstr "Загрузить локальную конфигурацию"
#: source/ubl-settings-quotas.cc:184 source/ubl-settings-quotas.cc:234
#: source/ubl-settings-quotas.cc:114 source/ubl-settings-quotas.cc:369
#: source/ubl-settings-quotas.cc:104 source/ubl-settings-quotas.cc:314
#: source/ubl-settings-quotas.cc:125 source/ubl-settings-quotas.cc:318
#: source/ubl-settings-quotas.cc:122 source/ubl-settings-quotas.cc:310
#: source/ubl-settings-quotas.cc:119
msgid "Name"
msgstr "Имя"
#: source/ubl-settings-quotas.cc:623 source/ubl-settings-quotas.cc:536
#: source/ubl-settings-quotas.cc:470
msgid "Nothing to save!"
msgstr "Нечего сохранять!"
#: source/ubl-settings-quotas.cc:143 source/ubl-settings-quotas.cc:73
#: source/ubl-settings-quotas.cc:65 source/ubl-settings-quotas.cc:86
#: source/ubl-settings-quotas.cc:83 source/ubl-settings-quotas.cc:80
#: source/ubl-settings-quotas.cc:79
msgid "Project Home Page"
msgstr "Главная страница проекта"
#: source/ubl-settings-quotas.cc:185 source/ubl-settings-quotas.cc:235
#: source/ubl-settings-quotas.cc:115 source/ubl-settings-quotas.cc:370
#: source/ubl-settings-quotas.cc:105 source/ubl-settings-quotas.cc:315
#: source/ubl-settings-quotas.cc:126 source/ubl-settings-quotas.cc:319
#: source/ubl-settings-quotas.cc:123 source/ubl-settings-quotas.cc:311
#: source/ubl-settings-quotas.cc:258 source/ubl-settings-quotas.cc:120
msgid "Quotas"
msgstr "Квоты"
#: source/ubl-settings-quotas.cc:151 source/ubl-settings-quotas.cc:81
#: source/ubl-settings-quotas.cc:71
msgid "Quotas for groups"
msgstr "Квоты для групп"
#: source/ubl-settings-quotas.cc:154 source/ubl-settings-quotas.cc:84
#: source/ubl-settings-quotas.cc:74
msgid "Quotas for users"
msgstr "Квоты для пользователей"
#: source/ubl-settings-quotas.cc:180 source/ubl-settings-quotas.cc:110
#: source/ubl-settings-quotas.cc:100 source/ubl-settings-quotas.cc:121
#: source/ubl-settings-quotas.cc:118 source/ubl-settings-quotas.cc:115
msgid "Save"
msgstr "Сохранить"
#: source/ubl-settings-quotas.cc:226 source/ubl-settings-quotas.cc:156
#: source/ubl-settings-quotas.cc:146
msgid "Save in global and local configuration"
msgstr "Сохранить в глобальную и локальную конфигурацию"
#: source/ubl-settings-quotas.cc:227 source/ubl-settings-quotas.cc:157
#: source/ubl-settings-quotas.cc:147
msgid "Save in global configuration"
msgstr "Сохранить в глобальную конфигурацию"
#: source/ubl-settings-quotas.cc:228 source/ubl-settings-quotas.cc:158
#: source/ubl-settings-quotas.cc:148
msgid "Save in local configuration"
msgstr "Сохранить в локальную конфигурацию"
#: source/ubl-settings-quotas.cc:140 source/ubl-settings-quotas.cc:70
msgid "Setting user quotas"
msgstr "Настройка квот пользователей"
#: source/ubl-settings-quotas.cc:245 source/ubl-settings-quotas.cc:380
msgid ""
"Severe\n"
"limitation\n"
"(files)"
msgstr ""
"Жесткое\n"
"лимит\n"
"(файлы)"
#: source/ubl-settings-quotas.cc:238 source/ubl-settings-quotas.cc:373
msgid ""
"Severe\n"
"limitation\n"
"(size)"
msgstr ""
"Жесткое\n"
"лимит\n"
"(объём)"
#: source/ubl-settings-quotas.cc:193
msgid "Severe limitation (files)"
msgstr "Жесткое лимит (файлы)"
#: source/ubl-settings-quotas.cc:186 source/ubl-settings-quotas.cc:199
#: source/ubl-settings-quotas.cc:210 source/ubl-settings-quotas.cc:236
#: source/ubl-settings-quotas.cc:116 source/ubl-settings-quotas.cc:129
#: source/ubl-settings-quotas.cc:140 source/ubl-settings-quotas.cc:371
#: source/ubl-settings-quotas.cc:106 source/ubl-settings-quotas.cc:119
#: source/ubl-settings-quotas.cc:130 source/ubl-settings-quotas.cc:316
#: source/ubl-settings-quotas.cc:127 source/ubl-settings-quotas.cc:151
#: source/ubl-settings-quotas.cc:320 source/ubl-settings-quotas.cc:124
#: source/ubl-settings-quotas.cc:137 source/ubl-settings-quotas.cc:148
#: source/ubl-settings-quotas.cc:312 source/ubl-settings-quotas.cc:259
#: source/ubl-settings-quotas.cc:121
msgid "Size"
msgstr "Объём"
#: source/ubl-settings-quotas.cc:244 source/ubl-settings-quotas.cc:379
msgid ""
"Soft\n"
"Restriction\n"
"(files)"
msgstr ""
"Мягкое\n"
"лимит\n"
"(файлы)"
#: source/ubl-settings-quotas.cc:192
msgid "Soft Restriction (files)"
msgstr "Мягкое лимит (файлы)"
#: source/ubl-settings-quotas.cc:202 source/ubl-settings-quotas.cc:205
#: source/ubl-settings-quotas.cc:212 source/ubl-settings-quotas.cc:217
#: source/ubl-settings-quotas.cc:132 source/ubl-settings-quotas.cc:135
#: source/ubl-settings-quotas.cc:142 source/ubl-settings-quotas.cc:147
#: source/ubl-settings-quotas.cc:122 source/ubl-settings-quotas.cc:125
#: source/ubl-settings-quotas.cc:137 source/ubl-settings-quotas.cc:143
#: source/ubl-settings-quotas.cc:146 source/ubl-settings-quotas.cc:153
#: source/ubl-settings-quotas.cc:158 source/ubl-settings-quotas.cc:140
#: source/ubl-settings-quotas.cc:150 source/ubl-settings-quotas.cc:155
#, fuzzy
msgid "Soft limit"
msgstr "Мягкий лимит"
#: source/ubl-settings-quotas.cc:322 source/ubl-settings-quotas.cc:326
#: source/ubl-settings-quotas.cc:318 source/ubl-settings-quotas.cc:265
#, fuzzy
msgid ""
"Soft limit\n"
"(files)"
msgstr ""
"Мягкий\n"
"лимит\n"
"(файлы)"
#: source/ubl-settings-quotas.cc:237 source/ubl-settings-quotas.cc:372
#: source/ubl-settings-quotas.cc:317 source/ubl-settings-quotas.cc:321
#: source/ubl-settings-quotas.cc:313 source/ubl-settings-quotas.cc:260
#, fuzzy
msgid ""
"Soft limit\n"
"(size)"
msgstr ""
"Мягкий лимит\n"
"(объём)"
msgid ""
"Soft limit\n"
"(file)"
msgstr ""
"Мягкий лимит\n"
"(файлы)"
#: source/ubl-settings-quotas.cc:122 source/ubl-settings-quotas.cc:112
#: source/ubl-settings-quotas.cc:133 source/ubl-settings-quotas.cc:130
#: source/ubl-settings-quotas.cc:127
msgid "Soft limit (files)"
msgstr ""
"Мягкий лимит\n"
"(файлы)"
#: source/ubl-settings-quotas.cc:187 source/ubl-settings-quotas.cc:117
#: source/ubl-settings-quotas.cc:107 source/ubl-settings-quotas.cc:128
#: source/ubl-settings-quotas.cc:125 source/ubl-settings-quotas.cc:122
msgid "Soft limit (size)"
msgstr "Мягкий лимит (объём)"
#: source/ubl-settings-quotas.cc:620 source/ubl-settings-quotas.cc:533
#: source/ubl-settings-quotas.cc:467
#, fuzzy
msgid "Successfully saved local and global configuration"
msgstr "Сохранить глобальную и локальную конфигурацию"
#: source/ubl-settings-quotas.cc:59 source/ubl-settings-quotas.cc:55
#: source/ubl-settings-quotas.cc:47 source/ubl-settings-quotas.cc:68
#: source/ubl-settings-quotas.cc:70 source/ubl-settings-quotas.cc:67
#: source/ubl-settings-quotas.cc:66
msgid "The program must be run as root"
msgstr "Программа должна быть запущена от имени root"
#: source/ubl-settings-quotas.cc:209 source/ubl-settings-quotas.cc:139
#: source/ubl-settings-quotas.cc:129 source/ubl-settings-quotas.cc:150
#: source/ubl-settings-quotas.cc:147
msgid "User quotas for this device: "
msgstr "Квоты пользователей для этого устройства: "
#: source/ubl-settings-quotas.cc:148 source/ubl-settings-quotas.cc:78
#: source/ubl-settings-quotas.cc:68 source/ubl-settings-quotas.cc:89
#: source/ubl-settings-quotas.cc:86 source/ubl-settings-quotas.cc:83
#: source/ubl-settings-quotas.cc:82
msgid "Users"
msgstr "Пользователи"
#: source/ubl-settings-quotas.cc:163 source/ubl-settings-quotas.cc:164
#: source/ubl-settings-quotas.cc:165 source/ubl-settings-quotas.cc:166
#: source/ubl-settings-quotas.cc:93 source/ubl-settings-quotas.cc:94
#: source/ubl-settings-quotas.cc:95 source/ubl-settings-quotas.cc:96
#: source/ubl-settings-quotas.cc:83 source/ubl-settings-quotas.cc:84
#: source/ubl-settings-quotas.cc:85 source/ubl-settings-quotas.cc:86
#: source/ubl-settings-quotas.cc:104 source/ubl-settings-quotas.cc:105
#: source/ubl-settings-quotas.cc:106 source/ubl-settings-quotas.cc:107
#: source/ubl-settings-quotas.cc:101 source/ubl-settings-quotas.cc:102
#: source/ubl-settings-quotas.cc:103 source/ubl-settings-quotas.cc:98
#: source/ubl-settings-quotas.cc:99 source/ubl-settings-quotas.cc:100
#: source/ubl-settings-quotas.cc:97
msgid "days"
msgstr "дни"
#: source/ubl-settings-quotas.cc:219 source/ubl-settings-quotas.cc:220
#: source/ubl-settings-quotas.cc:149 source/ubl-settings-quotas.cc:150
#: source/ubl-settings-quotas.cc:139 source/ubl-settings-quotas.cc:140
#: source/ubl-settings-quotas.cc:160 source/ubl-settings-quotas.cc:161
#: source/ubl-settings-quotas.cc:157 source/ubl-settings-quotas.cc:158
#, fuzzy
msgid "files"
msgstr "Файлы"
#: source/ubl-settings-quotas.cc:167 source/ubl-settings-quotas.cc:168
#: source/ubl-settings-quotas.cc:169 source/ubl-settings-quotas.cc:170
#: source/ubl-settings-quotas.cc:97 source/ubl-settings-quotas.cc:98
#: source/ubl-settings-quotas.cc:99 source/ubl-settings-quotas.cc:100
#: source/ubl-settings-quotas.cc:87 source/ubl-settings-quotas.cc:88
#: source/ubl-settings-quotas.cc:89 source/ubl-settings-quotas.cc:90
#: source/ubl-settings-quotas.cc:108 source/ubl-settings-quotas.cc:109
#: source/ubl-settings-quotas.cc:110 source/ubl-settings-quotas.cc:111
#: source/ubl-settings-quotas.cc:105 source/ubl-settings-quotas.cc:106
#: source/ubl-settings-quotas.cc:107 source/ubl-settings-quotas.cc:102
#: source/ubl-settings-quotas.cc:103 source/ubl-settings-quotas.cc:104
#: source/ubl-settings-quotas.cc:101
msgid "hours"
msgstr "часы"
#: source/ubl-settings-quotas.cc:141 source/ubl-settings-quotas.cc:71
#: source/ubl-settings-quotas.cc:63 source/ubl-settings-quotas.cc:84
#: source/ubl-settings-quotas.cc:81 source/ubl-settings-quotas.cc:78
#: source/ubl-settings-quotas.cc:77
msgid "https://wiki.ublinux.com"
msgstr "https://wiki.ublinux.ru"
#: source/ubl-settings-quotas.cc:548 source/ubl-settings-quotas.cc:461
msgid ""
"https://wiki.ublinux.com/ru/Программное_обеспечениерограммы_и_утилиты/Все/"
msgstr ""
#: source/ubl-settings-quotas.cc:171 source/ubl-settings-quotas.cc:172
#: source/ubl-settings-quotas.cc:173 source/ubl-settings-quotas.cc:174
#: source/ubl-settings-quotas.cc:101 source/ubl-settings-quotas.cc:102
#: source/ubl-settings-quotas.cc:103 source/ubl-settings-quotas.cc:104
#: source/ubl-settings-quotas.cc:91 source/ubl-settings-quotas.cc:92
#: source/ubl-settings-quotas.cc:93 source/ubl-settings-quotas.cc:94
#: source/ubl-settings-quotas.cc:112 source/ubl-settings-quotas.cc:113
#: source/ubl-settings-quotas.cc:114 source/ubl-settings-quotas.cc:115
#: source/ubl-settings-quotas.cc:109 source/ubl-settings-quotas.cc:110
#: source/ubl-settings-quotas.cc:111 source/ubl-settings-quotas.cc:106
#: source/ubl-settings-quotas.cc:107 source/ubl-settings-quotas.cc:108
#: source/ubl-settings-quotas.cc:105
msgid "minutes"
msgstr "минуты"
#: source/ubl-settings-quotas.cc:257
msgid "name"
msgstr "имя"
#: source/ubl-settings-quotas.cc:92 source/ubl-settings-quotas.cc:89
#: source/ubl-settings-quotas.cc:86 source/ubl-settings-quotas.cc:85
#, fuzzy
msgid "quotas for groups"
msgstr "Квоты для групп"
#: source/ubl-settings-quotas.cc:95 source/ubl-settings-quotas.cc:92
#: source/ubl-settings-quotas.cc:89 source/ubl-settings-quotas.cc:88
#, fuzzy
msgid "quotas for users"
msgstr "Квоты для пользователей"
#: source/ubl-settings-quotas.cc:629 source/ubl-settings-quotas.cc:542
#: source/ubl-settings-quotas.cc:476 source/ubl-settings-quotas.cc:350
#: source/ubl-settings-quotas.cc:371 source/ubl-settings-quotas.cc:318
#: source/ubl-settings-quotas.cc:267 source/ubl-settings-quotas.cc:213
msgid "ubl-settings-quotas version: "
msgstr "ubl-settings-quotas версия: "
#: source/ubl-settings-quotas.cc:159 source/ubl-settings-quotas.cc:160
#: source/ubl-settings-quotas.cc:161 source/ubl-settings-quotas.cc:162
#: source/ubl-settings-quotas.cc:89 source/ubl-settings-quotas.cc:90
#: source/ubl-settings-quotas.cc:91 source/ubl-settings-quotas.cc:92
#: source/ubl-settings-quotas.cc:79 source/ubl-settings-quotas.cc:80
#: source/ubl-settings-quotas.cc:81 source/ubl-settings-quotas.cc:82
#: source/ubl-settings-quotas.cc:100 source/ubl-settings-quotas.cc:101
#: source/ubl-settings-quotas.cc:102 source/ubl-settings-quotas.cc:103
#: source/ubl-settings-quotas.cc:97 source/ubl-settings-quotas.cc:98
#: source/ubl-settings-quotas.cc:99 source/ubl-settings-quotas.cc:94
#: source/ubl-settings-quotas.cc:95 source/ubl-settings-quotas.cc:96
#: source/ubl-settings-quotas.cc:93
msgid "weeks"
msgstr "недели"
msgid "Argument not recognized\n"
msgstr "Аргумент не распознан\n"
msgid "ubl-settings-diskquota version: "
msgstr "ubl-settings-diskquota версия: "
msgid "ubl-settings-quotas"
msgstr "Квоты"
msgid "General statistics"
msgstr "Общая статистика"
#~ msgid "Severe limitation (size)"
#~ msgstr "Жесткое лимит (объём)"
#, fuzzy
#~ msgid "Hard limit activation time (files)"
#~ msgstr "Время активации жесткого граничения (файла)"
Loading…
Cancel
Save