Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
310116b
Extract the files organization coordination logic to it's own file
luisangelsm Aug 22, 2026
2da3db6
Extract comic file operations from LibraryWindow
luisangelsm Aug 22, 2026
6b46445
Extract database maintenance and backups to its own file
luisangelsm Aug 22, 2026
1b64724
Extract db repair coordination from LibraryWindow
luisangelsm Aug 22, 2026
8d56e8a
Extract library management
luisangelsm Aug 22, 2026
7e7f0b4
Extra folder management logic
luisangelsm Aug 22, 2026
8c8c24d
Move folder cover management to the folder manager
luisangelsm Aug 22, 2026
23affeb
Unify comic operations in ComicManagementCoordinator
luisangelsm Aug 22, 2026
3618169
Remove folder management wrapping methods from library window
luisangelsm Aug 22, 2026
3c12523
Move more methods to comic management coordinator
luisangelsm Aug 22, 2026
aa6deb2
Move more folder management logic to its coordinator
luisangelsm Aug 22, 2026
df30065
Move the rest of the organize* methods out of LibraryWindow
luisangelsm Aug 22, 2026
7f9b00f
Extract menus creation to its own class
luisangelsm Aug 22, 2026
b6f29aa
Move more logic out of LibraryWindow
luisangelsm Aug 22, 2026
7b4c78b
Extract search coordination logic
luisangelsm Aug 22, 2026
6beb2be
Move more comics management logic out of library window
luisangelsm Aug 22, 2026
b10d395
Extract lists coordination
luisangelsm Aug 22, 2026
e70c336
Put more library handling logic into LibraryManagementCoordinator
luisangelsm Aug 22, 2026
6f5f706
Move more folder operations to its coordinator
luisangelsm Aug 22, 2026
a1484f2
Make method private
luisangelsm Aug 22, 2026
fcf2791
Remove unused code
luisangelsm Aug 22, 2026
9420efc
Fix root folder updates
luisangelsm Aug 22, 2026
ab041df
Preserve folder selection semantics
luisangelsm Aug 22, 2026
f26640d
Initialize comic destination folder ID
luisangelsm Aug 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ jobs:
shell: cmd
run: |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
set PATH=C:\Qt\6.9.3\msvc2022_64\bin;%PATH%
set PATH=%GITHUB_WORKSPACE%\dependencies\pdfium\win\x64;C:\Qt\6.9.3\msvc2022_64\bin;%PATH%
ctest --test-dir build --output-on-failure

- name: Upload executables for signing
Expand Down Expand Up @@ -683,4 +683,3 @@ jobs:
files: staging/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

18 changes: 18 additions & 0 deletions YACReaderLibrary/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,22 @@ qt_add_executable(YACReaderLibrary WIN32
library_window.cpp
library_window_actions.h
library_window_actions.cpp
library_window_menus.h
library_window_menus.cpp
library_search_coordinator.h
library_search_coordinator.cpp
comic_management_coordinator.h
comic_management_coordinator.cpp
reading_list_management_coordinator.h
reading_list_management_coordinator.cpp
folder_management_coordinator.h
folder_management_coordinator.cpp
library_database_maintenance_coordinator.h
library_database_maintenance_coordinator.cpp
library_repair_coordinator.h
library_repair_coordinator.cpp
library_management_coordinator.h
library_management_coordinator.cpp
feature_flags.h
create_library_dialog.h
create_library_dialog.cpp
Expand All @@ -95,6 +111,8 @@ qt_add_executable(YACReaderLibrary WIN32
rename_library_dialog.cpp
organize_files_dialog.h
organize_files_dialog.cpp
organize_files_coordinator.h
organize_files_coordinator.cpp
organize_files_preview_dialog.h
organize_files_preview_dialog.cpp
properties_dialog.h
Expand Down
12 changes: 6 additions & 6 deletions YACReaderLibrary/comic_files_manager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,19 @@ ComicFilesManager::ComicFilesManager(QObject *parent)
{
}

void ComicFilesManager::copyComicsTo(const QList<QPair<QString, QString>> &sourceComics, const QString &folderDest, const QModelIndex &dest)
void ComicFilesManager::copyComicsTo(const QList<QPair<QString, QString>> &sourceComics, const QString &folderDest, qulonglong destinationFolderId)
{
comics = sourceComics;
folder = folderDest;
folderDestinationModelIndex = dest;
this->destinationFolderId = destinationFolderId;
move = false;
}

void ComicFilesManager::moveComicsTo(const QList<QPair<QString, QString>> &sourceComics, const QString &folderDest, const QModelIndex &dest)
void ComicFilesManager::moveComicsTo(const QList<QPair<QString, QString>> &sourceComics, const QString &folderDest, qulonglong destinationFolderId)
{
comics = sourceComics;
folder = folderDest;
folderDestinationModelIndex = dest;
this->destinationFolderId = destinationFolderId;
move = true;
}

Expand Down Expand Up @@ -69,7 +69,7 @@ void ComicFilesManager::process()

if (canceled) {
if (successProcesingFiles)
emit success(folderDestinationModelIndex);
emit success(destinationFolderId);
emit finished();

return; // TODO rollback?
Expand All @@ -91,7 +91,7 @@ void ComicFilesManager::process()
}

if (successProcesingFiles)
emit success(folderDestinationModelIndex);
emit success(destinationFolderId);
emit finished();
}

Expand Down
10 changes: 5 additions & 5 deletions YACReaderLibrary/comic_files_manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,24 @@
#define COMIC_FILES_MANAGER_H

#include <QList>
#include <QModelIndex>
#include <QObject>
#include <QPair>
#include <QtGlobal>

// this class is intended to work in background, just use moveToThread and process to start working
class ComicFilesManager : public QObject
{
Q_OBJECT
public:
explicit ComicFilesManager(QObject *parent = nullptr);
void copyComicsTo(const QList<QPair<QString, QString>> &sourceComics, const QString &folderDest, const QModelIndex &dest);
void moveComicsTo(const QList<QPair<QString, QString>> &comics, const QString &folderDest, const QModelIndex &dest);
void copyComicsTo(const QList<QPair<QString, QString>> &sourceComics, const QString &folderDest, qulonglong destinationFolderId);
void moveComicsTo(const QList<QPair<QString, QString>> &comics, const QString &folderDest, qulonglong destinationFolderId);
static QList<QPair<QString, QString>> getDroppedFiles(const QList<QUrl> &urls);
signals:
void currentComic(QString);
void progress(int);
void finished();
void success(QModelIndex); // at least one comics has been copied or moved
void success(qulonglong destinationFolderId); // at least one comic has been copied or moved
public slots:
void process();
void cancel();
Expand All @@ -29,7 +29,7 @@ public slots:
bool canceled;
QList<QPair<QString, QString>> comics;
QString folder;
QModelIndex folderDestinationModelIndex;
qulonglong destinationFolderId = 0;
};

#endif // COMIC_FILES_MANAGER_H
Loading
Loading