mirror of
https://codeberg.org/vyn/mirai.git
synced 2025-07-02 01:13:19 +00:00
Replace 'edit source window' with popup
This commit is contained in:
parent
129b30b9e7
commit
854152b395
13 changed files with 101 additions and 163 deletions
|
@ -34,8 +34,7 @@
|
|||
|
||||
AppWindow::AppWindow(mirai::Mirai *miraiInstance)
|
||||
: miraiInstance_(miraiInstance), addSourceWindow_(miraiInstance),
|
||||
editSourceWindow_(miraiInstance), settingsWindow_(miraiInstance),
|
||||
editEventWindow_(miraiInstance), view_(miraiInstance)
|
||||
settingsWindow_(miraiInstance), editEventWindow_(miraiInstance), view_(miraiInstance)
|
||||
{
|
||||
sources_ = std::make_shared<slint::VectorModel<ui::Source>>();
|
||||
days_ = std::make_shared<slint::VectorModel<ui::Day>>();
|
||||
|
@ -105,6 +104,14 @@ void AppWindow::setupCallbacks()
|
|||
return slint::SharedString(source->name());
|
||||
});
|
||||
|
||||
models().on_get_source_path_from_id([&](int sourceId) {
|
||||
auto source = miraiInstance_->getSourceById(sourceId);
|
||||
assert(source);
|
||||
mirai::MarkdownDataProvider *sourceProvider =
|
||||
dynamic_cast<mirai::MarkdownDataProvider *>(source->dataProvider());
|
||||
return slint::SharedString(sourceProvider->path());
|
||||
});
|
||||
|
||||
miraiInstance_->onSourceAdded([&](mirai::Source *source) {
|
||||
refreshModels();
|
||||
});
|
||||
|
@ -120,11 +127,11 @@ void AppWindow::setupCallbacks()
|
|||
actions().on_open_add_source_window([&]() {
|
||||
addSourceWindow_.open();
|
||||
});
|
||||
actions().on_open_edit_source_window([&](int sourceId) {
|
||||
auto source = miraiInstance_->getSourceById(sourceId);
|
||||
assert(source);
|
||||
editSourceWindow_.open(source);
|
||||
});
|
||||
/*actions().on_open_edit_source_window([&](int sourceId) {*/
|
||||
/*auto source = miraiInstance_->getSourceById(sourceId);*/
|
||||
/*assert(source);*/
|
||||
/*editSourceWindow_.open(source);*/
|
||||
/*});*/
|
||||
actions().on_open_add_event_window([&]() {
|
||||
editEventWindow_.open();
|
||||
});
|
||||
|
@ -158,6 +165,10 @@ void AppWindow::setupCallbacks()
|
|||
reloadTasks();
|
||||
});
|
||||
|
||||
actions().on_edit_source([&](int sourceId, slint::SharedString name, slint::SharedString path) {
|
||||
miraiInstance_->editSource(sourceId, std::string(name), std::string(path));
|
||||
});
|
||||
|
||||
actions().on_delete_task_clicked([&](int sourceId, int taskId) {
|
||||
auto source = miraiInstance_->getSourceById(sourceId);
|
||||
assert(source);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue