Commit Graph

92 Commits

Author SHA1 Message Date
Manu b6a24debb7 Apply automatic formatting 2022-08-15 15:23:55 +02:00
yfprojects 8a94457b8d
Add spaces after `assert` and enhance git py diff. By @real-yfprojects (#1385) 2022-08-13 20:21:16 +02:00
real-yfprojects 71af54f59b
Use new treemodel for extract dialog.
* src/vorta/views/extract_dialog.py: Add `ParseThread`, `ExtractTree` and `parse_json_lines`.

* src/vorta/views/extract_dialog.py (ExtractTree.__init__): Adjust signature.

* src/vorta/borg/list_archive.py (BorgListArchiveJob.prepare): Adjust format to
	include additional attributes.

* src/vorta/views/archive_tab.py (ArchiveTab): Parse extract data using `ParseThread` and
	open `ExtractDialog` afterwards.

* tests/test_archives.py (test_archive_extract): Update tests.

* src/vorta/borg/extract.py (BorgExtractJob.prepare): Adjust signature.
	Handling of the data isn't implemented yet.

* tests/test_extract.py
2022-07-25 16:15:45 +02:00
real-yfprojects 7003d69577
Update `diffresult.ui` with new features and prettyfy it.
* src/vorta/assets/UI/diffresult.ui : Replace `okButton` with `QDialogButtonBox`
	that has a `close` button.

* src/vorta/views/diff_result.py : Connect `buttonBox` instead of `okButton` to Dialog.

* src/vorta/assets/UI/diffresult.ui : Add title to `DiffResult` dialog and simplify file name display.

* src/vorta/assets/UI/diffresult.ui : Add comboBox to change display mode of tree view.

* src/vorta/views/diff_result.py : Connect comboBox to `DiffTree`.

* src/vorta/application.py : Remove `eventFilter` setup for palette changes.

* src/vorta/tray_menu.py : Connect directly to `app.paletteChanged`.
* src/vorta/views/archive_tab.py
* src/vorta/views/repo_tab.py
* src/vorta/views/schedule_tab.py
* src/vorta/views/source_tab.py

* src/vorta/assets/UI/diffresult.ui : Add buttons to keep folders on top when sorting and
	to expand and collapse all items.

* src/vorta/views/diff_result.py : Connect the added buttons.

* src/vorta/assets/icons/angle-up-solid.svg : Add icon for `bCollapseAll`.

* src/vorta/views/diff_result.py : Add context menu to `treeView` that allows expanding
	and copying of an item.

* src/vorta/views/diff_result.py : Add copy shortcut to `treeView`.
2022-07-25 16:13:28 +02:00
real-yfprojects c8ba273079
Use new treemodel for diff view.
Subclass `treemodel.FileTreeModel` for the purposes of the diff dialog.
Rewrite diff output parsing.
Add sorting through `QSortFilterProxyModel`.

* src/vorta/views/diff_result.py (DiffResult.__init__): Remove doubled if statement.

* src/vorta/views/diff_result.py : Rename `DiffResult` to `DiffResultDialog`.

* src/vorta/views/diff_result.py (DiffTree.__init__): Remove the use of `QVariant`.
	Since python has no type enforcement `QVariant` is not needed.

* src/vorta/views/diff_result.py (DiffTree): Subclass `treemodel.FileTreeModel` and add additional info tooltip.

* src/vorta/views/diff_result.py (parse_diff_json): Some changes for use with new model.

* src/vorta/views/diff_result.py (parse_diff_lines): Full regex based line parsing and
	other modifications to go with the new model.

* src/vorta/views/diff_result.py (FileType): Enum of possible file types.

* src/vorta/views/diff_result.py (ChangeType): Enum of possible change types.
	Currently all are mapped to `ADDED`, `MODIFIED` and `REMOVED`.

* src/vorta/views/diff_result.py (calc_size): Rename to `size_to_byte`.

* src/vorta/assets/UI/diffresult.ui : Move `alternatingRowColours` to the .ui file.

* src/vorta/views/diff_result.py (DiffResultDialog): Move `alternatingRowColours` to the .ui file.

* tests/test_diff.py : Fix tests for diff parser.

* src/vorta/views/diff_result.py : Connect to `sorted` of `DiffSortProxyModel`
	to reveal selected items in view.

* src/vorta/views/partials/treemodel.py : Add `FileTreeSortProxyModel` with abstract code.

* src/vorta/views/diff_result.py (DiffSortProxyModel): Implement `FileTreeSortProxyModel`.

* src/vorta/views/diff_result.py (DiffItem): This variable holds the type `FileSystemItem[DiffData]`.
2022-07-25 16:13:27 +02:00
real-yfprojects 3cd940455c
Implement fresh TreeModel for TreeViews.
* src/vorta/views/partials/treemodel.py
* tests/test_treemodel.py : Write tests.
2022-07-25 16:13:26 +02:00
yfprojects 56e5c5049f
Remove call to `QTranslator.language()` in `get_locale`. (#1316) 2022-05-25 19:42:54 +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 b57414cfc2
Better diff selection without extra dialog. By @real-yfprojects (#1235) 2022-05-05 13:21:54 +04:00
yfprojects 6eaed0a8e9
Add a button to mount full repository. By @real-yfprojects (#1257) 2022-04-16 09:30:31 +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
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 de971d6cd3
Update next backup time label. By @real-yfprojects (#1180) 2022-02-09 14:55:26 +04:00
Manu 4d399fe2ab
Remove unnecessary qtbot.wait (#1172) 2022-01-24 17:05:57 +04:00
Manu 0390a666e7
Minor/test fixes (#1150)
* Reorder asserts in test_ssh_dialog
* Prevent borg-check from running during tests
2021-12-24 14:26:21 +04:00
Manu 4c3e97a76c
Refactor: Split up vorta/models.py (#1112) 2021-11-17 13:14:11 +04:00
Manu 0c77fdde97
Address DB Locking issues (#1109) 2021-11-16 10:32:40 +04:00
Manu b38e986683
Use native threading module in job_manager. (#1096) 2021-11-12 11:05:31 +04:00
Manu c7a1077fec
Remove APScheduler dependency, Python 3.10 support (#1086) 2021-10-27 08:37:28 +04:00
Bastien 54d8bbe6b1
Implement multiple queues. By @bastiencyr (#1045)
Scheduler now has the ability to run jobs on multiple repositories concurrently and run multiple jobs on one repo (by queuing them).

For each repository, there is one queue. I have represented a queue by a 'site'. Between sites (ie repository), tasks run concurrently. On one site, tasks run one by one. The user also run tasks by adding them to the queue but he can't run multiple backups because start backup button is disabled when a job is running.
2021-10-04 15:31:41 +04:00
Philipp Hossner ff010b3bc4
Handle malformed .vorta-init.json on import. Fixes #1053. By @phihos (#1054)
Show error dialog when .vorta-init.json is malformed.
2021-08-12 08:32:08 +04:00
bastiencyr 5700f096bb
Fix for diff command (#1019)
Fixes #1016
2021-06-20 14:15:19 +04:00
Philipp Hossner 5192bd132c
Import/export settings (or bootstrap with default config). By @phihos (#955) 2021-06-05 15:15:38 +04:00
bastiencyr 292066f8b7
Put folders first in diff/extract. Fixes #915. By @bastiencyr (#999) 2021-05-30 19:21:27 +04:00
Robert Blenis 61326e1814
Fix issue #940 - KeyError in get_dict_from_list. By @rblenis (#947)
* fix issue #940 - KeyError in get_dict_from_list
- cause of error : defaultdict added more defaultdict while attempting to traverse the tree, but once a 'potential leaf' node was added, it was added as a dict, not a defaultdict.
- two possible solutions:
    - 1 - change everywhere that adds a 'potential' leaf node to add a defaultdict (ie nested_dict()) - this occurs in several places, but not many.
    - 2 - change get_dict_from_list to add a default dict (not defaultdict) when traversing the tree, for the case where a multi-level node is added on top of an existing node. This requires only changing a single location, and means that the dictionaries returned by accessing the tree will behave like normal dict (ie, won't by default add missing keys).
* Add test case for issues #940 and #925
2021-04-12 22:54:32 +08:00
Robert Blenis 0f5335ed7f
Add support for 'diff --json-lines'. By @rblenis (#909)
* add support for 'diff --json-lines' available in borg 1.1.16.
* fixes issue #901 (diff not handling CR/LF in filenames)
* improve `pretty_bytes()` formatting function
2021-03-30 07:47:27 +08:00
Robert Blenis c66b1026c7
Use json mode to list archive files. By @rblenis (#885) 2021-03-01 16:49:49 +08:00
Manu 6d8ad901fb
Allow to fully disable using the system keychain. (#898)
- Add option to avoid using system keychain.
- Prioritize keychains first. Then try to start them.
- Maintenance: Possible fixes for hung tests and segfault on exit on some setups.
2021-03-01 15:25:31 +08:00
Manu 7949e80381
More test fixes, avoid segfault when quitting (#877) 2021-02-22 09:45:43 +08:00
samuel-w 95d964c40f
Add mount option override checkbox. By @samuel-w (#682)
* Tests: avoid clicking other window
2021-02-18 15:01:32 +08:00
Manu 3cf2ac0c41
Add rename action. By @samuel-w and @m3nu (#864)
- Add rename action for archives
- Move archive actions to submenu
- Improve tests: remove window manager dependency
2021-02-18 09:44:10 +08:00
Manu 52233a9844
Fix flaky tests (#788)
* New DB for each test, hopefully takes care of race condition when using new DB.
* Centralize timeout setting
2021-02-17 10:14:58 +08:00
Manu 848bcc57ba
Give option to break repository lock. By @samuel-w (#863) 2021-02-17 09:58:42 +08:00
samuel-w 031a5f64ce
Allow pasting files/folders from file manager, set model defaults (#759) 2021-01-19 14:02:58 -06:00
samuel-w 7d7b7a2742
Improved password handling and transparency. By @samuel-w (#550) 2021-01-18 15:52:07 +08:00
samuel-w 3112a111f7
Cleanup database at exit, use write-ahead logging. By @samuel-w (#696) 2020-12-16 11:27:49 +08:00
Samuel 529b1da5b1
CI: Add python 3.9, labels, disable macOS mount test. By @samuel-w (#734) 2020-12-01 12:12:40 +08:00
Samuel 0b6961213f
Refactoring: remove last exec_, add tests, retain archive deletion message. By @samuel-w (#722) 2020-11-20 08:46:09 +08:00
Samuel 39b7f58483
Refactor add and rename to not use exec_. By @samuel-w (#721)
exec_ not recommended per documentation https://doc.qt.io/qt-5/qdialog.html#exec.
Now the tests run on the actual client
2020-11-19 15:44:07 +08:00
Samuel 849b980ef6
Improve autostart test. By @samuel-w (#720) 2020-11-19 07:42:21 +08:00
XXXBold 461ea05210
Display number of files and sizes in source tab. By @XXXBold (#617) 2020-10-30 16:30:52 +08:00
Samuel 47df3eccc9
Add profile add/edit test cases (#695) 2020-10-30 12:15:38 +08:00
Manu 364d401b39
Reuse existing window when bringing to front. (#674) 2020-10-03 14:27:31 +08:00
Samuel Woon 9568a1b410
Get keyring at runtime. By @samuel-w (#635) 2020-09-27 15:19:39 +08:00
Manu a86683e2b8
Cancel Borg thread at end of test. (#648)
Maybe fixes #632
2020-09-13 12:55:10 +08:00
Tomasz Kontusz 262c91a180
Handle DBusException in NetworkManagerMonitor (#636)
* Catch DBus permission errors
* Better DBusException handling in NetworkManagerMonitor
2020-09-09 08:32:26 +08:00
Manu 1d65d0cba5
Use naked en locale instead of en_US. Fixes #623 (#626) 2020-09-08 08:22:26 +08:00
Manu 02625ba4f0
Improved progress updates. By @SergioRAgostinho 2020-09-05 22:08:36 +08:00
Tomasz Kontusz a0e7d50318
Prevent running backups on metered network. By @ktosiek 2020-08-30 14:28:48 +08:00