Commit Graph

741 Commits

Author SHA1 Message Date
yfprojects 091c0dcacd
Raise `ValueError` in case of unknown change type in diff json. By @real-yfprojects (#1350)
Currently an assert statement checks whether a change type was recognized.
This assert statement won't give any information on the actual change type that
is not implemented. Now a ValueError that mentiones the unknown change type in
its message will be raised instead.

* src/vorta/views/diff_result.py (parse_diff_json_lines): Replace assert statement by
	if and raise statements.

Co-authored-by: real-yfprojects <real-yfprojects@users.noreply.github.com>
2022-06-07 10:32:58 +04:00
yfprojects 492a3128f8
Fix unlink action when repo combobox is empty. By @real-yfprojects (#1342)
Fixes #1341
2022-05-30 18:46:09 +04:00
tal66 422ca7f418
Show date of next backup. By @tal66 (#1319) 2022-05-29 17:44:17 +04:00
Manuel Riel e0911a61f4
Add older Ubuntu version to tests (#1330) 2022-05-26 08:10:14 +04:00
Manu c5dd5f1970 Bump version to v0.8.6 2022-05-26 07:46:27 +04:00
yfprojects 56e5c5049f
Remove call to `QTranslator.language()` in `get_locale`. (#1316) 2022-05-25 19:42:54 +04:00
Manu e58c83b5c9 Bump version to v0.8.5 2022-05-24 10:04:21 +04:00
Manuel Riel 6f3964c192
Fix macOS Archive settings form sizing (#1311) 2022-05-22 14:36:27 +04:00
yfprojects 4b6d080f05
Fix copying the current repo to the clipboard. By@real-yfprojects (#1313) 2022-05-22 11:32:57 +04:00
yfprojects efe710540a
Determine source files for translations dynamically. By @real-yfprojects (#1309) 2022-05-22 08:02:19 +04:00
Manuel Riel 37850b15a2
Remove leftovers in repo selector (#1308) 2022-05-22 07:52:30 +04:00
yfprojects c797719513
Pause scheduling temporarily on failures. By @real-yfprojects (#1299) 2022-05-22 07:40:46 +04:00
yfprojects 182d3fbe0d
Only schedule backup after a manual run, improve labels. @real-yfprojects (#1302) 2022-05-21 15:06:10 +04:00
yfprojects 03480112e6
Select and delete multiple archives. By @real-yfprojects (#1307) 2022-05-21 14:49:46 +04:00
yfprojects b650ed3eb6
Preserve last creation log per profile for scheduler. By @real-yfprojects (#1296) 2022-05-16 16:00:31 +04:00
yfprojects f76aa5a5f4
Don't schedule if no repo is set. (#1288)
Fixes #1286.
2022-05-08 17:30:48 +04:00
yfprojects a06ba048c1
Hotfix for right-click archive menu. By @real-yfprojects (#1285) 2022-05-07 10:13:48 +04:00
Manu a9170c3b91
Minor: fix macOS build (#1284) 2022-05-06 16:29:17 +04:00
Manu 98443036eb Bump version to v0.8.4 2022-05-06 13:59:48 +04:00
Manu c2e048546f Update translations 2022-05-06 13:59:17 +04:00
yfprojects de1ca052b5
Add support for special file types in `borg diff` output. By @real-yfprojects (#1265)
New item types were introduced to borg with borgbackup/borg#6624.
2022-05-06 11:33:13 +04:00
yfprojects b57414cfc2
Better diff selection without extra dialog. By @real-yfprojects (#1235) 2022-05-05 13:21:54 +04:00
yfprojects add1ac7041
Improve keyring logging. By @real-yfprojects (#1263)
They now log storing and retrieving passwords.
2022-04-20 12:07:01 +04:00
yfprojects 2be9ebb228
Set repo stats to `N/A` after delete or prune. By @real-yfprojects (#1251) 2022-04-20 11:54:27 +04:00
Aeysol 75014a756e
Improve SecretStorage locking behavior. By @Aeysol (#1255) 2022-04-20 08:15:08 +04:00
yfprojects c36ac81d5e
Clarify `enable_background_question` label. By @real-yfprojects (#1262) 2022-04-16 10:41:20 +04:00
yfprojects 6eaed0a8e9
Add a button to mount full repository. By @real-yfprojects (#1257) 2022-04-16 09:30:31 +04:00
yfprojects 1b2d39e8f7
Use fnmatch for exclude patterns. By @real-yfprojects (#1253) 2022-04-09 15:42:42 +04:00
yfprojects 5e94679507
Add logging to `source_tab.py`. By @real-yfprojects (#1254) 2022-04-09 15:34:43 +04:00
yfprojects 94fd8a0edf
Remove extra space in`archivetab.ui`. By @real-yfprojects (#1249) 2022-04-02 09:40:40 +04:00
Delfino Nunez 7ef088de86
Properly set dialog titles. By @delfino-nunez (#1246) 2022-04-02 09:28:05 +04:00
yfprojects a461b06efc
Fix use of `self.tr` for translation. By @real-yfprojects (#1236) 2022-03-28 12:10:25 +04:00
Delfino Nunez 5b8f3a2915
Use accept-new for host keys. By @delfino-nunez (#1238) 2022-03-28 11:59:44 +04:00
Delfino Nunez 9cadcc0e97
Add missing translation marking. By @delfino-nunez (#1240) 2022-03-28 11:22:40 +04:00
yfprojects fb5a24f66d
Improve UX and HIG-conformity. By @real-yfprojects (#1176)
* Remove fullstops in the labels of the settings.

* src/vorta/store/settings.py (get_misc_setting): Remove fullstops in the `label` fields of each setting.

* Fix *Add Profile*-Dialog.

* src/vorta/assets/UI/profileadd.ui (label_2): Rename to `profileExplainer`.

* src/vorta/assets/UI/profileadd.ui (profileExplainer): Remove unnecessary text and rephrase it in simpler terms.

* src/vorta/assets/UI/profileadd.ui (formLayout): Move into frame for better layout in dialog.

* src/vorta/assets/UI/profileadd.ui (Dialog): Make dialog modal.

* src/vorta/assets/UI/profileadd.ui : Modify spacing a bit and change all widgets to `expanding` mode.

* src/vorta/assets/UI/profileadd.ui (Dialog): Set title to `Add Profile`.

* src/vorta/assets/UI/profileadd.ui : Make `label_3` a buddy of `profileNameField`.

* Add colon after entry label in `Add Profile`-Dialog.

* src/vorta/assets/UI/profileadd.ui (label_3): Add colon at the end of label.

* Fix capitalization in schedule tab.

* src/vorta/assets/UI/scheduletab.ui (pruneCheckBox): Replace `Archive` by `archive`.

* Fix tooltips.

Ensure sentence capitalization.
Rephrase some tooltips that do not mention the action they provide a tip for. (There are still many to go.)
Remove fullstop from tooltips that aren't a sentence.
Add fullstop to tooltips that are a sentence.

* src/vorta/assets/UI/archivetab.ui
* src/vorta/assets/UI/mainwindow.ui
* src/vorta/assets/UI/repoadd.ui
* src/vorta/assets/UI/repotab.ui
* src/vorta/assets/UI/sourcetab.ui
* src/vorta/views/export_window.py
* src/vorta/views/import_window.py
* src/vorta/views/source_tab.py

* Replace `n't` by `not` in GUI strings.

* src/vorta/application.py
* src/vorta/assets/UI/repotab.ui
* src/vorta/assets/UI/scheduletab.ui
* src/vorta/assets/UI/sshadd.ui
* src/vorta/notifications.py
* src/vorta/views/main_window.py
* src/vorta/views/main_window.py
* src/vorta/views/repo_tab.py

* Shorten unlink button tooltip.

* src/vorta/assets/UI/repotab.ui (repoRemoveToolbutton): Shorten tooltip by only keeping the most valuable information needed to understand the feature.

* Fix entry being embedded in label text.

Sentences should not be constructed from text in several controls.
Sentences that run from one control to another will often not make sense when translated into other languages.

* src/vorta/assets/UI/archivetab.ui
* src/vorta/assets/UI/scheduletab.ui

* Rewrite tooltips to make them HIG conform.

The KDE HIG was used.

* src/vorta/assets/UI/exportwindow.ui
* src/vorta/assets/UI/importwindow.ui
* src/vorta/assets/UI/mainwindow.ui
* src/vorta/assets/UI/repoadd.ui
* src/vorta/assets/UI/repotab.ui
* src/vorta/assets/UI/sourcetab.ui
* src/vorta/views/export_window.py

* src/vorta/views/import_window.py (ImportWindow.init_overwrite_profile_checkbox): Make tooltip static as the HIG suggests.

* src/vorta/views/main_window.py

* Replace `...` with unicode ellipses `…` (U+2028) in GUI text.

* src/vorta/borg/break_lock.py
* src/vorta/borg/check.py
* src/vorta/borg/create.py
* src/vorta/borg/delete.py
* src/vorta/borg/diff.py
* src/vorta/borg/extract.py
* src/vorta/borg/info_archive.py
* src/vorta/borg/info_repo.py
* src/vorta/borg/init.py
* src/vorta/borg/list_archive.py
* src/vorta/borg/list_archive.py
* src/vorta/borg/list_repo.py

* Clean prune tab in `archivetab.ui`.

* src/vorta/assets/UI/archivetab.ui

* Prettify `repotab`.

* src/vorta/assets/UI/repotab.ui

* Fix tooltips for pruning in `archivetab.ui`.

* src/vorta/assets/UI/archivetab.ui

* Use affirmative phrase in checkbox for metered networks.

* src/vorta/assets/UI/scheduletab.ui (dontRunOnMeteredNetworksCheckbox): Rename to `meteredNetworksCheckBox`.

* src/vorta/assets/UI/scheduletab.ui (meteredNetworksCheckBox): Change text into affirmative phrase.

* src/vorta/views/schedule_tab.py : Invert values for `meteredNetworksCheckBox`.

* Add label in shell commands pane in `scheduletab` and fix placeholders.

Placeholders shouldn't be a replacement for a label.

* src/vorta/assets/UI/scheduletab.ui

* Group settings widgets in `misctab`.

* src/vorta/assets/UI/misctab.ui (checkboxLayout): Replace with frame `frameSettings` containing a form layout.

* src/vorta/utils.py (search): Added. Searches for a key inside an iterable
	applying a given function before comparison.

* src/vorta/store/models.py (SettingsModel): Add field `group` to assign settings to a group.

* src/vorta/store/migrations.py (run_migrations): Add new schema version `19` and
	implement migration adding the `group` field.

* src/vorta/store/connection.py (SCHEMA_VERSION): Update to `19`.

* src/vorta/store/settings.py (get_misc_settings): Add and assign settings groups.

* src/vorta/store/connection.py (init_db): Update group and type of settings if needed.

* src/vorta/views/misc_tab.py (Imports): Import `search` from `..utils`.

* src/vorta/views/misc_tab.py : Instanciate logger.

* src/vorta/views/misc_tab.py (MiscTab.__init__): Create a checkboxLayout for `frameSettings`.

* src/vorta/views/misc_tab.py (populate): Add settings widgets in groups with labels in spacer in between.

* Fix tests for `misctab`.

* tests/test_misc.py

* Fix margins.

* src/vorta/assets/UI/archivetab.ui
* src/vorta/assets/UI/misctab.ui
* src/vorta/assets/UI/repotab.ui
* src/vorta/assets/UI/scheduletab.ui
* src/vorta/assets/UI/sourcetab.ui

* Morph buttons in `sourcetab` into toolbuttons with icons.

Adds gradient buttons along the way. Fixes #933.

* src/vorta/assets/UI/sourcetab.ui : Change layout and buttons.
	Merge buttons with adding capabilities into one toolbutton (with menu).

* src/vorta/assets/UI/sourcetab.ui : Rename `sourceRemove` to `removeButton`.
	Rename `sourceUpdate` to `updateButton`.
	Add `addButton`.

* src/vorta/assets/icons/minus.svg : Add minus sign icon from *fontawesome* v6.0.

* src/vorta/views/source_tab.py (SourceTab.set_icons): Added.

* src/vorta/views/source_tab.py (SourceTab.__init__): Create Menu for the `addButton` with
	actions to add files and folders and to paste.

* src/vorta/application.py (VortaApp.eventFilter): Call `set_icons` of `sourceTab` as well.

* Fix tests for `sourcetab`.

* tests/test_source.py

* Add paste icon to paste action in `sourcetab`.

* src/vorta/assets/icons/paste.svg : Added from fontawesome (paste-solid, v6.0)

* src/vorta/views/source_tab.py (SourceTab.__init__): Save paste action in `pasteAction`.

* src/vorta/views/source_tab.py (SourceTab.set_icons): Set icon for `pasteAction`.

* Add icons to open actions in `sourcetab`.

* src/vorta/assets/icons/file.svg : Added `file-solid` from fontawesome, v6.0

* src/vorta/assets/icons/folder.svg : Added `folder-solid` from fontawesome, v6.0

* src/vorta/views/source_tab.py (SourceTab.__init__): Save files and folders action
	to `addFilesAction` and `addFoldersAction`.

* src/vorta/views/source_tab.py (SourceTab.set_icons): Set icons for `addFilesAction` and `addFolderAction`.

* Fix icon size of `file.svg`.

* src/vorta/assets/icons/file.svg

* Set fill of added svgs to `#000000`.

* src/vorta/assets/icons/file.svg
* src/vorta/assets/icons/folder.svg
* src/vorta/assets/icons/minus.svg
* src/vorta/assets/icons/paste.svg

* Improve UX and consistency within the app for `scheduletab`.

* src/vorta/assets/UI/scheduletab.ui : Arrange schedule pane in a form layout.

* src/vorta/views/schedule_tab.py (ScheduleTab.__init__): Connect enabled state of entries
	to radiobuttons and checkboxes.

* Workaround scheduletab tests being broken in github actions.

For some unknown reason clicking the `scheduleFixedRadio` won't work
when running using github action on ubuntu.

* tests/test_schedule.py

* Fix labels and spacing in `scheduletab`.

* src/vorta/assets/UI/scheduletab.ui

* Make archive operations more accessible and rename actions of `ArchiveTab`.

* src/vorta/views/archive_tab.py (ArchiveTab): Rename `list_action` to `refresh_archive_list`.
	Rename `refresh_archive_action` to `refresh_archive_info`.
	Rename `refresh_archive_result` to `info_result`.
	Rename `list_archive_action` to `extract_action`.
	Rename `list_archive_result` to `extract_list_result`.

* src/vorta/views/main_window.py : Apply renaming.

* src/vorta/assets/UI/archivetab.ui : Create own buttons for the archive actions.
	Remove `archiveActionButton`. And some other layout changes.

* src/vorta/assets/UI/archivetab.ui : Rename `pruneButton` to `bPrune`.
	Rename `checkButton` to `bCheck`.
	Rename `diffButton` to `bDiff`.
	Rename `listButton` to `bList`.

* tests/test_archives.py : Apply renaming.

* src/vorta/views/archive_tab.py : Connect new action buttons.

* src/vorta/views/archive_tab.py : Remove `archiveActionButton`.

* tests/test_archives.py : Fix tests.

* Enable and disable archive actions depending on selection.

* src/vorta/assets/UI/archivetab.ui : Put archive actions into a frame.

* src/vorta/views/archive_tab.py (ArchiveTab): Added `on_selection_change` that
	enables/disables the frame depending on the selection count.

* src/vorta/views/archive_tab.py (ArchiveTab.populate_from_profile): Clear selection.

* src/vorta/views/archive_tab.py (ArchiveTab.__toggle_all_buttons): Add `fArchiveActions`.
	Call `on_selection_change` at the end.

* Fix tests for `archivetab`.

* tests/test_archives.py

* Replace line by spacer in repotab.

* src/vorta/assets/UI/repotab.ui

* Show labels for archive action buttons.

* src/vorta/assets/UI/archivetab.ui

* Add tooltips and ellipses to archivetab.

* src/vorta/assets/UI/archivetab.ui
* src/vorta/views/archive_tab.py

* Fix tooltips.

* src/vorta/assets/UI/sourcetab.ui : Add tooltips.

* src/vorta/views/archive_tab.py (ArchiveTab.on_selection_change): Add reason for disabled state dynamically to archive action buttons.

* Add context menu to source view.

* src/vorta/views/source_tab.py (SourceTab): Implement `sourceitem_contextmenu` and `source_copy`.
	Set context menu policiy of `sourceFilesWidget` to `CustomContextMenu`.

* src/vorta/assets/UI/sourcetab.ui: Change size hints.

* Add context menu to archive view.

* src/vorta/views/archive_tab.py (ArchiveTab): Set context menu policy of `archiveTable` to `CustomContextMenu`.
	Implement `archiveitem_contextmenu`.

* Replace `Type` column in sources view by icon.

* src/vorta/views/source_tab.py (SourceColumn): Remove `Type` column.

* src/vorta/views/source_tab.py (SourceTab.set_icons): Set icon for each item in source view.

* src/vorta/views/source_tab.py (SourceTab.set_path_info): Set icon instead of `Type` column.

* src/vorta/assets/UI/sourcetab.ui : Remove `Type` column.

* Fix initial sort indicator of source view.

* src/vorta/views/source_tab.py

* Fix adding items while sorting enabled.

* src/vorta/views/source_tab.py

* Remove status bar and remove fix size hint for log text label.

* src/vorta/assets/UI/mainwindow.ui

* src/vorta/views/main_window.py (MainWindow.__init__): Set minimum height of `logText` to
	two times the height of a line calculated by `QFontMetrics`.

* Resize main window height to `670`.

* src/vorta/assets/UI/mainwindow.ui

* Replace `QToolbutton` by `QPushbutton`.

* src/vorta/assets/UI/archivetab.ui
* src/vorta/assets/UI/repotab.ui
* src/vorta/assets/UI/sourcetab.ui
* src/vorta/views/source_tab.py

* Fix flake8

* Improve label of entry for `borg create` extra arguments.

* src/vorta/assets/UI/scheduletab.ui

* Unify label font size in `repotab`.

* src/vorta/assets/UI/repotab.ui

* Morph `QPushButton`s into `QToolButton`s.

Some exceptions were made, especially in the dialog windows.

* src/vorta/assets/UI/archivetab.ui
* src/vorta/assets/UI/mainwindow.ui
* src/vorta/assets/UI/repotab.ui
* src/vorta/assets/UI/sourcetab.ui

* Add copy capabilities to archive view and a copy shortcut to it and to source tab.

* src/vorta/views/source_tab.py (SourceTab): Add QShortcut for copying.

* src/vorta/views/archive_tab.py (ArchiveTab.archiveitem_contextmenu): Add copy action.

* src/vorta/views/archive_tab.py (ArchiveTab): Add QShortcut for copying.

* Move actions in comboBoxes to buttons.

* src/vorta/assets/UI/repotab.ui : Add `bAddSSHKey` and `bAddRepo`.

* src/vorta/views/repo_tab.py : Move code out of `ssh_select_action` and `repo_select_action` into `add_existing_repo`, `new_repo` and `create_ssh_key`.

* src/vorta/views/repo_tab.py

* Make tooltip of `storePassword` checkbox more fluent.

* src/vorta/assets/UI/exportwindow.ui

* Introduce `QDialogButtonBox` to modal dialogs in vorta.

* src/vorta/assets/UI/extractdialog.ui
* src/vorta/views/extract_dialog.py

* src/vorta/assets/UI/repoadd.ui
* src/vorta/views/repo_add_dialog.py

* src/vorta/assets/UI/sshadd.ui
* src/vorta/views/ssh_dialog.py

* Move some options in scheduletab to the side.

This results in two columns of options and fixes vertical scrolling.

* src/vorta/assets/UI/scheduletab.ui

* Changes for macOS layout

* Set `sizeAdjustPolicy` of comboBoxes to `AdustToContents`.

* src/vorta/assets/UI/mainwindow.ui

* src/vorta/assets/UI/repotab.ui

* Fix some icons, translations strings and link

* Lint

Co-authored-by: real-yfprojects <real-yfprojects@users.noreply.github.com>
Co-authored-by: Manu <3916435+m3nu@users.noreply.github.com>
Co-authored-by: Manu <manu@snapdragon.cc>
2022-03-24 10:27:07 +04:00
yfprojects 0c2fabd28c
Fix setting a timer value too large for C++ int. (#1230)
Fixes #1227. Set timer only if value is smaller than `2**31-1` = 2147483647 else do nothing. Every 15 min vorta will trigger a reschedule.
2022-03-23 10:14:18 +04:00
Delfino Nunez 0a78bd5342
Add missing translate strings. By @delfino-nunez (#1229) 2022-03-22 12:16:45 +04:00
yfprojects 8126f4e696
Change keyring label to improve UX on Gnome. By @real-yfprojects (#1181) 2022-03-06 13:14:28 +04:00
Manu c4cd054033
Support new `borg compact` command (#1205) 2022-02-21 21:23:56 +04:00
yfprojects 4bbd091c59
Rewrite scheduler logic. By @real-yfprojects (#1204)
The scheduler now will react to a new fixed time also if 24h haven't passed yet.
All in all the code is supposed to be cleaner and easier understandable.
The logging was slightly modified.
2022-02-20 10:04:12 +04:00
yfprojects aacf438455
Add reasonable, default ignores to flake8. (#1197) 2022-02-14 20:57:14 +04:00
yfprojects de971d6cd3
Update next backup time label. By @real-yfprojects (#1180) 2022-02-09 14:55:26 +04:00
yfprojects da766c5172
Change default returncode for log. By @real-yfprojects (#1193) 2022-02-06 15:21:17 +04:00
Manu 3b87419431
Bump Borg version, remove PyQt pinning (#1195) 2022-02-06 15:07:41 +04:00
Daniele Basso 103634f075
Avoid reinstalling Py3.9 in macOS build workflow (#1194) 2022-02-06 13:21:50 +04:00
Manu f4a85e82c4
Bump macOS updater to Sparkle 2.0 (#1186) 2022-01-27 10:56:10 +04:00
Manu 4a3d994f92 Bump version to v0.8.3 2022-01-27 08:15:28 +04:00
Manu 1c21c3c44f
Upgrade llfuse for Flatpak (#1179) 2022-01-26 18:42:31 +04:00
Manu 4d399fe2ab
Remove unnecessary qtbot.wait (#1172) 2022-01-24 17:05:57 +04:00
yfprojects 23c47673c0
Distinguish different errors in case `borg check` failed. By @real-yfprojects (#1163) 2022-01-09 14:39:39 +04:00