Skip to content

Commit 5b36fab

Browse files
Disabled "Collapse" button in "Flat" view
1 parent b502fc3 commit 5b36fab

File tree

4 files changed

+46
-2
lines changed

4 files changed

+46
-2
lines changed

src/vorta/views/diff_result.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,10 +190,13 @@ def change_display_mode(self, selection: int):
190190
"""
191191
if selection == 0:
192192
mode = FileTreeModel.DisplayMode.TREE
193+
self.bCollapseAll.setEnabled(True)
193194
elif selection == 1:
194195
mode = FileTreeModel.DisplayMode.SIMPLIFIED_TREE
196+
self.bCollapseAll.setEnabled(True)
195197
elif selection == 2:
196198
mode = FileTreeModel.DisplayMode.FLAT
199+
self.bCollapseAll.setEnabled(False)
197200
else:
198201
raise Exception("Unknown item in comboBoxDisplayMode with index {}".format(selection))
199202

src/vorta/views/extract_dialog.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,10 @@ def change_display_mode(self, selection: int):
185185
"""
186186
if selection == 0:
187187
mode = FileTreeModel.DisplayMode.TREE
188+
self.bCollapseAll.setEnabled(True)
188189
elif selection == 1:
189190
mode = FileTreeModel.DisplayMode.SIMPLIFIED_TREE
191+
self.bCollapseAll.setEnabled(True)
190192
else:
191193
raise Exception("Unknown item in comboBoxDisplayMode with index {}".format(selection))
192194

tests/unit/test_diff.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,17 @@
66
import vorta.views.archive_tab
77
from PyQt6.QtCore import QDateTime, QItemSelectionModel, Qt
88
from PyQt6.QtWidgets import QMenu
9+
from vorta.store.models import ArchiveModel
910
from vorta.views.diff_result import (
1011
ChangeType,
1112
DiffData,
13+
DiffResultDialog,
1214
DiffTree,
1315
FileType,
1416
parse_diff_json,
1517
parse_diff_lines,
1618
)
19+
from vorta.views.partials.treemodel import FileTreeModel
1720

1821

1922
def setup_diff_result_window(qtbot, mocker, tab, borg_json_output, json_mock_file="diff_archives"):
@@ -457,3 +460,19 @@ def test_archive_diff_json_parser(line, expected):
457460

458461
assert item.path == PurePath(expected[0]).parts
459462
assert item.data == DiffData(*expected[1:])
463+
464+
465+
@pytest.mark.parametrize(
466+
"selection, expected_mode, expected_bCollapseAllEnabled",
467+
[
468+
(0, FileTreeModel.DisplayMode.TREE, True),
469+
(1, FileTreeModel.DisplayMode.SIMPLIFIED_TREE, True),
470+
(2, FileTreeModel.DisplayMode.FLAT, False),
471+
],
472+
)
473+
def test_change_display_mode(selection: int, expected_mode, expected_bCollapseAllEnabled):
474+
dialog = DiffResultDialog(ArchiveModel(), ArchiveModel(), DiffTree())
475+
dialog.change_display_mode(selection)
476+
477+
assert dialog.model.mode == expected_mode
478+
assert dialog.bCollapseAll.isEnabled() == expected_bCollapseAllEnabled

tests/unit/test_extract.py

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
1+
import pytest
12
import vorta.borg
23
from PyQt6.QtCore import QModelIndex, Qt
3-
from vorta.views.extract_dialog import ExtractTree, FileData, FileType, parse_json_lines
4-
from vorta.views.partials.treemodel import FileSystemItem
4+
from vorta.store.models import ArchiveModel
5+
from vorta.views.extract_dialog import (
6+
ExtractDialog,
7+
ExtractTree,
8+
FileData,
9+
FileType,
10+
parse_json_lines,
11+
)
12+
from vorta.views.partials.treemodel import FileSystemItem, FileTreeModel
513

614

715
def prepare_borg(mocker, borg_json_output):
@@ -177,3 +185,15 @@ def test_selection():
177185

178186
select(model, iab)
179187
assert a.data.checkstate == Qt.CheckState(1)
188+
189+
190+
@pytest.mark.parametrize(
191+
"selection, expected_mode, expected_bCollapseAllEnabled",
192+
[(0, FileTreeModel.DisplayMode.TREE, True), (1, FileTreeModel.DisplayMode.SIMPLIFIED_TREE, True)],
193+
)
194+
def test_change_display_mode(selection: int, expected_mode, expected_bCollapseAllEnabled):
195+
dialog = ExtractDialog(ArchiveModel(), ExtractTree())
196+
dialog.change_display_mode(selection)
197+
198+
assert dialog.model.mode == expected_mode
199+
assert dialog.bCollapseAll.isEnabled() == expected_bCollapseAllEnabled

0 commit comments

Comments
 (0)