diff --git a/Makefile b/Makefile
index 48fa69d..21263cf 100644
--- a/Makefile
+++ b/Makefile
@@ -12,7 +12,6 @@ DEPENDS = /bin/cmake
PREFIX ?= /usr/local
PKGNAME = $(MAKEFILE_DIR)
FILE_VER = source/${PKGNAME}.h
-PKGIDENT=$(subst /,-,${PREFIX})
default_target: all
@@ -22,9 +21,9 @@ all: init build
init:
@echo "Initialize ..."; \
- if [ -d ".git" ]; then \
+ if [[ -d ".git" ]]; then \
LATEST_TAG=$$(git describe --abbrev=0 --tags | sed 's/^v//'); \
- if [ -z "$${LATEST_TAG}" ]; \
+ if [[ -z "$${LATEST_TAG}" ]]; \
then \
LATEST_TAG=$$"0.0"; \
echo "$${LATEST_TAG} is empty"; \
@@ -38,7 +37,7 @@ init:
depend:
@echo "Check depends ..."
@for FILE_DEPEND in $(DEPENDS); do \
- if [ ! -f $${FILE_DEPEND} ]; then \
+ if [[ ! -f "$${FILE_DEPEND}" ]]; then \
echo "ERROR: Depend '$${FILE_DEPEND}' not found !"; \
exit 1; \
fi; \
@@ -48,21 +47,21 @@ depend:
debug:
@echo "Debug ..."
- if [ ! -d ${CMAKE_BUILD_DIR} ]; then \
+ 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 "Debug: OK"
prepare:
@echo "Prepare ..."; \
- if [ ! -d ${CMAKE_BUILD_DIR} ]; then \
+ 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 \
+ if [[ -f "${CMAKE_BUILD_DIR}/${PKGNAME}" ]]; then \
echo "Check: OK"; \
else \
echo "Check: ${CMAKE_BUILD_DIR}/${PKGNAME} not found !"; \
@@ -77,10 +76,9 @@ build: depend prepare
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}/usr/share/locale/$${LANG}/LC_MESSAGES/$${FILE_MO}"; \
+ @for LANG in $$(find ./locale -iname "*.po" -print | sed -En "s/.+_([[:alpha:]]+)\.po/\1/p" | sort -u); do \
+# PATH_FILE_MO="${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES/${PKGNAME}.mo"; \
+ PATH_FILE_MO="${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES/${PKGNAME}.mo"; \
$(RM) "$${PATH_FILE_MO}"; \
done
@for SIZE in 16x16 32x32 48x48 scalable; do \
@@ -92,70 +90,64 @@ uninstall:
$(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}/status/$${FILE_SVG%.*}".{svg,png,jpg}; \
done; \
done
+ @for FILE_ICON in $(wildcard icons/*/*.svg); do \
+ SUB_NAME=$${FILE_ICON#*/}; SUB_NAME=$${SUB_NAME%/*}; \
+ $(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/$${SUB_NAME}/$${FILE_ICON}"; \
+ 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}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}${PKGIDENT}.policy"
- @if [ -z ${DESTDIR} ]; then \
- [ -d "${DESTDIR}${PREFIX}/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}${PREFIX}/share/icons/hicolor/" &>/dev/null || true; \
+ @if [[ "${PREFIX}" == @("/usr"|"/usr/") ]]; then \
+ $(RM) "${DESTDIR}${PREFIX}/share/polkit-1/actions/com.ublinux.${PKGNAME}.policy"; \
+ else \
+# $(RM) "${DESTDIR}${PREFIX}/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \
+ $(RM) "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \
+ fi
+ @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; \
+ [[ -d "${DESTDIR}${PREFIX}/share/applications" ]] && touch "${DESTDIR}${PREFIX}/share/applications" &>/dev/null || true; \
fi
@echo "Uninstall: OK"
install: check uninstall
@echo "Install ..."
- @for FILE_PO in $(wildcard *.po); do \
- LANG=$${FILE_PO##*_};LANG=$${LANG%.*}; \
- install -dm755 "${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES"; \
- FILE_MO=$${FILE_PO##*/}; FILE_MO="$${FILE_MO%_*.po}.mo"; \
- PATH_FILE_MO="${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES/$${FILE_MO}"; \
- echo "$${FILE_PO}"; \
- msgfmt "$${FILE_PO}" -v -f -o "$${PATH_FILE_MO}"; \
+ @for LANG in $$(find ./locale -iname "*.po" -print | sed -En "s/.+_([[:alpha:]]+)\.po/\1/p" | sort -u); do \
+ install -dm755 "${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES"; \
+# PATH_FILE_MO="${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES/${PKGNAME}.mo"; \
+ PATH_FILE_MO="${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES/${PKGNAME}.mo"; \
+ PKGNAME_PO="./locale/${PKGNAME}_$${LANG}.po"; [[ -f "$${PKGNAME_PO}" ]] || PKGNAME_PO= ; \
+ msgfmt --verbose --use-fuzzy --output-file "$${PATH_FILE_MO}" - < <(msgcat --use-first --no-wrap $${PKGNAME_PO} ./locale/*_$${LANG}.po); \
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"; \
+ install -dm755 "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps"; \
+ rsvg-convert -w $${SIZE} -h $${SIZE} -f svg --keep-image-data "icons/apps/com.ublinux.${PKGNAME}.svg" -o "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps/com.ublinux.${PKGNAME}.svg"; \
+ done
+ @for FILE_ICON in $(wildcard icons/*/*.svg); do \
+ SUB_NAME=$${FILE_ICON#*/}; SUB_NAME=$${SUB_NAME%/*}; \
+ install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/$${SUB_NAME}" $${FILE_ICON}; \
done
- @install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/" "com.ublinux.${PKGNAME}.svg"
- @cp ./com.ublinux.${PKGNAME}.policy ./compile/com.ublinux.${PKGNAME}${PKGIDENT}.policy
- @sed -e 's+/usr/bin+${PREFIX}/bin+' -e 's+.run+${PKGIDENT}.run+g' ./compile/com.ublinux.${PKGNAME}${PKGIDENT}.policy -i
@install -Dm755 -t "${DESTDIR}${PREFIX}/bin/" "${CMAKE_BUILD_DIR}/${PKGNAME}"
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/applications/" "${PKGNAME}.desktop"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.checked.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.warning.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.increase-symbolic.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.profile-symbolic.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.settings-symbolic.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.sync-symbolic.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.trash-symbolic.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.view-symbolic.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.edit-symbolic.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.group-symbolic.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.zoom-symbolic.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.calendar-symbolic.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.key-symbolic.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.funnel-symbolic.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.accept-symbolic.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.cancel-symbolic.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.profile-settings-symbolic.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.save-symbolic.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.lock-symbolic.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.user-add-symbolic.svg"
- @install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/csv" "csv/hash_list.csv"
- @install -Dm644 -t "${DESTDIR}/usr/share/${PKGNAME}/csv" "csv/shell_list.csv"
- @install -Dm644 -t "${DESTDIR}/usr/share/polkit-1/actions/" "${CMAKE_BUILD_DIR}/com.ublinux.${PKGNAME}${PKGIDENT}.policy"
- @if [ -z ${DESTDIR} ]; then \
- [ -d "${DESTDIR}/usr/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}/usr/share/icons/hicolor/" &>/dev/null || true; \
+ @if [[ "${PREFIX}" == @("/usr"|"/usr/") ]]; then \
+ install -Dm644 -t "${DESTDIR}${PREFIX}/share/polkit-1/actions/" "com.ublinux.${PKGNAME}.policy"; \
+ else \
+# install -Dm644 "com.ublinux.${PKGNAME}.policy" "${DESTDIR}${PREFIX}/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \
+ install -Dm644 "com.ublinux.${PKGNAME}.policy" "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \
+# sed -e "s+/usr/bin+${PREFIX}/bin+" -e "s+\.run+$${PREFIX//\//-}\.run+g" -i "${DESTDIR}${PREFIX}/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \
+ sed -e "s+/usr/bin+${PREFIX}/bin+" -e "s+\.run+$${PREFIX//\//-}\.run+g" -i "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \
+ fi
+ @if [[ -z "${DESTDIR}" ]]; then \
+ ldconfig -n ${DESTDIR}${PREFIX}/lib; \
+ [[ -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}$/usr/share/applications" ] && touch "${DESTDIR}/usr/share/applications" &>/dev/null || true; \
+ [[ -d "${DESTDIR}${PREFIX}/share/applications" ]] && touch "${DESTDIR}${PREFIX}/share/applications" &>/dev/null || true; \
fi
@echo "Install: OK"
clean:
@echo "Clean ..."
@$(RM) -rd ${CMAKE_BUILD_DIR}
- @if [ -d ${CMAKE_BUILD_DIR} ]; then \
+ @if [[ -d "${CMAKE_BUILD_DIR}" ]]; then \
echo "Clean: error, compile directory exist ${CMAKE_BUILD_DIR}"; \
else \
echo "Clean: OK"; \
diff --git a/gresource.xml b/gresource.xml
index f5e3ee7..89c2c70 100644
--- a/gresource.xml
+++ b/gresource.xml
@@ -18,7 +18,4 @@
sync_parameters.csv
-
- ubl-settings-usergroups-banner.png
-
\ No newline at end of file
diff --git a/icons/com.ublinux.ubl-settings-usergroups.key-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-usergroups.key-symbolic.svg
similarity index 100%
rename from icons/com.ublinux.ubl-settings-usergroups.key-symbolic.svg
rename to icons/actions/com.ublinux.ubl-settings-usergroups.key-symbolic.svg
diff --git a/icons/com.ublinux.ubl-settings-usergroups.save-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-usergroups.save-symbolic.svg
similarity index 100%
rename from icons/com.ublinux.ubl-settings-usergroups.save-symbolic.svg
rename to icons/actions/com.ublinux.ubl-settings-usergroups.save-symbolic.svg
diff --git a/com.ublinux.ubl-settings-usergroups.svg b/icons/apps/com.ublinux.ubl-settings-usergroups.svg
similarity index 100%
rename from com.ublinux.ubl-settings-usergroups.svg
rename to icons/apps/com.ublinux.ubl-settings-usergroups.svg
diff --git a/icons/com.ublinux.ubl-settings-usergroups.accept-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.accept-symbolic.svg
deleted file mode 100644
index 79e0fdc..0000000
--- a/icons/com.ublinux.ubl-settings-usergroups.accept-symbolic.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
diff --git a/icons/com.ublinux.ubl-settings-usergroups.calendar-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.calendar-symbolic.svg
deleted file mode 100644
index 78715dc..0000000
--- a/icons/com.ublinux.ubl-settings-usergroups.calendar-symbolic.svg
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
diff --git a/icons/com.ublinux.ubl-settings-usergroups.cancel-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.cancel-symbolic.svg
deleted file mode 100644
index aa858f9..0000000
--- a/icons/com.ublinux.ubl-settings-usergroups.cancel-symbolic.svg
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
diff --git a/icons/com.ublinux.ubl-settings-usergroups.checked.svg b/icons/com.ublinux.ubl-settings-usergroups.checked.svg
deleted file mode 100644
index e3cab42..0000000
--- a/icons/com.ublinux.ubl-settings-usergroups.checked.svg
+++ /dev/null
@@ -1,327 +0,0 @@
-
-
diff --git a/icons/com.ublinux.ubl-settings-usergroups.decrease-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.decrease-symbolic.svg
deleted file mode 100644
index 1413e10..0000000
--- a/icons/com.ublinux.ubl-settings-usergroups.decrease-symbolic.svg
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
diff --git a/icons/com.ublinux.ubl-settings-usergroups.edit-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.edit-symbolic.svg
deleted file mode 100644
index baba3f9..0000000
--- a/icons/com.ublinux.ubl-settings-usergroups.edit-symbolic.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
diff --git a/icons/com.ublinux.ubl-settings-usergroups.funnel-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.funnel-symbolic.svg
deleted file mode 100644
index 4aec04a..0000000
--- a/icons/com.ublinux.ubl-settings-usergroups.funnel-symbolic.svg
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
diff --git a/icons/com.ublinux.ubl-settings-usergroups.group-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.group-symbolic.svg
deleted file mode 100644
index 7cd4139..0000000
--- a/icons/com.ublinux.ubl-settings-usergroups.group-symbolic.svg
+++ /dev/null
@@ -1,47 +0,0 @@
-
-
-
-
diff --git a/icons/com.ublinux.ubl-settings-usergroups.increase-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.increase-symbolic.svg
deleted file mode 100644
index 800b264..0000000
--- a/icons/com.ublinux.ubl-settings-usergroups.increase-symbolic.svg
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
diff --git a/icons/com.ublinux.ubl-settings-usergroups.lock-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.lock-symbolic.svg
deleted file mode 100644
index 132b656..0000000
--- a/icons/com.ublinux.ubl-settings-usergroups.lock-symbolic.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/icons/com.ublinux.ubl-settings-usergroups.profile-settings-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.profile-settings-symbolic.svg
deleted file mode 100644
index 1879618..0000000
--- a/icons/com.ublinux.ubl-settings-usergroups.profile-settings-symbolic.svg
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
-
diff --git a/icons/com.ublinux.ubl-settings-usergroups.profile-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.profile-symbolic.svg
deleted file mode 100644
index 4bc7b0c..0000000
--- a/icons/com.ublinux.ubl-settings-usergroups.profile-symbolic.svg
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
diff --git a/icons/com.ublinux.ubl-settings-usergroups.settings-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.settings-symbolic.svg
deleted file mode 100644
index 67d3487..0000000
--- a/icons/com.ublinux.ubl-settings-usergroups.settings-symbolic.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/icons/com.ublinux.ubl-settings-usergroups.sync-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.sync-symbolic.svg
deleted file mode 100644
index 13651dd..0000000
--- a/icons/com.ublinux.ubl-settings-usergroups.sync-symbolic.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/icons/com.ublinux.ubl-settings-usergroups.trash-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.trash-symbolic.svg
deleted file mode 100644
index 03ca715..0000000
--- a/icons/com.ublinux.ubl-settings-usergroups.trash-symbolic.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/icons/com.ublinux.ubl-settings-usergroups.user-add-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.user-add-symbolic.svg
deleted file mode 100644
index 4f4cd53..0000000
--- a/icons/com.ublinux.ubl-settings-usergroups.user-add-symbolic.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/icons/com.ublinux.ubl-settings-usergroups.view-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.view-symbolic.svg
deleted file mode 100644
index 8e6a1ed..0000000
--- a/icons/com.ublinux.ubl-settings-usergroups.view-symbolic.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/icons/com.ublinux.ubl-settings-usergroups.warning.svg b/icons/com.ublinux.ubl-settings-usergroups.warning.svg
deleted file mode 100644
index 9a90dba..0000000
--- a/icons/com.ublinux.ubl-settings-usergroups.warning.svg
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
diff --git a/icons/com.ublinux.ubl-settings-usergroups.zoom-symbolic.svg b/icons/com.ublinux.ubl-settings-usergroups.zoom-symbolic.svg
deleted file mode 100644
index c5011ec..0000000
--- a/icons/com.ublinux.ubl-settings-usergroups.zoom-symbolic.svg
+++ /dev/null
@@ -1,160 +0,0 @@
-
-
-
-
diff --git a/ubl-settings-usergroups.pot b/locale/ubl-settings-usergroups.pot
similarity index 90%
rename from ubl-settings-usergroups.pot
rename to locale/ubl-settings-usergroups.pot
index 46c57e8..c886ac7 100644
--- a/ubl-settings-usergroups.pot
+++ b/locale/ubl-settings-usergroups.pot
@@ -53,7 +53,7 @@ msgstr ""
msgid "UID"
msgstr ""
-#: source/ubl-strings.h:14 source/ubl-strings.h:120
+#: source/ubl-strings.h:14 source/ubl-strings.h:121
msgid "Login"
msgstr ""
@@ -139,7 +139,7 @@ msgid ""
"status"
msgstr ""
-#: source/ubl-strings.h:36 source/ubl-strings.h:251
+#: source/ubl-strings.h:36 source/ubl-strings.h:252
msgid "Users"
msgstr ""
@@ -274,7 +274,7 @@ msgstr ""
msgid "Set a password"
msgstr ""
-#: source/ubl-strings.h:73 source/ubl-strings.h:124
+#: source/ubl-strings.h:73 source/ubl-strings.h:125
msgid "Encrypted"
msgstr ""
@@ -286,7 +286,7 @@ msgstr ""
msgid "Accept"
msgstr ""
-#: source/ubl-strings.h:87
+#: source/ubl-strings.h:88
msgid "Attention!"
msgstr ""
@@ -300,97 +300,97 @@ msgstr ""
msgid "Encrypt all unencrypted passwords"
msgstr ""
-#: source/ubl-strings.h:89
+#: source/ubl-strings.h:90
msgid "Encrypt all unencrypted passwords at global configuration"
msgstr ""
-#: source/ubl-strings.h:90
+#: source/ubl-strings.h:91
msgid "DES (Algorithm for Symmetric Encryption)"
msgstr ""
-#: source/ubl-strings.h:91
+#: source/ubl-strings.h:92
msgid "MD5 (128-bit hashing algorithm)"
msgstr ""
-#: source/ubl-strings.h:92
+#: source/ubl-strings.h:93
msgid "yescrypt (Cryptographic hash function)"
msgstr ""
-#: source/ubl-strings.h:93
+#: source/ubl-strings.h:94
msgid "GOST-YESCRYPT (Design according to GOST R 34.11─2012)"
msgstr ""
-#: source/ubl-strings.h:94
+#: source/ubl-strings.h:95
msgid "scrypt (Adaptive cryptographic key generation function)"
msgstr ""
-#: source/ubl-strings.h:95
+#: source/ubl-strings.h:96
msgid "Blowfish (Symmetric Block Cipher Algorithm)"
msgstr ""
-#: source/ubl-strings.h:96
+#: source/ubl-strings.h:97
msgid "bcrypt (Adaptive hash function from the Blowfish family of algorithms)"
msgstr ""
-#: source/ubl-strings.h:97
+#: source/ubl-strings.h:98
msgid ""
"bcrypt-a (Adaptive hash function from the Blowfish family of algorithms)"
msgstr ""
-#: source/ubl-strings.h:98
+#: source/ubl-strings.h:99
msgid "SHA512 (Hash function from the SHA-2 family of algorithms)"
msgstr ""
-#: source/ubl-strings.h:99
+#: source/ubl-strings.h:100
msgid "SHA256 (Hash function from the SHA-2 family of algorithms)"
msgstr ""
-#: source/ubl-strings.h:100
+#: source/ubl-strings.h:101
msgid "Sun MD5 (Hash algorithm from Sun Microsystems)"
msgstr ""
-#: source/ubl-strings.h:101
+#: source/ubl-strings.h:102
msgid "MD5 Unix (Hash algorithm calls standard MD5 thousand times)"
msgstr ""
-#: source/ubl-strings.h:102
+#: source/ubl-strings.h:103
msgid ""
"Extended DES Crypt (Hash function from the BSDi family of DES algorithms)"
msgstr ""
-#: source/ubl-strings.h:103
+#: source/ubl-strings.h:104
msgid "descrypt (Hash function from the DES family of algorithms)"
msgstr ""
-#: source/ubl-strings.h:104
+#: source/ubl-strings.h:105
msgid "NTHash (Hash function from the NT Windows family of algorithms)"
msgstr ""
-#: source/ubl-strings.h:106
+#: source/ubl-strings.h:107
msgid ""
"While booting the operating system, apply the settings of all users from the "
"configuration"
msgstr ""
-#: source/ubl-strings.h:107
+#: source/ubl-strings.h:108
msgid ""
"While shutdown, save the settings of all users with UID>=1000 to the "
"configuration"
msgstr ""
-#: source/ubl-strings.h:108
+#: source/ubl-strings.h:109
msgid ""
"While booting the operating system, apply the settings of all groups from "
"the configuration"
msgstr ""
-#: source/ubl-strings.h:109
+#: source/ubl-strings.h:110
msgid ""
"While shutdown, save the settings of all groups with GID>=1000 to the "
"configuration"
msgstr ""
-#: source/ubl-strings.h:111
+#: source/ubl-strings.h:112
msgid ""
"- User name must begin with letter or underscore;\n"
"- The name can consist of: lowercase Latin letters, numbers, underscores and "
@@ -398,562 +398,570 @@ msgid ""
"- Max name length: 32 symbols;"
msgstr ""
-#: source/ubl-strings.h:114
+#: source/ubl-strings.h:115
msgid "Configure group"
msgstr ""
-#: source/ubl-strings.h:115
+#: source/ubl-strings.h:116
msgid "Add group"
msgstr ""
-#: source/ubl-strings.h:116
+#: source/ubl-strings.h:117
msgid "Group id:"
msgstr ""
-#: source/ubl-strings.h:117
+#: source/ubl-strings.h:118
msgid "Group name:"
msgstr ""
-#: source/ubl-strings.h:118
+#: source/ubl-strings.h:119
msgid "Group users:"
msgstr ""
-#: source/ubl-strings.h:119
+#: source/ubl-strings.h:120
msgid "Automatically"
msgstr ""
-#: source/ubl-strings.h:121
+#: source/ubl-strings.h:122
msgid "Group already exists in configuration"
msgstr ""
-#: source/ubl-strings.h:122
+#: source/ubl-strings.h:123
msgid "Create group with ununique GID"
msgstr ""
-#: source/ubl-strings.h:123
+#: source/ubl-strings.h:124
msgid "Create system group"
msgstr ""
-#: source/ubl-strings.h:125
+#: source/ubl-strings.h:126
msgid "Additional configuration"
msgstr ""
-#: source/ubl-strings.h:126
+#: source/ubl-strings.h:127
msgid "Group configuration synchronization"
msgstr ""
-#: source/ubl-strings.h:127
+#: source/ubl-strings.h:128
msgid "When shutting down the system, save the group into the configuration"
msgstr ""
-#: source/ubl-strings.h:128
+#: source/ubl-strings.h:129
msgid "Group administrators:"
msgstr ""
-#: source/ubl-strings.h:129
+#: source/ubl-strings.h:130
msgid "Group name must not start with digit"
msgstr ""
-#: source/ubl-strings.h:132
+#: source/ubl-strings.h:133
msgid "Default groups"
msgstr ""
-#: source/ubl-strings.h:133
+#: source/ubl-strings.h:134
msgid "Main group"
msgstr ""
-#: source/ubl-strings.h:134
+#: source/ubl-strings.h:135
msgid "Additional groups"
msgstr ""
-#: source/ubl-strings.h:135
+#: source/ubl-strings.h:136
msgid "Choose groups"
msgstr ""
-#: source/ubl-strings.h:136
+#: source/ubl-strings.h:137
msgid "Choose users"
msgstr ""
-#: source/ubl-strings.h:137
+#: source/ubl-strings.h:138
msgid "Add to new:"
msgstr ""
-#: source/ubl-strings.h:140
+#: source/ubl-strings.h:141
msgid "System users and groups"
msgstr ""
-#: source/ubl-strings.h:141
+#: source/ubl-strings.h:142
msgid "Locked"
msgstr ""
-#: source/ubl-strings.h:142
+#: source/ubl-strings.h:143
msgid "Username"
msgstr ""
-#: source/ubl-strings.h:143
+#: source/ubl-strings.h:144
msgid ""
"Primary\n"
"group"
msgstr ""
-#: source/ubl-strings.h:144
+#: source/ubl-strings.h:145
msgid ""
"Home\n"
"directory"
msgstr ""
-#: source/ubl-strings.h:145 source/ubl-strings.h:151
+#: source/ubl-strings.h:146 source/ubl-strings.h:152
msgid "Group"
msgstr ""
-#: source/ubl-strings.h:146
+#: source/ubl-strings.h:147
msgid "Update the system users and groups list"
msgstr ""
-#: source/ubl-strings.h:147
+#: source/ubl-strings.h:148
msgid "Toggle system groups and users"
msgstr ""
-#: source/ubl-strings.h:149
+#: source/ubl-strings.h:150
msgid "Password mismatch"
msgstr ""
-#: source/ubl-strings.h:150
+#: source/ubl-strings.h:151
msgid "Password must be at least"
msgstr ""
-#: source/ubl-strings.h:150
+#: source/ubl-strings.h:151
msgid "characters"
msgstr ""
-#: source/ubl-strings.h:152
+#: source/ubl-strings.h:153
msgid ""
"Days until\n"
"warning"
msgstr ""
-#: source/ubl-strings.h:153
+#: source/ubl-strings.h:154
msgid ""
"Days\n"
"without activity"
msgstr ""
-#: source/ubl-strings.h:154
+#: source/ubl-strings.h:155
msgid ""
"Shell\n"
"path"
msgstr ""
-#: source/ubl-strings.h:155
+#: source/ubl-strings.h:156
msgid ""
"Password has\n"
"been changed"
msgstr ""
-#: source/ubl-strings.h:156
+#: source/ubl-strings.h:157
msgid ""
"Expiration\n"
"date"
msgstr ""
-#: source/ubl-strings.h:157
+#: source/ubl-strings.h:158
msgid ""
"Password change\n"
"interval (min)"
msgstr ""
-#: source/ubl-strings.h:158
+#: source/ubl-strings.h:159
msgid ""
"Password change\n"
"interval (max)"
msgstr ""
-#: source/ubl-strings.h:161
+#: source/ubl-strings.h:162
msgid "Add user"
msgstr ""
-#: source/ubl-strings.h:162
+#: source/ubl-strings.h:163
msgid "Configure user"
msgstr ""
-#: source/ubl-strings.h:163
+#: source/ubl-strings.h:164
msgid "Set"
msgstr ""
-#: source/ubl-strings.h:164
+#: source/ubl-strings.h:165
msgid "Empty important field"
msgstr ""
-#: source/ubl-strings.h:165
+#: source/ubl-strings.h:166
msgid "Login must not start with digit"
msgstr ""
-#: source/ubl-strings.h:166
+#: source/ubl-strings.h:167
msgid "Loading has failed"
msgstr ""
-#: source/ubl-strings.h:167
+#: source/ubl-strings.h:168
msgid "Login name"
msgstr ""
-#: source/ubl-strings.h:168
+#: source/ubl-strings.h:169
msgid "Additional groups:"
msgstr ""
-#: source/ubl-strings.h:169
+#: source/ubl-strings.h:170
msgid "Password configuration"
msgstr ""
-#: source/ubl-strings.h:170
+#: source/ubl-strings.h:171
msgid "Password has been changed:"
msgstr ""
-#: source/ubl-strings.h:171
+#: source/ubl-strings.h:172
msgid "expiration date:"
msgstr ""
-#: source/ubl-strings.h:172
+#: source/ubl-strings.h:173
msgid "Password change interval: minimum"
msgstr ""
-#: source/ubl-strings.h:173
+#: source/ubl-strings.h:174
msgid "days, maximum"
msgstr ""
-#: source/ubl-strings.h:174
+#: source/ubl-strings.h:175
msgid "days"
msgstr ""
-#: source/ubl-strings.h:175
+#: source/ubl-strings.h:176
msgid "User already exists in configuration"
msgstr ""
-#: source/ubl-strings.h:176
+#: source/ubl-strings.h:177
msgid "Days until warning:"
msgstr ""
-#: source/ubl-strings.h:177
+#: source/ubl-strings.h:178
msgid "Days without activity:"
msgstr ""
-#: source/ubl-strings.h:178
+#: source/ubl-strings.h:179
msgid "Force change at next login"
msgstr ""
-#: source/ubl-strings.h:179
+#: source/ubl-strings.h:180
msgid "User shell:"
msgstr ""
-#: source/ubl-strings.h:180
+#: source/ubl-strings.h:181
msgid "Home directory:"
msgstr ""
-#: source/ubl-strings.h:181
+#: source/ubl-strings.h:182
msgid "Don't set"
msgstr ""
-#: source/ubl-strings.h:182
+#: source/ubl-strings.h:183
msgid "Create system user"
msgstr ""
-#: source/ubl-strings.h:183
+#: source/ubl-strings.h:184
msgid "Create user with ununique (repeating) UID"
msgstr ""
-#: source/ubl-strings.h:184
+#: source/ubl-strings.h:185
msgid "Do not check login for compliance with character rules"
msgstr ""
-#: source/ubl-strings.h:185
+#: source/ubl-strings.h:186
msgid "Temporary deactivation"
msgstr ""
-#: source/ubl-strings.h:186
+#: source/ubl-strings.h:187
msgid "Save"
msgstr ""
-#: source/ubl-strings.h:187
+#: source/ubl-strings.h:188
msgid "login_name"
msgstr ""
-#: source/ubl-strings.h:188
+#: source/ubl-strings.h:189
msgid "group_name"
msgstr ""
-#: source/ubl-strings.h:189
+#: source/ubl-strings.h:190
msgid "User name"
msgstr ""
-#: source/ubl-strings.h:190
+#: source/ubl-strings.h:191
msgid "Sync user"
msgstr ""
-#: source/ubl-strings.h:191
+#: source/ubl-strings.h:192
msgid "Sync user with password"
msgstr ""
-#: source/ubl-strings.h:192
+#: source/ubl-strings.h:193
msgid "Encrypt all passwords"
msgstr ""
-#: source/ubl-strings.h:194
+#: source/ubl-strings.h:195
msgid "User configuration"
msgstr ""
-#: source/ubl-strings.h:195
+#: source/ubl-strings.h:196
msgid "User configuration synchronization"
msgstr ""
-#: source/ubl-strings.h:196
+#: source/ubl-strings.h:197
msgid "During system startup, load the user from the configuration"
msgstr ""
-#: source/ubl-strings.h:197
+#: source/ubl-strings.h:198
msgid "When shutting down the system, save the user into the configuration"
msgstr ""
-#: source/ubl-strings.h:198
+#: source/ubl-strings.h:199
msgid "User password configuration syncronization"
msgstr ""
-#: source/ubl-strings.h:199
+#: source/ubl-strings.h:200
msgid ""
"During system startup, load the user's parameters from the configuration"
msgstr ""
-#: source/ubl-strings.h:200
+#: source/ubl-strings.h:201
msgid ""
"When shutting down the system, save the user's parameters into the "
"configuration"
msgstr ""
-#: source/ubl-strings.h:202
+#: source/ubl-strings.h:203
msgid "Basic"
msgstr ""
-#: source/ubl-strings.h:203
+#: source/ubl-strings.h:204
msgid "Additional"
msgstr ""
-#: source/ubl-strings.h:204
+#: source/ubl-strings.h:205
msgid "Syncronization"
msgstr ""
-#: source/ubl-strings.h:206
+#: source/ubl-strings.h:207
msgid "Not specified"
msgstr ""
-#: source/ubl-strings.h:208
+#: source/ubl-strings.h:209
msgid "UID already exists in configuration"
msgstr ""
-#: source/ubl-strings.h:209
+#: source/ubl-strings.h:210
msgid "UID already exists in system"
msgstr ""
-#: source/ubl-strings.h:210
+#: source/ubl-strings.h:211
msgid "GID already exists in configuration"
msgstr ""
-#: source/ubl-strings.h:211
+#: source/ubl-strings.h:212
msgid "GID already exists in system"
msgstr ""
-#: source/ubl-strings.h:214
+#: source/ubl-strings.h:215
msgid "Repeat password:"
msgstr ""
-#: source/ubl-strings.h:215
+#: source/ubl-strings.h:216
msgid "Password hash:"
msgstr ""
-#: source/ubl-strings.h:216
+#: source/ubl-strings.h:217
msgid "Do not encrypt password"
msgstr ""
-#: source/ubl-strings.h:217
+#: source/ubl-strings.h:218
msgid "Password contain special symbols"
msgstr ""
-#: source/ubl-strings.h:220
+#: source/ubl-strings.h:221
msgid "Additional configuration of service parameter saving"
msgstr ""
-#: source/ubl-strings.h:221
+#: source/ubl-strings.h:222
msgid ""
"At every system shutdown save changes of (root)/var/lib/samba\n"
"into (hd)/ublinux-data/rootcopy"
msgstr ""
-#: source/ubl-strings.h:222
+#: source/ubl-strings.h:223
msgid "For system save mode \"Sandbox\""
msgstr ""
-#: source/ubl-strings.h:225
+#: source/ubl-strings.h:226
msgid "Group deletion"
msgstr ""
-#: source/ubl-strings.h:226
+#: source/ubl-strings.h:227
msgid "Confirm group(-s) deletion:"
msgstr ""
-#: source/ubl-strings.h:228
+#: source/ubl-strings.h:229
msgid "User deletion"
msgstr ""
-#: source/ubl-strings.h:229
+#: source/ubl-strings.h:230
msgid "Confirm user(-s) deletion:"
msgstr ""
-#: source/ubl-strings.h:230
+#: source/ubl-strings.h:231
msgid "Chosen"
msgstr ""
-#: source/ubl-strings.h:231
+#: source/ubl-strings.h:232
msgid "User"
msgstr ""
-#: source/ubl-strings.h:232
+#: source/ubl-strings.h:233
msgid "Home directory"
msgstr ""
-#: source/ubl-strings.h:233
+#: source/ubl-strings.h:234
msgid "Delete home directory"
msgstr ""
-#: source/ubl-strings.h:235
+#: source/ubl-strings.h:236
msgid "Configuration users"
msgstr ""
-#: source/ubl-strings.h:236
+#: source/ubl-strings.h:237
msgid "Configuration groups"
msgstr ""
-#: source/ubl-strings.h:237 source/ubl-strings.h:252 source/ubl-strings.h:265
+#: source/ubl-strings.h:238 source/ubl-strings.h:253 source/ubl-strings.h:266
msgid "System users"
msgstr ""
-#: source/ubl-strings.h:238 source/ubl-strings.h:261
+#: source/ubl-strings.h:239 source/ubl-strings.h:262
msgid "System groups"
msgstr ""
-#: source/ubl-strings.h:239 source/ubl-strings.h:248
+#: source/ubl-strings.h:240 source/ubl-strings.h:249
msgid "Remove from system"
msgstr ""
-#: source/ubl-strings.h:240 source/ubl-strings.h:246
+#: source/ubl-strings.h:241 source/ubl-strings.h:247
msgid "Remove from configuration"
msgstr ""
-#: source/ubl-strings.h:242
+#: source/ubl-strings.h:243
msgid "Group deletion has failed"
msgstr ""
-#: source/ubl-strings.h:243
+#: source/ubl-strings.h:244
msgid "User deletion has failed"
msgstr ""
-#: source/ubl-strings.h:245
+#: source/ubl-strings.h:246
msgid "Add to configuration"
msgstr ""
-#: source/ubl-strings.h:247
+#: source/ubl-strings.h:248
msgid "Add to system"
msgstr ""
-#: source/ubl-strings.h:250 source/ubl-strings.h:264
+#: source/ubl-strings.h:251 source/ubl-strings.h:265
msgid "All system users"
msgstr ""
-#: source/ubl-strings.h:253 source/ubl-strings.h:266
+#: source/ubl-strings.h:254 source/ubl-strings.h:267
msgid "Users UID range"
msgstr ""
-#: source/ubl-strings.h:254 source/ubl-strings.h:267
+#: source/ubl-strings.h:255 source/ubl-strings.h:268
msgid "User UID in system"
msgstr ""
-#: source/ubl-strings.h:255
+#: source/ubl-strings.h:256
msgid "Users GID range"
msgstr ""
-#: source/ubl-strings.h:256
+#: source/ubl-strings.h:257
msgid "User GID in system"
msgstr ""
-#: source/ubl-strings.h:258
+#: source/ubl-strings.h:259
msgid "While shutdown, save the settings of all users to configuration"
msgstr ""
-#: source/ubl-strings.h:259
+#: source/ubl-strings.h:260
msgid "While shutdown, save the settings of all groups to the configuration"
msgstr ""
-#: source/ubl-strings.h:260
+#: source/ubl-strings.h:261
msgid "All groups in system"
msgstr ""
-#: source/ubl-strings.h:262
+#: source/ubl-strings.h:263
msgid "Group GID range"
msgstr ""
-#: source/ubl-strings.h:263
+#: source/ubl-strings.h:264
msgid "Group GID in system"
msgstr ""
-#: source/ubl-strings.h:268
+#: source/ubl-strings.h:269
msgid "Syncronization type"
msgstr ""
-#: source/ubl-strings.h:269
+#: source/ubl-strings.h:270
msgid "Minimum UID"
msgstr ""
-#: source/ubl-strings.h:270
+#: source/ubl-strings.h:271
msgid "Maximum UID"
msgstr ""
-#: source/ubl-strings.h:271
+#: source/ubl-strings.h:272
msgid "Minimum GID"
msgstr ""
-#: source/ubl-strings.h:272
+#: source/ubl-strings.h:273
msgid "Maximum GID"
msgstr ""
-#: source/ubl-strings.h:274
+#: source/ubl-strings.h:275
+msgid "Show system users"
+msgstr ""
+
+#: source/ubl-strings.h:276
+msgid "Show system groups"
+msgstr ""
+
+#: source/ubl-strings.h:278
msgid "Deny login"
msgstr ""
-#: source/ubl-strings.h:275
+#: source/ubl-strings.h:279
msgid "Block login with password"
msgstr ""
-#: source/ubl-strings.h:276
+#: source/ubl-strings.h:280
msgid "Unblock login with password"
msgstr ""
-#: source/ubl-strings.h:278
+#: source/ubl-strings.h:282
msgid "User(-s)"
msgstr ""
-#: source/ubl-strings.h:278
+#: source/ubl-strings.h:282
msgid "is included into main group of users"
msgstr ""
-#: source/ubl-strings.h:278
+#: source/ubl-strings.h:282
msgid "which will be deleted"
msgstr ""
-#: source/ubl-strings.h:278
+#: source/ubl-strings.h:282
msgid "After reboot users"
msgstr ""
-#: source/ubl-strings.h:278
+#: source/ubl-strings.h:282
msgid "main group will be set to default group"
msgstr ""
-#: source/ubl-strings.h:279
+#: source/ubl-strings.h:283
msgid ""
"Some of users, chosen for deletion, are included as main group for other "
"users. This users will get default main group after reboot"
diff --git a/ubl-settings-usergroups_ru.po b/locale/ubl-settings-usergroups_ru.po
similarity index 93%
rename from ubl-settings-usergroups_ru.po
rename to locale/ubl-settings-usergroups_ru.po
index cdd3e2b..13b377f 100644
--- a/ubl-settings-usergroups_ru.po
+++ b/locale/ubl-settings-usergroups_ru.po
@@ -53,7 +53,7 @@ msgstr "Алгоритм хэширования пароля:"
msgid "UID"
msgstr "UID"
-#: source/ubl-strings.h:14 source/ubl-strings.h:120
+#: source/ubl-strings.h:14 source/ubl-strings.h:121
msgid "Login"
msgstr "Логин"
@@ -149,7 +149,7 @@ msgstr ""
"Статус\n"
"пароля"
-#: source/ubl-strings.h:36 source/ubl-strings.h:251
+#: source/ubl-strings.h:36 source/ubl-strings.h:252
msgid "Users"
msgstr "Пользователи"
@@ -302,7 +302,7 @@ msgstr "Пароль не требуется"
msgid "Set a password"
msgstr "Установить пароль"
-#: source/ubl-strings.h:73 source/ubl-strings.h:124
+#: source/ubl-strings.h:73 source/ubl-strings.h:125
msgid "Encrypted"
msgstr "Зашифрован"
@@ -314,7 +314,7 @@ msgstr "Не зашифрован"
msgid "Accept"
msgstr "Принять"
-#: source/ubl-strings.h:87
+#: source/ubl-strings.h:88
msgid "Attention!"
msgstr "Внимание!"
@@ -322,80 +322,81 @@ msgstr "Внимание!"
msgid ""
"All unencrypted password in configuration will be encrypted.\n"
"Are you sure want to encrypt all passwords? This action can't be undone."
-msgstr "Все незашифрованные пароли, хранящиеся в конфигурации, будут зашифрованы.\n"
+msgstr ""
+"Все незашифрованные пароли, хранящиеся в конфигурации, будут зашифрованы.\n"
"Вы уверены, что хотите зашифровать все пароли? Это действие нельзя отменить."
#: source/ubl-strings.h:89
msgid "Encrypt all unencrypted passwords"
msgstr "Зашифровать все пароли"
-#: source/ubl-strings.h:89
+#: source/ubl-strings.h:90
msgid "Encrypt all unencrypted passwords at global configuration"
msgstr "Зашифровать все незашифрованные пароли в глобальной конфигурации"
-#: source/ubl-strings.h:90
+#: source/ubl-strings.h:91
msgid "DES (Algorithm for Symmetric Encryption)"
msgstr "DES (Алгоритм для симметричного шифрования)"
-#: source/ubl-strings.h:91
+#: source/ubl-strings.h:92
msgid "MD5 (128-bit hashing algorithm)"
msgstr "MD5 (128-битный алгоритм хеширования)"
-#: source/ubl-strings.h:92
+#: source/ubl-strings.h:93
msgid "yescrypt (Cryptographic hash function)"
msgstr "yescrypt (Криптографическая хэш-функция)"
-#: source/ubl-strings.h:93
+#: source/ubl-strings.h:94
msgid "GOST-YESCRYPT (Design according to GOST R 34.11─2012)"
msgstr "GOST-YESCRYPT (Конструкция согласно ГОСТ Р 34.11─2012)"
-#: source/ubl-strings.h:94
+#: source/ubl-strings.h:95
msgid "scrypt (Adaptive cryptographic key generation function)"
msgstr "scrypt (Адаптивная криптографическая функция формирования ключа)"
-#: source/ubl-strings.h:95
+#: source/ubl-strings.h:96
msgid "Blowfish (Symmetric Block Cipher Algorithm)"
msgstr "Blowfish (Алгоритм блочного симметричного шифрования)"
-#: source/ubl-strings.h:96
+#: source/ubl-strings.h:97
msgid "bcrypt (Adaptive hash function from the Blowfish family of algorithms)"
msgstr "bcrypt (Адаптивная хеш-функция из семейства алгоритмов Blowfish)"
-#: source/ubl-strings.h:97
+#: source/ubl-strings.h:98
msgid ""
"bcrypt-a (Adaptive hash function from the Blowfish family of algorithms)"
msgstr "bcrypt-a (Адаптивная хеш-функция из семейства алгоритмов Blowfish)"
-#: source/ubl-strings.h:98
+#: source/ubl-strings.h:99
msgid "SHA512 (Hash function from the SHA-2 family of algorithms)"
msgstr "SHA512 (Хеш-функция из семейства алгоритмов SHA-2)"
-#: source/ubl-strings.h:99
+#: source/ubl-strings.h:100
msgid "SHA256 (Hash function from the SHA-2 family of algorithms)"
msgstr "SHA256 (Хеш-функция из семейства алгоритмов SHA-2)"
-#: source/ubl-strings.h:100
+#: source/ubl-strings.h:101
msgid "Sun MD5 (Hash algorithm from Sun Microsystems)"
msgstr "Sun MD5 (Хеш-алгоритм от Sun Microsystems)"
-#: source/ubl-strings.h:101
+#: source/ubl-strings.h:102
msgid "MD5 Unix (Hash algorithm calls standard MD5 thousand times)"
msgstr "MD5 Unix (Хэш-алгоритм вызывает тысячу раз стандартный MD5)"
-#: source/ubl-strings.h:102
+#: source/ubl-strings.h:103
msgid ""
"Extended DES Crypt (Hash function from the BSDi family of DES algorithms)"
msgstr "Extended DES Crypt (Хеш-функция из семейства алгоритмов DES от BSDi)"
-#: source/ubl-strings.h:103
+#: source/ubl-strings.h:104
msgid "descrypt (Hash function from the DES family of algorithms)"
msgstr "descrypt (Хеш-функция из семейства алгоритмов DES)"
-#: source/ubl-strings.h:104
+#: source/ubl-strings.h:105
msgid "NTHash (Hash function from the NT Windows family of algorithms)"
msgstr "NTHash (Хеш-функция из семейства алгоритмов NT Windows)"
-#: source/ubl-strings.h:106
+#: source/ubl-strings.h:107
msgid ""
"While booting the operating system, apply the settings of all users from the "
"configuration"
@@ -403,7 +404,7 @@ msgstr ""
"При запуске операционной системы применять настройки всех пользователей из "
"конфигурации"
-#: source/ubl-strings.h:107
+#: source/ubl-strings.h:108
msgid ""
"While shutdown, save the settings of all users with UID>=1000 to the "
"configuration"
@@ -411,7 +412,7 @@ msgstr ""
"При завершении работы сохранить настройки пользователей с UID>=1000 в "
"конфигурацию"
-#: source/ubl-strings.h:108
+#: source/ubl-strings.h:109
msgid ""
"While booting the operating system, apply the settings of all groups from "
"the configuration"
@@ -419,14 +420,14 @@ msgstr ""
"При запуске операционной системы применять настройки всех групп из "
"конфигурации"
-#: source/ubl-strings.h:109
+#: source/ubl-strings.h:110
msgid ""
"While shutdown, save the settings of all groups with GID>=1000 to the "
"configuration"
msgstr ""
"При завершении работы сохранить настройки групп с GID>=1000 в конфигурацию"
-#: source/ubl-strings.h:111
+#: source/ubl-strings.h:112
msgid ""
"- User name must begin with letter or underscore;\n"
"- The name can consist of: lowercase Latin letters, numbers, underscores and "
@@ -438,99 +439,99 @@ msgstr ""
"дефиса\n"
"- Максимальная длина имени: 32 символа"
-#: source/ubl-strings.h:114
+#: source/ubl-strings.h:115
msgid "Configure group"
msgstr "Редактировать группу"
-#: source/ubl-strings.h:115
+#: source/ubl-strings.h:116
msgid "Add group"
msgstr "Добавить группу"
-#: source/ubl-strings.h:116
+#: source/ubl-strings.h:117
msgid "Group id:"
msgstr "Идентификатор группы (GID):"
-#: source/ubl-strings.h:117
+#: source/ubl-strings.h:118
msgid "Group name:"
msgstr "Имя группы:"
-#: source/ubl-strings.h:118
+#: source/ubl-strings.h:119
msgid "Group users:"
msgstr "Пользователи группы:"
-#: source/ubl-strings.h:119
+#: source/ubl-strings.h:120
msgid "Automatically"
msgstr "Автоматически"
-#: source/ubl-strings.h:121
+#: source/ubl-strings.h:122
msgid "Group already exists in configuration"
msgstr "Группа уже существует в конфигурации"
-#: source/ubl-strings.h:122
+#: source/ubl-strings.h:123
msgid "Create group with ununique GID"
msgstr "Создать группу с повторяющимися (не уникальными) GID"
-#: source/ubl-strings.h:123
+#: source/ubl-strings.h:124
msgid "Create system group"
msgstr "Создать системную группу"
-#: source/ubl-strings.h:125
+#: source/ubl-strings.h:126
msgid "Additional configuration"
msgstr "Дополнительные настройки"
-#: source/ubl-strings.h:126
+#: source/ubl-strings.h:127
msgid "Group configuration synchronization"
msgstr "Синхронизация настроек группы"
-#: source/ubl-strings.h:127
+#: source/ubl-strings.h:128
msgid "When shutting down the system, save the group into the configuration"
msgstr "При завершении работы системы сохранить группу в конфигурацию"
-#: source/ubl-strings.h:128
+#: source/ubl-strings.h:129
msgid "Group administrators:"
msgstr "Администраторы группы:"
-#: source/ubl-strings.h:129
+#: source/ubl-strings.h:130
msgid "Group name must not start with digit"
msgstr "Имя группы не должно начинаться с цифры"
-#: source/ubl-strings.h:132
+#: source/ubl-strings.h:133
msgid "Default groups"
msgstr "Группы пользователей по умолчанию"
-#: source/ubl-strings.h:133
+#: source/ubl-strings.h:134
msgid "Main group"
msgstr "Основная группа"
-#: source/ubl-strings.h:134
+#: source/ubl-strings.h:135
msgid "Additional groups"
msgstr "Дополнительные группы"
-#: source/ubl-strings.h:135
+#: source/ubl-strings.h:136
msgid "Choose groups"
msgstr "Выбрать группы"
-#: source/ubl-strings.h:136
+#: source/ubl-strings.h:137
msgid "Choose users"
msgstr "Выбрать пользователей"
-#: source/ubl-strings.h:137
+#: source/ubl-strings.h:138
msgid "Add to new:"
msgstr "Добавить в новую:"
-#: source/ubl-strings.h:140
+#: source/ubl-strings.h:141
msgid "System users and groups"
msgstr "Пользователи и группы в системе"
-#: source/ubl-strings.h:141
+#: source/ubl-strings.h:142
msgid "Locked"
msgstr "Отключен"
-#: source/ubl-strings.h:142
+#: source/ubl-strings.h:143
msgid "Username"
msgstr "Имя пользователя"
-#: source/ubl-strings.h:143
+#: source/ubl-strings.h:144
msgid ""
"Primary\n"
"group"
@@ -538,7 +539,7 @@ msgstr ""
"Основная\n"
"группа"
-#: source/ubl-strings.h:144
+#: source/ubl-strings.h:145
msgid ""
"Home\n"
"directory"
@@ -546,31 +547,31 @@ msgstr ""
"Домашний\n"
"каталог"
-#: source/ubl-strings.h:145 source/ubl-strings.h:151
+#: source/ubl-strings.h:146 source/ubl-strings.h:152
msgid "Group"
msgstr "Группа"
-#: source/ubl-strings.h:146
+#: source/ubl-strings.h:147
msgid "Update the system users and groups list"
msgstr "Обновить список пользователей и групп системы"
-#: source/ubl-strings.h:147
+#: source/ubl-strings.h:148
msgid "Toggle system groups and users"
msgstr "Переключить видимость системных пользователей и групп"
-#: source/ubl-strings.h:149
+#: source/ubl-strings.h:150
msgid "Password mismatch"
msgstr "Несовпадение паролей"
-#: source/ubl-strings.h:150
+#: source/ubl-strings.h:151
msgid "Password must be at least"
msgstr "Пароль должен состоять из как минимум"
-#: source/ubl-strings.h:150
+#: source/ubl-strings.h:151
msgid "characters"
msgstr "символов"
-#: source/ubl-strings.h:152
+#: source/ubl-strings.h:153
msgid ""
"Days until\n"
"warning"
@@ -578,7 +579,7 @@ msgstr ""
"Дней до\n"
"предупреждения"
-#: source/ubl-strings.h:153
+#: source/ubl-strings.h:154
msgid ""
"Days\n"
"without activity"
@@ -586,7 +587,7 @@ msgstr ""
"Дней без\n"
"активности"
-#: source/ubl-strings.h:154
+#: source/ubl-strings.h:155
msgid ""
"Shell\n"
"path"
@@ -594,7 +595,7 @@ msgstr ""
"Путь до\n"
"оболочки"
-#: source/ubl-strings.h:155
+#: source/ubl-strings.h:156
msgid ""
"Password has\n"
"been changed"
@@ -602,7 +603,7 @@ msgstr ""
"Пароль\n"
"изменён"
-#: source/ubl-strings.h:156
+#: source/ubl-strings.h:157
msgid ""
"Expiration\n"
"date"
@@ -610,7 +611,7 @@ msgstr ""
"Дата\n"
"устаревания"
-#: source/ubl-strings.h:157
+#: source/ubl-strings.h:158
msgid ""
"Password change\n"
"interval (min)"
@@ -618,7 +619,7 @@ msgstr ""
"Интервал смены\n"
"пароля (мин.)"
-#: source/ubl-strings.h:158
+#: source/ubl-strings.h:159
msgid ""
"Password change\n"
"interval (max)"
@@ -626,223 +627,223 @@ msgstr ""
"Интервал смены\n"
"пароля (макс.)"
-#: source/ubl-strings.h:161
+#: source/ubl-strings.h:162
msgid "Add user"
msgstr "Добавить пользователя"
-#: source/ubl-strings.h:162
+#: source/ubl-strings.h:163
msgid "Configure user"
msgstr "Редактировать пользователя"
-#: source/ubl-strings.h:163
+#: source/ubl-strings.h:164
msgid "Set"
msgstr "Задать"
-#: source/ubl-strings.h:164
+#: source/ubl-strings.h:165
msgid "Empty important field"
msgstr "Пустое важное поле"
-#: source/ubl-strings.h:165
+#: source/ubl-strings.h:166
msgid "Login must not start with digit"
msgstr "Логин не должен начинаться с цифры"
-#: source/ubl-strings.h:166
+#: source/ubl-strings.h:167
msgid "Loading has failed"
msgstr "Ошибка загрузки"
-#: source/ubl-strings.h:167
+#: source/ubl-strings.h:168
msgid "Login name"
msgstr "Имя логина"
-#: source/ubl-strings.h:168
+#: source/ubl-strings.h:169
msgid "Additional groups:"
msgstr "Дополнительные группы:"
-#: source/ubl-strings.h:169
+#: source/ubl-strings.h:170
msgid "Password configuration"
msgstr "Конфигурация пароля"
-#: source/ubl-strings.h:170
+#: source/ubl-strings.h:171
msgid "Password has been changed:"
msgstr "Пароль изменён:"
-#: source/ubl-strings.h:171
+#: source/ubl-strings.h:172
msgid "expiration date:"
msgstr "Дата устаревания:"
-#: source/ubl-strings.h:172
+#: source/ubl-strings.h:173
msgid "Password change interval: minimum"
msgstr "Интервал смены пароля: минимум"
-#: source/ubl-strings.h:173
+#: source/ubl-strings.h:174
msgid "days, maximum"
msgstr "дней, максимум"
-#: source/ubl-strings.h:174
+#: source/ubl-strings.h:175
msgid "days"
msgstr "дней"
-#: source/ubl-strings.h:175
+#: source/ubl-strings.h:176
msgid "User already exists in configuration"
msgstr "Пользователь уже существует в конфигурации"
-#: source/ubl-strings.h:176
+#: source/ubl-strings.h:177
msgid "Days until warning:"
msgstr "Дней до предупреждения:"
-#: source/ubl-strings.h:177
+#: source/ubl-strings.h:178
msgid "Days without activity:"
msgstr "Дней без активности:"
-#: source/ubl-strings.h:178
+#: source/ubl-strings.h:179
msgid "Force change at next login"
msgstr "Принудительно сменить при следующем входе в систему"
-#: source/ubl-strings.h:179
+#: source/ubl-strings.h:180
msgid "User shell:"
msgstr "Оболочка пользователя:"
-#: source/ubl-strings.h:180
+#: source/ubl-strings.h:181
msgid "Home directory:"
msgstr "Домашний каталог:"
-#: source/ubl-strings.h:181
+#: source/ubl-strings.h:182
msgid "Don't set"
msgstr "Не создавать"
-#: source/ubl-strings.h:182
+#: source/ubl-strings.h:183
msgid "Create system user"
msgstr "Создать системного пользователя"
-#: source/ubl-strings.h:183
+#: source/ubl-strings.h:184
msgid "Create user with ununique (repeating) UID"
msgstr "Создать пользователя с повторяющимися (не уникальными) UID"
-#: source/ubl-strings.h:184
+#: source/ubl-strings.h:185
msgid "Do not check login for compliance with character rules"
msgstr "Не проверять логин на несоответствие правилам использования символов"
-#: source/ubl-strings.h:185
+#: source/ubl-strings.h:186
msgid "Temporary deactivation"
msgstr "Временное отключение учётной записи"
-#: source/ubl-strings.h:186
+#: source/ubl-strings.h:187
msgid "Save"
msgstr "Сохранить"
-#: source/ubl-strings.h:187
+#: source/ubl-strings.h:188
msgid "login_name"
msgstr "Имя_логина"
-#: source/ubl-strings.h:188
+#: source/ubl-strings.h:189
msgid "group_name"
msgstr "Имя_группы"
-#: source/ubl-strings.h:189
+#: source/ubl-strings.h:190
msgid "User name"
msgstr "Имя пользователя"
-#: source/ubl-strings.h:190
+#: source/ubl-strings.h:191
msgid "Sync user"
msgstr "Синхронизировать пользователя"
-#: source/ubl-strings.h:191
+#: source/ubl-strings.h:192
msgid "Sync user with password"
msgstr "Синхронизировать пользователя с паролем"
-#: source/ubl-strings.h:192
+#: source/ubl-strings.h:193
msgid "Encrypt all passwords"
msgstr "Зашифровать все пароли"
-#: source/ubl-strings.h:194
+#: source/ubl-strings.h:195
msgid "User configuration"
msgstr "Настройка пользователя"
-#: source/ubl-strings.h:195
+#: source/ubl-strings.h:196
msgid "User configuration synchronization"
msgstr "Синхронизация настроек пользователя"
-#: source/ubl-strings.h:196
+#: source/ubl-strings.h:197
msgid "During system startup, load the user from the configuration"
msgstr ""
"При запуске операционной системы применять настройки пользователя из "
"конфигурации"
-#: source/ubl-strings.h:197
+#: source/ubl-strings.h:198
msgid "When shutting down the system, save the user into the configuration"
msgstr ""
"При завершении работы операционной системы сохранить настройки пользователя "
"в конфигурацию"
-#: source/ubl-strings.h:198
+#: source/ubl-strings.h:199
msgid "User password configuration syncronization"
msgstr "Синхронизация настроек пароля пользователя"
-#: source/ubl-strings.h:199
+#: source/ubl-strings.h:200
msgid ""
"During system startup, load the user's parameters from the configuration"
msgstr "При загрузке системы загрузить параметры пользователя из конфигурации"
-#: source/ubl-strings.h:200
+#: source/ubl-strings.h:201
msgid ""
"When shutting down the system, save the user's parameters into the "
"configuration"
msgstr ""
"При завершении работы системы сохранить параметры пользователя в конфигурацию"
-#: source/ubl-strings.h:202
+#: source/ubl-strings.h:203
msgid "Basic"
msgstr "Основные"
-#: source/ubl-strings.h:203
+#: source/ubl-strings.h:204
msgid "Additional"
msgstr "Дополнительные"
-#: source/ubl-strings.h:204
+#: source/ubl-strings.h:205
msgid "Syncronization"
msgstr "Синхронизация"
-#: source/ubl-strings.h:206
+#: source/ubl-strings.h:207
msgid "Not specified"
msgstr "Не задан"
-#: source/ubl-strings.h:208
+#: source/ubl-strings.h:209
msgid "UID already exists in configuration"
msgstr "UID уже существует в конфигурации"
-#: source/ubl-strings.h:209
+#: source/ubl-strings.h:210
msgid "UID already exists in system"
msgstr "UID уже существует в системе"
-#: source/ubl-strings.h:210
+#: source/ubl-strings.h:211
msgid "GID already exists in configuration"
msgstr "GID уже существует в конфигурации"
-#: source/ubl-strings.h:211
+#: source/ubl-strings.h:212
msgid "GID already exists in system"
msgstr "GID уже существует в системе"
-#: source/ubl-strings.h:214
+#: source/ubl-strings.h:215
msgid "Repeat password:"
msgstr "Подтверждение пароля:"
-#: source/ubl-strings.h:215
+#: source/ubl-strings.h:216
msgid "Password hash:"
msgstr "Хэш пароля:"
-#: source/ubl-strings.h:216
+#: source/ubl-strings.h:217
msgid "Do not encrypt password"
msgstr "Не шифровать пароль"
-#: source/ubl-strings.h:217
+#: source/ubl-strings.h:218
msgid "Password contain special symbols"
msgstr "Пароль содержит спецсимволы"
-#: source/ubl-strings.h:220
+#: source/ubl-strings.h:221
msgid "Additional configuration of service parameter saving"
msgstr "Дополнительные настройки сохранения параметров сервисов"
-#: source/ubl-strings.h:221
+#: source/ubl-strings.h:222
msgid ""
"At every system shutdown save changes of (root)/var/lib/samba\n"
"into (hd)/ublinux-data/rootcopy"
@@ -850,178 +851,186 @@ msgstr ""
"При каждом завершении работы ОС сохранять изменения (root)/var/lib/samba\n"
"в (hd)/ublinux-data/rootcopy/"
-#: source/ubl-strings.h:222
+#: source/ubl-strings.h:223
msgid "For system save mode \"Sandbox\""
msgstr "Для режима сохранения системы \"Песочница\""
-#: source/ubl-strings.h:225
+#: source/ubl-strings.h:226
msgid "Group deletion"
msgstr "Удаление групп(-ы)"
-#: source/ubl-strings.h:226
+#: source/ubl-strings.h:227
msgid "Confirm group(-s) deletion:"
msgstr "Подтвердите удаление групп(-ы):"
-#: source/ubl-strings.h:228
+#: source/ubl-strings.h:229
msgid "User deletion"
msgstr "Удаление пользователя(-ей)"
-#: source/ubl-strings.h:229
+#: source/ubl-strings.h:230
msgid "Confirm user(-s) deletion:"
msgstr "Подтвердите удаление пользователя (-ей):"
-#: source/ubl-strings.h:230
+#: source/ubl-strings.h:231
msgid "Chosen"
msgstr "Выбран"
-#: source/ubl-strings.h:231
+#: source/ubl-strings.h:232
msgid "User"
msgstr "Пользователь"
-#: source/ubl-strings.h:232
+#: source/ubl-strings.h:233
msgid "Home directory"
msgstr "Домашний каталог"
-#: source/ubl-strings.h:233
+#: source/ubl-strings.h:234
msgid "Delete home directory"
msgstr "Удалить домашний каталог"
-#: source/ubl-strings.h:235
+#: source/ubl-strings.h:236
msgid "Configuration users"
msgstr "Пользователи конфигурации"
-#: source/ubl-strings.h:236
+#: source/ubl-strings.h:237
msgid "Configuration groups"
msgstr "Группы конфигурации"
-#: source/ubl-strings.h:237 source/ubl-strings.h:252 source/ubl-strings.h:265
+#: source/ubl-strings.h:238 source/ubl-strings.h:253 source/ubl-strings.h:266
msgid "System users"
msgstr "Пользователи системы"
-#: source/ubl-strings.h:238 source/ubl-strings.h:261
+#: source/ubl-strings.h:239 source/ubl-strings.h:262
msgid "System groups"
msgstr "Группы системы"
-#: source/ubl-strings.h:239 source/ubl-strings.h:248
+#: source/ubl-strings.h:240 source/ubl-strings.h:249
msgid "Remove from system"
msgstr "Удалить из системы"
-#: source/ubl-strings.h:240 source/ubl-strings.h:246
+#: source/ubl-strings.h:241 source/ubl-strings.h:247
msgid "Remove from configuration"
msgstr "Удалить из конфигурации"
-#: source/ubl-strings.h:242
+#: source/ubl-strings.h:243
msgid "Group deletion has failed"
msgstr "Удаление группы завершено с ошибкой"
-#: source/ubl-strings.h:243
+#: source/ubl-strings.h:244
msgid "User deletion has failed"
msgstr "Удаление пользователя завершено с ошибкой"
-#: source/ubl-strings.h:245
+#: source/ubl-strings.h:246
#, fuzzy
msgid "Add to configuration"
msgstr "в конфигурацию?"
-#: source/ubl-strings.h:247
+#: source/ubl-strings.h:248
#, fuzzy
msgid "Add to system"
msgstr "Добавить в новую:"
-#: source/ubl-strings.h:250 source/ubl-strings.h:264
+#: source/ubl-strings.h:251 source/ubl-strings.h:265
msgid "All system users"
msgstr "Все пользователи в системе"
-#: source/ubl-strings.h:253 source/ubl-strings.h:266
+#: source/ubl-strings.h:254 source/ubl-strings.h:267
msgid "Users UID range"
msgstr "Диапазон UID пользователей в системе"
-#: source/ubl-strings.h:254 source/ubl-strings.h:267
+#: source/ubl-strings.h:255 source/ubl-strings.h:268
msgid "User UID in system"
msgstr "Пользователь в системе с UID"
-#: source/ubl-strings.h:255
+#: source/ubl-strings.h:256
msgid "Users GID range"
msgstr "Диапазон UID пользователей в системе"
-#: source/ubl-strings.h:256
+#: source/ubl-strings.h:257
msgid "User GID in system"
msgstr "Пользователь в системе с UID"
-#: source/ubl-strings.h:258
+#: source/ubl-strings.h:259
msgid "While shutdown, save the settings of all users to configuration"
msgstr "При завершении работы сохранить настройки пользователей"
-#: source/ubl-strings.h:259
+#: source/ubl-strings.h:260
msgid "While shutdown, save the settings of all groups to the configuration"
msgstr "При завершении работы сохранить настройки групп пользователей"
-#: source/ubl-strings.h:260
+#: source/ubl-strings.h:261
msgid "All groups in system"
msgstr "Все группы в системе"
-#: source/ubl-strings.h:262
+#: source/ubl-strings.h:263
msgid "Group GID range"
msgstr "Диапазон GID групп"
-#: source/ubl-strings.h:263
+#: source/ubl-strings.h:264
msgid "Group GID in system"
msgstr "Группы в системе с GID"
-#: source/ubl-strings.h:268
+#: source/ubl-strings.h:269
msgid "Syncronization type"
msgstr "Тип синхронизации с глобальной конфигурацией"
-#: source/ubl-strings.h:269
+#: source/ubl-strings.h:270
msgid "Minimum UID"
msgstr "Минимальный UID"
-#: source/ubl-strings.h:270
+#: source/ubl-strings.h:271
msgid "Maximum UID"
msgstr "Максимальный UID"
-#: source/ubl-strings.h:271
+#: source/ubl-strings.h:272
msgid "Minimum GID"
msgstr "Минимальный GID"
-#: source/ubl-strings.h:272
+#: source/ubl-strings.h:273
msgid "Maximum GID"
msgstr "Максимальный GID"
-#: source/ubl-strings.h:274
+#: source/ubl-strings.h:275
+msgid "Show system users"
+msgstr "Показать системных пользователей"
+
+#: source/ubl-strings.h:276
+msgid "Show system groups"
+msgstr "Показать системные группы"
+
+#: source/ubl-strings.h:278
msgid "Deny login"
msgstr "Запретить вход"
-#: source/ubl-strings.h:275
+#: source/ubl-strings.h:279
msgid "Block login with password"
msgstr "Заблокировать вход по паролю"
-#: source/ubl-strings.h:276
+#: source/ubl-strings.h:280
#, fuzzy
msgid "Unblock login with password"
msgstr "Разблокировать вход по паролю"
-#: source/ubl-strings.h:278
+#: source/ubl-strings.h:282
msgid "User(-s)"
msgstr "Пользователь(-ли)"
-#: source/ubl-strings.h:278
+#: source/ubl-strings.h:282
msgid "is included into main group of users"
msgstr "включен(-ы) в основную группу"
-#: source/ubl-strings.h:278
+#: source/ubl-strings.h:282
msgid "which will be deleted"
msgstr "которая будет удалена"
-#: source/ubl-strings.h:278
+#: source/ubl-strings.h:282
msgid "After reboot users"
msgstr "После перезагрузки пользователь(-ли)"
-#: source/ubl-strings.h:278
+#: source/ubl-strings.h:282
msgid "main group will be set to default group"
msgstr "получит(-ат) основную группу по умолчанию"
-#: source/ubl-strings.h:279
+#: source/ubl-strings.h:283
msgid ""
"Some of users, chosen for deletion, are included as main group for other "
"users. This users will get default main group after reboot"
diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
index 24cb0e2..2ad27d2 100644
--- a/source/CMakeLists.txt
+++ b/source/CMakeLists.txt
@@ -41,7 +41,6 @@ set(DEPENDFILES
../ubl-settings-usergroups-system-deletion-confirmation.glade
../sync_parameters.csv
../gresource.xml
- ../ubl-settings-usergroups-banner.png
../ubl-settings-usergroups.css
)
diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c
index ed7e20c..05c7579 100644
--- a/source/ubl-settings-usergroups.c
+++ b/source/ubl-settings-usergroups.c
@@ -226,6 +226,10 @@ void yon_interface_update(main_window *widgets){
if (!yon_window_config_check_exist("window","SystemGroupColumn2")){
yon_gtk_tree_view_set_fixed_size(GTK_TREE_VIEW(widgets->SystemGroupsTree),2,-1);
}
+ gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->ConfigUsersFilter));
+ gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->ConfigGroupsFilter));
+ gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->SystemUsersFilter));
+ gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->SystemGroupsFilter));
}
@@ -742,10 +746,11 @@ void yon_system_delete_confirmation_open(main_window *widgets){
gtk_label_set_text(GTK_LABEL(dialog->HatLabel),DELETE_CONFIRMATION_TITLE_LABEL);
yon_gtk_window_setup(GTK_WINDOW(dialog->Window),GTK_WINDOW(widgets->Window),DELETE_CONFIRMATION_TITLE_LABEL,icon_path,"system-user-deletion-window");
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->SystemTree));
- GtkTreeIter iter;
+ GtkTreeIter iter,child;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SystemTree)),&model,&iter)){
char *name,*username,*homedir=NULL;
- gtk_tree_model_get(model,&iter,2,&name,3,&username,6,&homedir,-1);
+ yon_tree_model_sort_filter_get_model_iter(GTK_TREE_MODEL_SORT(model),&iter,&child);
+ gtk_tree_model_get(model,&child,2,&name,3,&username,6,&homedir,-1);
gtk_list_store_append(dialog->list,&iter);
gtk_list_store_set(dialog->list,&iter,0,1,1,name,2,homedir,4,!yon_char_is_empty(homedir),5,username,-1);
gtk_widget_show(dialog->Window);
@@ -757,7 +762,7 @@ void yon_system_delete_confirmation_open(main_window *widgets){
gtk_label_set_text(GTK_LABEL(dialog->HatLabel),DELETE_GROUP_CONFIRMATION_TITLE_LABEL);
yon_gtk_window_setup(GTK_WINDOW(dialog->Window),GTK_WINDOW(widgets->Window),DELETE_GROUP_CONFIRMATION_TITLE_LABEL,icon_path,"system-group-deletion-window");
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->SystemGroupsTree));
- GtkTreeIter iter;
+ GtkTreeIter iter,child;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SystemGroupsTree)),&model,&iter)){
g_signal_connect(G_OBJECT(dialog->AcceptButton),"clicked",G_CALLBACK(on_delete_system_group),dialog);
char *name;
@@ -766,7 +771,8 @@ void yon_system_delete_confirmation_open(main_window *widgets){
gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(dialog->DeletionTree),3),0);
gtk_tree_view_column_set_visible(gtk_tree_view_get_column(GTK_TREE_VIEW(dialog->DeletionTree),4),0);
- gtk_tree_model_get(model,&iter,1,&name,-1);
+ yon_tree_model_sort_filter_get_model_iter(GTK_TREE_MODEL_SORT(model),&iter,&child);
+ gtk_tree_model_get(model,&child,1,&name,-1);
gtk_list_store_append(dialog->list,&iter);
gtk_list_store_set(dialog->list,&iter,0,1,1,name,-1);
gtk_widget_show(dialog->Window);
@@ -777,19 +783,20 @@ void yon_system_delete_confirmation_open(main_window *widgets){
void yon_delete_confirmation_open(main_window *widgets){
yon_confirmation_window *window = yon_delete_confirmation_new();
gtk_window_set_transient_for(GTK_WINDOW(window->Window),GTK_WINDOW(widgets->Window));
- GtkTreeIter iter,itar;
+ GtkTreeIter iter,itar,child;
dictionary *dict = NULL;
yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(yon_delete_confirmation_save),dict);
- GtkTreeModel *model = GTK_TREE_MODEL(widgets->UsersList);
+ GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(widgets->UsersTree));
GList *list = gtk_tree_selection_get_selected_rows(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->UsersTree)),&model);
int chosen_size=0;
config_str chosen = NULL;
for (guint i=0;iUsersList),&child,2,¤t,-1);
yon_char_parsed_add_or_create_if_exists(chosen,&chosen_size,current);
}
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->UsersList),&iter);
@@ -1487,7 +1494,7 @@ void on_main_add(GtkWidget *, main_window *widgets){
void on_main_edit(GtkWidget *, main_window *widgets){
GtkTreeModel *model;
- GtkTreeIter iter;
+ GtkTreeIter iter,child;
if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){
model = GTK_TREE_MODEL(widgets->UsersList);
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->UsersTree)),&model,&iter)){
@@ -1499,7 +1506,8 @@ void on_main_edit(GtkWidget *, main_window *widgets){
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
g_signal_connect(G_OBJECT(window->UserOkButton),"clicked",G_CALLBACK(on_user_save),dict);
char *name;
- gtk_tree_model_get(GTK_TREE_MODEL(widgets->UsersList),&iter,2,&name,-1);
+ yon_tree_model_sort_filter_get_model_iter(GTK_TREE_MODEL_SORT(model),&iter,&child);
+ gtk_tree_model_get(GTK_TREE_MODEL(widgets->UsersList),&child,2,&name,-1);
char *parameter_string = yon_config_get_by_key(USERADD(name));
char *sync = config(USERADD_SYNC(name));
if (!yon_char_is_empty(sync)){
@@ -1670,7 +1678,8 @@ void on_main_edit(GtkWidget *, main_window *widgets){
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
g_signal_connect(G_OBJECT(window->UserOkButton),"clicked",G_CALLBACK(on_group_save),dict);
char *name;
- gtk_tree_model_get(model,&iter,1,&name,-1);
+ yon_tree_model_sort_filter_get_model_iter(GTK_TREE_MODEL_SORT(model),&iter,&child);
+ gtk_tree_model_get(model,&child,1,&name,-1);
char *config_string = yon_config_get_by_key(GROUPADD(name));
char *sync_string = config(GROUPADD_SYNC(name));
if (!yon_char_is_empty(config_string)){
@@ -1781,10 +1790,11 @@ void on_main_delete(GtkWidget *, main_window *widgets){
break;
case 2:{
GtkTreeModel *model = GTK_TREE_MODEL(widgets->liststore1);
- GtkTreeIter iter;
+ GtkTreeIter iter,child;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SystemTree)),&model,&iter)){
char *target;
- gtk_tree_model_get(model,&iter,2,&target,-1);
+ yon_tree_model_sort_filter_get_model_iter(GTK_TREE_MODEL_SORT(model),&iter,&child);
+ gtk_tree_model_get(GTK_TREE_MODEL(widgets->liststore1),&child,2,&target,-1);
system_remove_confirmation_window *window = yon_system_remove_confirmation_window_new();
dictionary *dict = NULL;
yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);
@@ -1808,10 +1818,11 @@ void on_main_delete(GtkWidget *, main_window *widgets){
}break;
case 3:{
GtkTreeModel *model = GTK_TREE_MODEL(widgets->liststore2);
- GtkTreeIter iter;
+ GtkTreeIter iter,child;
if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SystemGroupsTree)),&model,&iter)){
char *target;
- gtk_tree_model_get(model,&iter,1,&target,-1);
+ yon_tree_model_sort_filter_get_model_iter(GTK_TREE_MODEL_SORT(model),&iter,&child);
+ gtk_tree_model_get(GTK_TREE_MODEL(widgets->liststore2),&child,1,&target,-1);
system_remove_confirmation_window *window = yon_system_remove_confirmation_window_new();
dictionary *dict = NULL;
yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);
@@ -1850,6 +1861,98 @@ void on_config_update(GtkWidget *, main_window *widgets){
return (int)1;
}
+
+gboolean on_filter(GtkTreeModel* model, GtkTreeIter *iter, main_window *widgets){
+ GtkWidget *check = NULL;
+ GtkWidget *search = NULL;
+ int id_col=0;
+ int name_col = 0;
+ int systemed = 0;
+ if ((void*)model == (void*)widgets->UsersList){
+ check = widgets->ConfigUserShowSystemCheck;
+ search = widgets->ConfigUserSearchEntry;
+ id_col=1;
+ name_col=2;
+ } else if ((void*)model == (void*)widgets->GroupsList){
+ check = widgets->ConfigGroupShowSystemCheck;
+ search = widgets->ConfigGroupSearchEntry;
+ id_col=0;
+ name_col=1;
+ } else if ((void*)model == (void*)widgets->liststore1){
+ check = widgets->SystemUserShowSystemCheck;
+ search = widgets->SystemUserSearchEntry;
+ id_col=1;
+ name_col=2;
+ systemed=1;
+ } else if ((void*)model == (void*)widgets->liststore2){
+ check = widgets->SystemGroupShowSystemCheck;
+ search = widgets->SystemGroupSearchEntry;
+ id_col=0;
+ name_col=1;
+ systemed=1;
+ } else return 0;
+
+ char *uid, *target;
+ int iuid;
+ if (systemed)
+ gtk_tree_model_get(model,iter,id_col,&iuid,name_col,&target,-1);
+ else
+ gtk_tree_model_get(model,iter,id_col,&uid,name_col,&target,-1);
+ char *search_text = (char*)gtk_entry_get_text(GTK_ENTRY(search));
+ int show_system = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(check));
+ if (!target&&(search_text)) return 0;
+
+ int system_id_found = 0;
+ int search_found = 0;
+ if (!yon_char_is_empty(search_text)){
+ if (strstr(target,search_text)){
+ search_found = 1;
+ }
+ } else {
+ search_found = 1;
+ }
+ if (systemed){
+ if (((iuid>=main_config.MINUID&&iuid<=main_config.MAXUID))||show_system){
+ system_id_found = 1;
+ }
+
+ } else {
+ if (((atoi(uid)>=main_config.MINUID&&atoi(uid)<=main_config.MAXUID))||show_system){
+ system_id_found = 1;
+ }
+
+ }
+
+ if (search_found&&system_id_found) return 1;
+ return 0;
+
+
+
+}
+
+ void on_filter_changed(GtkWidget *self, main_window *widgets){
+ if (self == widgets->ConfigUserShowSystemCheck||self == widgets->ConfigUserSearchEntry){
+ gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->UsersTree),NULL);
+ gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->ConfigUsersFilter));
+ gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->UsersTree),GTK_TREE_MODEL(widgets->ConfigUsersSort));
+ } else if (self == widgets->ConfigGroupShowSystemCheck||self == widgets->ConfigGroupSearchEntry) {
+ gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->GroupsTree),NULL);
+ gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->ConfigGroupsFilter));
+ gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->GroupsTree),GTK_TREE_MODEL(widgets->ConfigGroupsSort));
+
+ } else if (self == widgets->SystemUserShowSystemCheck||self == widgets->SystemUserSearchEntry) {
+ gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->SystemTree),NULL);
+ gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->SystemUsersFilter));
+ gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->SystemTree),GTK_TREE_MODEL(widgets->SystemUsersSort));
+
+ } else if (self == widgets->SystemGroupShowSystemCheck||self == widgets->SystemGroupSearchEntry) {
+ gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->SystemGroupsTree),NULL);
+ gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->SystemGroupsFilter));
+ gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->SystemGroupsTree),GTK_TREE_MODEL(widgets->SystemGroupsSort));
+
+ }
+ }
+
/**config_init()
* [EN]
*
@@ -2097,6 +2200,23 @@ main_window *yon_main_window_complete(main_window *widgets){
widgets->MainNotebook=yon_gtk_builder_get_widget(builder,"MainNotebook");
widgets->SavingSettingsButton=yon_gtk_builder_get_widget(builder,"SavingSettingsButton");
+ widgets->ConfigUserShowSystemCheck=yon_gtk_builder_get_widget(builder,"ConfigUserShowSystemCheck");
+ widgets->ConfigUserSearchEntry=yon_gtk_builder_get_widget(builder,"ConfigUserSearchEntry");
+ widgets->ConfigGroupShowSystemCheck=yon_gtk_builder_get_widget(builder,"ConfigGroupShowSystemCheck");
+ widgets->ConfigGroupSearchEntry=yon_gtk_builder_get_widget(builder,"ConfigGroupSearchEntry");
+ widgets->SystemUserShowSystemCheck=yon_gtk_builder_get_widget(builder,"SystemUserShowSystemCheck");
+ widgets->SystemUserSearchEntry=yon_gtk_builder_get_widget(builder,"SystemUserSearchEntry");
+ widgets->SystemGroupShowSystemCheck=yon_gtk_builder_get_widget(builder,"SystemGroupShowSystemCheck");
+ widgets->SystemGroupSearchEntry=yon_gtk_builder_get_widget(builder,"SystemGroupSearchEntry");
+
+ widgets->ConfigUsersFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"ConfigUsersFilter"));
+ widgets->ConfigUsersSort = GTK_TREE_MODEL(gtk_builder_get_object(builder,"ConfigUsersSort"));
+ widgets->ConfigGroupsFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"ConfigGroupsFilter"));
+ widgets->ConfigGroupsSort = GTK_TREE_MODEL(gtk_builder_get_object(builder,"ConfigGroupsSort"));
+ widgets->SystemUsersFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"SystemUsersFilter"));
+ widgets->SystemUsersSort = GTK_TREE_MODEL(gtk_builder_get_object(builder,"SystemUsersSort"));
+ widgets->SystemGroupsFilter = GTK_TREE_MODEL(gtk_builder_get_object(builder,"SystemGroupsFilter"));
+ widgets->SystemGroupsSort = GTK_TREE_MODEL(gtk_builder_get_object(builder,"SystemGroupsSort"));
main_config.users_list = widgets->UsersList;
main_config.groups_list = widgets->GroupsList;
@@ -2122,6 +2242,15 @@ main_window *yon_main_window_complete(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->SaveLocalMenuItem),"activate",G_CALLBACK(on_config_local_save),widgets);
g_signal_connect(G_OBJECT(widgets->SaveCustomMenuItem),"activate",G_CALLBACK(on_config_custom_save),widgets);
+ g_signal_connect(G_OBJECT(widgets->ConfigUserShowSystemCheck),"toggled",G_CALLBACK(on_filter_changed),widgets);
+ g_signal_connect(G_OBJECT(widgets->ConfigUserSearchEntry),"changed",G_CALLBACK(on_filter_changed),widgets);
+ g_signal_connect(G_OBJECT(widgets->ConfigGroupShowSystemCheck),"toggled",G_CALLBACK(on_filter_changed),widgets);
+ g_signal_connect(G_OBJECT(widgets->ConfigGroupSearchEntry),"changed",G_CALLBACK(on_filter_changed),widgets);
+ g_signal_connect(G_OBJECT(widgets->SystemUserShowSystemCheck),"toggled",G_CALLBACK(on_filter_changed),widgets);
+ g_signal_connect(G_OBJECT(widgets->SystemUserSearchEntry),"changed",G_CALLBACK(on_filter_changed),widgets);
+ g_signal_connect(G_OBJECT(widgets->SystemGroupShowSystemCheck),"toggled",G_CALLBACK(on_filter_changed),widgets);
+ g_signal_connect(G_OBJECT(widgets->SystemGroupSearchEntry),"changed",G_CALLBACK(on_filter_changed),widgets);
+
g_signal_connect(G_OBJECT(widgets->LoadGlobalMenuItem),"activate",G_CALLBACK(on_config_global_load),widgets);
g_signal_connect(G_OBJECT(widgets->LoadLocalMenuItem),"activate",G_CALLBACK(on_config_local_load),widgets);
g_signal_connect(G_OBJECT(widgets->LoadCustomMenuItem),"activate",G_CALLBACK(on_config_custom_load),widgets);
@@ -2135,7 +2264,12 @@ main_window *yon_main_window_complete(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->SystemTree),"button-press-event",G_CALLBACK(on_system_menu_open),widgets->UsersMenu);
g_signal_connect(G_OBJECT(widgets->SystemGroupsTree),"button-press-event",G_CALLBACK(on_system_menu_open),widgets->GroupsMenu);
+
yon_system_load(widgets);
+ gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(widgets->ConfigUsersFilter),(GtkTreeModelFilterVisibleFunc)on_filter,widgets,NULL);
+ gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(widgets->ConfigGroupsFilter),(GtkTreeModelFilterVisibleFunc)on_filter,widgets,NULL);
+ gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(widgets->SystemUsersFilter),(GtkTreeModelFilterVisibleFunc)on_filter,widgets,NULL);
+ gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(widgets->SystemGroupsFilter),(GtkTreeModelFilterVisibleFunc)on_filter,widgets,NULL);
// on_system_update(NULL,widgets);
yon_root_button_setup((template_main_window*)widgets,main_config.launch_arguments,main_config.launch_size);
diff --git a/source/ubl-settings-usergroups.h b/source/ubl-settings-usergroups.h
index c8fbb7c..fedaf42 100644
--- a/source/ubl-settings-usergroups.h
+++ b/source/ubl-settings-usergroups.h
@@ -214,6 +214,24 @@ typedef struct {
GtkWidget *GroupsTree;
GtkWidget *MainNotebook;
GtkWidget *SavingSettingsButton;
+
+ GtkWidget *ConfigUserShowSystemCheck;
+ GtkWidget *ConfigUserSearchEntry;
+ GtkWidget *ConfigGroupShowSystemCheck;
+ GtkWidget *ConfigGroupSearchEntry;
+ GtkWidget *SystemUserShowSystemCheck;
+ GtkWidget *SystemUserSearchEntry;
+ GtkWidget *SystemGroupShowSystemCheck;
+ GtkWidget *SystemGroupSearchEntry;
+
+ GtkTreeModel *ConfigUsersFilter;
+ GtkTreeModel *ConfigUsersSort;
+ GtkTreeModel *ConfigGroupsFilter;
+ GtkTreeModel *ConfigGroupsSort;
+ GtkTreeModel *SystemUsersFilter;
+ GtkTreeModel *SystemUsersSort;
+ GtkTreeModel *SystemGroupsFilter;
+ GtkTreeModel *SystemGroupsSort;
rmb_menu_window *UsersMenu;
rmb_menu_window *GroupsMenu;
@@ -575,4 +593,6 @@ char *yon_user_get_group_string(char *user);
void on_password_hash_sensitiveness(GtkWidget *,ubl_settings_usergroups_password_window *window);
gboolean on_encrypt_update(dictionary *dict);
void *yon_passwords_encrypt(dictionary *dict);
+gboolean on_filter(GtkTreeModel* model, GtkTreeIter *iter, main_window *widgets);
+ void on_filter_changed(GtkWidget *self, main_window *widgets);
#endif
\ No newline at end of file
diff --git a/source/ubl-strings.h b/source/ubl-strings.h
index 8a2518a..6c1bf8f 100644
--- a/source/ubl-strings.h
+++ b/source/ubl-strings.h
@@ -272,6 +272,9 @@
#define SHUTDOWN_MINIMUM_GID_LABEL _("Minimum GID")
#define SHUTDOWN_MAXIMUM_GID_LABEL _("Maximum GID")
+#define SYSTEM_USERS_SHOW_LABEL _("Show system users")
+#define SYSTEM_GROUPS_SHOW_LABEL _("Show system groups")
+
#define DENY_LOGIN_LABEL _("Deny login")
#define BLOCK_LOGIN_LABEL _("Block login with password")
#define UNBOCK_LOGIN_LABEL _("Unblock login with password")
diff --git a/ubl-settings-usergroups-additional-settings.glade b/ubl-settings-usergroups-additional-settings.glade
index f475bcc..3ba31d8 100644
--- a/ubl-settings-usergroups-additional-settings.glade
+++ b/ubl-settings-usergroups-additional-settings.glade
@@ -1,5 +1,5 @@
-
+
@@ -76,8 +76,8 @@
False
Group GID range
-
-
+
+
True
True
False
@@ -90,8 +90,8 @@
False
Group GID in system
-
-
+
+
True
True
False
@@ -176,8 +176,8 @@
False
Users UID range
-
-
+
+
True
True
False
@@ -190,8 +190,8 @@
False
User UID in system
-
-
+
+
True
True
False
@@ -206,27 +206,27 @@