fix: select library screen skipped even we have 2+ libraries

This commit is contained in:
2025-12-22 00:04:50 +08:00
parent aaf8ad1cb9
commit 9ee4d70420
4 changed files with 30 additions and 13 deletions

View File

@@ -11,16 +11,27 @@ Item {
width: Math.min(0.66 * parent.width, 320)
height: parent.height
ListView {
id: listView
clip: true
ColumnLayout {
anchors.fill: parent
model: AppController.foldersModel
delegate: ItemDelegate {
text: model.display
width: listView.width
ListView {
id: listView
clip: true
Layout.fillWidth: true
Layout.fillHeight: true
model: AppController.foldersModel
delegate: ItemDelegate {
text: model.display
width: listView.width
onClicked: function() {
AppController.updateComicsInFolder(model.folderId)
}
}
}
Button {
Layout.fillWidth: true
text: "Select Library"
onClicked: function() {
AppController.updateComicsInFolder(model.folderId)
AppController.selectedLibraryId = -1
}
}
}

View File

@@ -25,11 +25,6 @@ Control {
AppController.selectedLibraryId = model.libraryId
}
}
onCountChanged: function() {
if (count == 1) {
AppController.selectedLibraryId = model.data(modelIndex(0), LibraryItem.IdRole)
}
}
}
}
@@ -37,4 +32,13 @@ Control {
AppController.updateLibraries()
}
}
Connections {
target: AppController
onLibrariesLoaded: function(count) {
if (count === 1) {
AppController.selectedLibraryId = model.data(modelIndex(0), LibraryItem.IdRole)
}
}
}
}

View File

@@ -72,6 +72,7 @@ void AppController::updateLibraries()
libraryObj["name"].toString(),
libraryObj["uuid"].toString()));
}
emit librariesLoaded(array.count());
}
}
});

View File

@@ -39,6 +39,7 @@ public:
Q_INVOKABLE QString comicImageSource(int page);
signals:
void librariesLoaded(int count);
void connectionStateChanged(ConnectionState newState);
void currentLibraryIdChanged(int newLibraryId);
void currentComicIdChanged(QString newComicId);