This commit is contained in:
Bullet64 2022-05-10 18:05:39 +02:00
parent 7c85258345
commit dd9d9dcad1
10 changed files with 260 additions and 72 deletions

View file

@ -4,8 +4,8 @@ verify_ssl = true
name = "pypi"
[packages]
PyQt6 = "*"
pyqt6 = "*"
cryptography = "*"
[dev-packages]

145
Pipfile.lock generated
View file

@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
"sha256": "179e6e90d942f04e990c969f7c317b02b4b505ca5af65ad3f71e9aa123c6f020"
"sha256": "1d43066ce7dcfe022ac77f08efcc8199e0c55b6f31b87d8a1f0d063f9a46641a"
},
"pipfile-spec": 6,
"requires": {
@ -16,45 +16,132 @@
]
},
"default": {
"pyqt6": {
"cffi": {
"hashes": [
"sha256:11c039b07962b29246de2da0912f4f663786185fd74d48daac7a270a43c8d92a",
"sha256:577334c9d4518022a4cb6f9799dfbd1b996167eb31404b5a63d6c43d603e6418",
"sha256:8a2f357b86fec8598f52f16d5f93416931017ca1986d5f68679c9565bfc21fff",
"sha256:a9bfcac198fe4b703706f809bb686c7cef5f60a7c802fc145c6b57929c7a6a34"
"sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3",
"sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2",
"sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636",
"sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20",
"sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728",
"sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27",
"sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66",
"sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443",
"sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0",
"sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7",
"sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39",
"sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605",
"sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a",
"sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37",
"sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029",
"sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139",
"sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc",
"sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df",
"sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14",
"sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880",
"sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2",
"sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a",
"sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e",
"sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474",
"sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024",
"sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8",
"sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0",
"sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e",
"sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a",
"sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e",
"sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032",
"sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6",
"sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e",
"sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b",
"sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e",
"sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954",
"sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962",
"sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c",
"sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4",
"sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55",
"sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962",
"sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023",
"sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c",
"sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6",
"sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8",
"sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382",
"sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7",
"sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc",
"sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997",
"sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796"
],
"version": "==1.15.0"
},
"cryptography": {
"hashes": [
"sha256:06bfafa6e53ccbfb7a94be4687b211a025ce0625e3f3c60bb15cd048a18f3ed8",
"sha256:0db5cf21bd7d092baacb576482b0245102cea2d3cf09f09271ce9f69624ecb6f",
"sha256:125702572be12bcd318e3a14e9e70acd4be69a43664a75f0397e8650fe3c6cc3",
"sha256:1858eff6246bb8bbc080eee78f3dd1528739e3f416cba5f9914e8631b8df9871",
"sha256:315af6268de72bcfa0bb3401350ce7d921f216e6b60de12a363dad128d9d459f",
"sha256:451aaff8b8adf2dd0597cbb1fdcfc8a7d580f33f843b7cce75307a7f20112dd8",
"sha256:58021d6e9b1d88b1105269d0da5e60e778b37dfc0e824efc71343dd003726831",
"sha256:618391152147a1221c87b1b0b7f792cafcfd4b5a685c5c72eeea2ddd29aeceff",
"sha256:6d4daf890e674d191757d8d7d60dc3a29c58c72c7a76a05f1c0a326013f47e8b",
"sha256:74b55f67f4cf026cb84da7a1b04fc2a1d260193d4ad0ea5e9897c8b74c1e76ac",
"sha256:7ceae26f876aabe193b13a0c36d1bb8e3e7e608d17351861b437bd882f617e9f",
"sha256:930b829e8a2abaf43a19f38277ae3c5e1ffcf547b936a927d2587769ae52c296",
"sha256:a18ff4bfa9d64914a84d7b06c46eb86e0cc03113470b3c111255aceb6dcaf81d",
"sha256:ae1cd29fbe6b716855454e44f4bf743465152e15d2d317303fe3b58ee9e5af7a",
"sha256:b1ee5c82cf03b30f6ae4e32d2bcb1e167ef74d6071cbb77c2af30f101d0b360b",
"sha256:bf585476fcbcd37bed08072e8e2db3954ce1bfc68087a2dc9c19cfe0b90979ca",
"sha256:c4a58eeafbd7409054be41a377e726a7904a17c26f45abf18125d21b1215b08b",
"sha256:cce90609e01e1b192fae9e13665058ab46b2ea53a3c05a3ea74a3eb8c3af8857",
"sha256:d610d0ee14dd9109006215c7c0de15eee91230b70a9bce2263461cf7c3720b83",
"sha256:e69a0e36e62279120e648e787b76d79b41e0f9e86c1c636a4f38d415595c722e",
"sha256:f095988548ec5095e3750cdb30e6962273d239b1998ba1aac66c0d5bee7111c1",
"sha256:faf0f5456c059c7b1c29441bdd5e988f0ba75bdc3eea776520d8dcb1e30e1b5c"
],
"index": "pypi",
"version": "==6.2.3"
"version": "==37.0.1"
},
"pycparser": {
"hashes": [
"sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9",
"sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"
],
"version": "==2.21"
},
"pyqt6": {
"hashes": [
"sha256:20dec18471d3e574e37411618725dc2901443a781f5c6d974b041413141f33e4",
"sha256:4fd85dcb15ea4e734b6e4e216fe9a6246779761edaf2cf7c0cce1a2303a8d31b",
"sha256:e193f8714ff21cb13fe4a6148b963893ff9ff738676fc9c853333259b9b64425",
"sha256:ff4244507d1ff54fffa27cdaf4d4df90e4252fd1843ba28d2f32a4c79c3ece4e"
],
"index": "pypi",
"version": "==6.3.0"
},
"pyqt6-qt6": {
"hashes": [
"sha256:02c1f02c04cfac8affb66fc56cbf1d033fb36efee98dd40ba59e60c816018302",
"sha256:6c7fa27a71eb0da81f39ec7a8e2c298d5e2dfecbc923875dcc932478b3c50ef3",
"sha256:7d6f37204714bf3a6686f4d32bddd8b13d7e1adec3039cd2d27901bb827d7610",
"sha256:bdf799911f004f904b00b9424e590cdb9138e7fc687d036c73c458e4c6c2efbd"
"sha256:0782dc4da4933755182724290b43f52441b1b90c377ee7e6a1b625bb91c09a10",
"sha256:7f94dcf6f60e3e395083d87e49f14ccc194cd45d73f301ade39bc6adfdfc765f",
"sha256:bef30ad651fa5fbc4a5d157862108c6ea270e636cc98b1eafdb93f5c7fef7eff",
"sha256:e87d192d20c5789aa1271025831881dde071a357a1956c808fb5e1b4603ec832"
],
"version": "==6.2.3"
"version": "==6.3.0"
},
"pyqt6-sip": {
"hashes": [
"sha256:0314d011633bc697e99f3f9897b484720e81a5f4ba0eaa5f05c5811e2e74ea53",
"sha256:082a80264699d4e2e919a7de8b6662886a353863d2b30a0047fe73d42e65c98e",
"sha256:0a49f2d0bb49bc9d72665d62fb5ab6549c72dcf49e1e52dc2046edb8832a17a3",
"sha256:0ede42e84a79871022e1a8e4d5c05f70821b2795910c4cd103e863ce62bc8d68",
"sha256:226e9e349aa16dc1132f106ca01fa99cf7cb8e59daee29304c2fea5fa33212ec",
"sha256:43afd9c9fdbc5f6ed2e22cae0752a8b8d9545c6d85f314bd27b861e21d4a97fe",
"sha256:4b119a8fd880ece15a5bdff583edccd89dbc79d49de2e11cbbd6bba72713d1f3",
"sha256:616b6bad827e9c6e7ce5179883ca0f44110a42dcb045344aa28a495c05e19795",
"sha256:65f5aee6195bd0e785bd74f75ee080a5d5fb840c03210956e4ccbdde481b487c",
"sha256:8b52d42e42e6e9f934ac7528cd154ac0210a532bb33fa1edfb4a8bbfb73ff88b",
"sha256:a3d53fab72f959b45aeb954124255b585ff8d497a514a2582e0afd808fc2f3da",
"sha256:b0d92f4a21706b18ab80c088cded94cd64d32a0c48e1729a4cc53fe5ab93cc1a",
"sha256:b7bce59900b2e0a04f70246de2ccf79ee7933036b6b9183cf039b62eeae2b858",
"sha256:c456d5ccc4478254052082e298db01bb9d0495471c1659046697bb5dc9d2506c",
"sha256:e2e6a3972169891dbc33d806f50ebf17eaa47a487ff6e4910fe2485c47cb6c2b",
"sha256:f4226d4ab239d8655f94c42b397f23e6e85b246f614ff81162ef9321e47f7619"
"sha256:0f4d7a0dd9c610ab0b2e7b46cfa45eeecd72a50f9d2a82a883d4fc2a0eabe216",
"sha256:10e54200c619276f4e79c615b0d2f1f612a8b4fe443c119869de62546e0f9f2f",
"sha256:33c4a39e9fce8448d0abb79f80ecf35b8420ec76fa90b056173ce69a8a2ae769",
"sha256:3bffad016f115a003f290bf8e92d2fd38d6b3c832946e7ee98aa9ecc20c431ba",
"sha256:45f23a3de6290ab311d827a371e82c09cd3203d57c74e8aa739280feb0960f80",
"sha256:77edc790f8bae29729103b378ccd29beba402bcdde5c584bd4aebbf8c8a75caa",
"sha256:7c26dcba7deebb3d001079eda84be911bac55520b5e7b7113fac1859d850b566",
"sha256:98c53675a4fb2507126ff2ea3ec03872d6e59624d45e6ad95053f74002be121f",
"sha256:b94dc4ecda4b6a011cdb5fdff0eae27567d30c30bc884c78394b76e02eb3df7a",
"sha256:b9506e2ddb126541457db939311432a63d0affc83bf86ff902d1664c7c167db6",
"sha256:d629c0e39d5ccfdae567b92ba74d92f9180b7c55535f82251f1a12a9076a9e01",
"sha256:ef89555ad34ca8b8f6d2e3ccacd4edacebef781404254c2cb17ba1c60cdc57c2",
"sha256:f17c15665a4007cdf167eaeb133408b8e3409203303199a00068da63ea4c41a3"
],
"version": "==13.2.1"
"version": "==13.3.1"
}
},
"develop": {}

25
locales/base.pot Normal file
View file

@ -0,0 +1,25 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2022-04-26 17:11+0200\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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
#: /home/frank/restic_ui/src/restic_ui.py:130
msgid "This is a translatable string."
msgstr ""
#: /home/frank/restic_ui/src/restic_ui.py:4118
msgid "Restic version"
msgstr ""

Binary file not shown.

View file

@ -0,0 +1,24 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2022-04-26 16:52+0200\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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
#: /home/frank/restic_ui/src/restic_ui.py:127
msgid "This is a translatable string."
msgstr "TESTING"
#: /home/frank/restic_ui/src/restic_ui.py:4109
msgid "Restic version"
msgstr "Anzeige der Restic version"

Binary file not shown.

View file

@ -0,0 +1,24 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR ORGANIZATION
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2022-04-26 16:52+0200\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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
#: /home/frank/restic_ui/src/restic_ui.py:127
msgid "This is a translatable string."
msgstr "TESTING EN"
#: /home/frank/restic_ui/src/restic_ui.py:4109
msgid "Restic version"
msgstr "Restic Version"

BIN
qt_de.qm Normal file

Binary file not shown.

View file

@ -23,7 +23,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,exit
# MA 02110-1301, USA.
#
# ==========================================================================
@ -84,7 +84,7 @@ from PyQt6.QtCore import (
from PyQt6 import QtCore
from PyQt6.QtCore import QLocale, QTranslator, QLibraryInfo
from PyQt6.QtCore import QLocale
# ------ import functions ------ #
from functions import (
@ -106,6 +106,36 @@ print(sys.version)
print(sys.path)
###############################################
# Localisation **TEST**
###############################################
# language ermitteln und ausgeben
locale = QLocale.system().name()
print(locale)
# gettext nutzen
# https://phrase.com/blog/posts/translate-python-gnu-gettext/
import gettext
LANGUAGE = "EN"
if LANGUAGE == "DE":
# load german translation
de = gettext.translation('base', localedir='/home/frank/restic_ui/locales', languages=['de'])
de.install()
_ = de.gettext # German
# ...
print(_('This is a translatable string.'))
else:
# load english translation
en = gettext.translation('base', localedir='/home/frank/restic_ui/locales', languages=['en'])
en.install()
_ = en.gettext # English
###############################################
# Check for restic
###############################################
@ -229,9 +259,9 @@ class Worker(QObject):
text=True)
result.check_returncode()
except Exception:
except subprocess.CalledProcessError as e:
# Process don't successful, send signal
self.stats_error.emit(result.stderr)
self.stats_error.emit(e.stderr)
else:
# Process successful, send signal
self.stats_finished.emit(result.stdout)
@ -426,9 +456,9 @@ class Worker2(QObject):
result.check_returncode()
except Exception:
except subprocess.CalledProcessError as e:
# Process don't successful, send signal
self.backup_error.emit(result.stderr)
self.backup_error.emit(e.stderr)
ini.logging.error(f" {backup_data[row].name}: Backup job failed")
else:
# Process successful, send signal
@ -475,7 +505,6 @@ class Worker3(QObject):
check=True,
capture_output=True,
text=True)
result.check_returncode()
# Delete the variable from the input
del pass_word.pw
@ -492,7 +521,8 @@ class Worker3(QObject):
check=True,
capture_output=True,
text=True)
result.check_returncode()
else:
if not backup_data[row].password:
@ -511,7 +541,6 @@ class Worker3(QObject):
check=True,
capture_output=True,
text=True)
result.check_returncode()
# Delete the variable from the input
del pass_word.pw
@ -532,11 +561,12 @@ class Worker3(QObject):
check=True,
capture_output=True,
text=True)
result.check_returncode()
except Exception:
except subprocess.CalledProcessError as e:
# Process don't successful, send signal
self.snapshots_error.emit(result.stderr)
self.snapshots_error.emit(e.stderr)
else:
# Process successful, send signal
SnapshotID.id_append(self, result.stdout)
@ -642,9 +672,9 @@ class Worker4(QObject):
text=True)
result.check_returncode()
except Exception:
except subprocess.CalledProcessError as e:
# Process don't successful, send signal
self.ls2_error.emit(result.stderr)
self.ls2_error.emit(e.stderr)
else:
output = []
output = result.stdout
@ -748,9 +778,9 @@ class Worker5(QObject):
text=True)
result.check_returncode()
except Exception:
except subprocess.CalledProcessError as e:
# Process don't successful, send signal
self.init_error.emit(result.stderr)
self.init_error.emit(e.stderr)
ini.logging.error(f" {backup_data[row].name}: Init job failed")
else:
# Normal operation if no error
@ -916,11 +946,10 @@ class Worker6(QObject):
check=True,
capture_output=True,
text=True)
result.check_returncode()
except Exception:
except subprocess.CalledProcessError as e:
# Process don't successful, send signal
self.prune_error.emit(result.stderr)
self.prune_error.emit(e.stderr)
ini.logging.error(f" {backup_data[row].name}: Prune job failed")
else:
@ -1034,9 +1063,9 @@ class Worker7(QObject):
text=True)
result.check_returncode()
except Exception:
except subprocess.CalledProcessError as e:
# Process don't successful, send signal
self.check_error.emit(result.stderr)
self.check_error.emit(e.stderr)
else:
# Normal operation if no error
@ -1137,9 +1166,9 @@ class Worker8(QObject):
text=True)
result.check_returncode()
except Exception:
except subprocess.CalledProcessError as e:
# Process don't successful, send signal
self.unlock_error.emit("Fehler")
self.unlock_error.emit(e.stderr)
else:
# Normal operation if no error
@ -1249,9 +1278,9 @@ class Worker9(QObject):
text=True)
result.check_returncode()
except Exception:
except subprocess.CalledProcessError as e:
# Process don't successful, send signal
self.restore_error.emit(result.stderr)
self.restore_error.emit(e.stderr)
else:
# Normal operation if no error
@ -1505,9 +1534,10 @@ class Worker11(QObject):
text=True)
result.check_returncode()
except Exception:
except subprocess.CalledProcessError as e:
# Process don't successful, send signal
self.cache_error.emit("Fehler")
self.cache_error.emit(e.stderr)
else:
# Normal operation if no error
@ -3101,12 +3131,12 @@ class MainWindow(QMainWindow):
self.addToolBar(toolbar)
toolbar_start_backup = QAction(QIcon.fromTheme("media-playback-start", QIcon(
ini.CWD + "./icons/media-playback-start")), "Start BACKUP", self)
ini.USERHOME + "/restic_ui/icons/media-playback-start")), "Start BACKUP", self)
toolbar_start_backup.triggered.connect(self.restic_backup)
toolbar.addAction(toolbar_start_backup)
toolbar_load_JSON = QAction(QIcon.fromTheme('reload', QIcon(
ini.CWD + "./icons/reload")), "Reload JSON", self)
ini.USERHOME + "/restic_ui/icons/reload")), "Reload JSON", self)
toolbar_load_JSON.triggered.connect(BackupList.load_json)
toolbar.addAction(toolbar_load_JSON)
@ -3123,32 +3153,32 @@ class MainWindow(QMainWindow):
# ----Help Menu ---- #
about_button = QAction(QIcon.fromTheme(
'help-info', QIcon(ini.CWD + "./icons/help-info")), 'About Restic UI', self)
'help-info', QIcon(ini.USERHOME + "/restic_ui/icons/help-info")), 'About Restic UI', self)
about_button.setShortcut('Ctrl+A')
about_button.triggered.connect(self.button_about)
help_menu.addAction(about_button)
# ----JSON Menu ---- #
load_JSON = QAction(QIcon.fromTheme('reload', QIcon(
ini.CWD + "./icons/reload")), 'Load File', self)
ini.USERHOME + "/restic_ui/icons/reload")), 'Load File', self)
load_JSON.triggered.connect(BackupList.load_json)
load_JSON.setShortcut('Ctrl+L')
file_menu.addAction(load_JSON)
add_JSON = QAction(QIcon.fromTheme('add', QIcon(
ini.CWD + "./icons/add")), 'Add Backup', self)
ini.USERHOME + "/restic_ui/icons/add")), 'Add Backup', self)
add_JSON.triggered.connect(self.show_new_window)
add_JSON.setShortcut('Ctrl+A')
file_menu.addAction(add_JSON)
self.edit_JSON = QAction(QIcon.fromTheme('edit', QIcon(
ini.CWD + "./icons/edit")), 'Edit Backup', self)
ini.USERHOME + "/restic_ui/icons/edit")), 'Edit Backup', self)
self.edit_JSON.triggered.connect(self.fill_triggered)
self.edit_JSON.setShortcut('Ctrl+E')
file_menu.addAction(self.edit_JSON)
del_JSON = QAction(QIcon.fromTheme(
'edit-delete', QIcon(ini.CWD + "./icons/delete")), 'Delete Backup', self)
'edit-delete', QIcon(ini.USERHOME + "/restic_ui/icons/delete")), 'Delete Backup', self)
del_JSON.triggered.connect(self.del_entry)
del_JSON.setShortcut('Del')
file_menu.addAction(del_JSON)
@ -3156,7 +3186,7 @@ class MainWindow(QMainWindow):
file_menu.addSeparator()
exit = QAction(QIcon.fromTheme('exit', QIcon(
ini.CWD + "./icons/exit")), 'Exit', self)
ini.USERHOME + "/restic_ui/icons/exit")), 'Exit', self)
exit.triggered.connect(self.close_event)
exit.setShortcut('Ctrl+X')
file_menu.addAction(exit)
@ -3634,7 +3664,6 @@ class MainWindow(QMainWindow):
self.thread10.quit()
###############################################
# Process for restic_cache is finished
###############################################
@ -3958,7 +3987,7 @@ class MainWindow(QMainWindow):
# inform user
retval = msg_box_yes_no(
"Please wait until the process is finished!", "Runtime Note", self)
#print(retval)
# print(retval)
if retval != 16384:
self.statusBar().showMessage("")
return False
@ -4004,7 +4033,7 @@ class MainWindow(QMainWindow):
# inform user
retval = msg_box_yes_no(
"Please wait until the process is finished!", "Runtime Note", self)
#print(retval)
# print(retval)
if retval != 16384:
self.statusBar().showMessage("")
return False
@ -4086,7 +4115,7 @@ class MainWindow(QMainWindow):
except Exception:
msg_box_error(self, process.stderr)
self.statusBar().showMessage("Restic version")
self.statusBar().showMessage(_("Restic version"))
###############################################
# PRUNE
@ -4593,5 +4622,4 @@ if __name__ == "__main__":
mainWin = MainWindow()
mainWin.show()
spinner = QtWaitingSpinner(mainWin, True, True, Qt.WindowModality.ApplicationModal)
app.exec()

View file

@ -474,10 +474,10 @@ class SettingsWindow(QWidget):
self.button_save_restic_presets.setEnabled(False)
# Here we read state from 'status_crypt'
#print("Status", type(ini.settings.value("Crypt")))
# print("Status", type(ini.settings.value("Crypt")))
# Start
#print("TYPE", type(ini.settings.value("Crypt")))
# print("TYPE", type(ini.settings.value("Crypt")))
if int(ini.settings.value("Crypt")) == 0:
self.pushbutton_create_key.setEnabled(True)
self.pushbutton_reset_encryption.setEnabled(False)