保存项目配置
This commit is contained in:
parent
c0051e4ab8
commit
ce45464c6d
|
@ -30,6 +30,7 @@ DISTFILES += \
|
||||||
example.storyunit \
|
example.storyunit \
|
||||||
example.storyvolume
|
example.storyvolume
|
||||||
|
|
||||||
|
|
||||||
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../libParse/release/ -llibParse
|
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../libParse/release/ -llibParse
|
||||||
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../libParse/debug/ -llibParse
|
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../libParse/debug/ -llibParse
|
||||||
else:unix: LIBS += -L$$OUT_PWD/../libParse/ -llibParse
|
else:unix: LIBS += -L$$OUT_PWD/../libParse/ -llibParse
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE QtCreatorProject>
|
<!DOCTYPE QtCreatorProject>
|
||||||
<!-- Written by QtCreator 4.15.0, 2022-12-25T20:47:12. -->
|
<!-- Written by QtCreator 4.15.0, 2023-01-01T13:04:02. -->
|
||||||
<qtcreator>
|
<qtcreator>
|
||||||
<data>
|
<data>
|
||||||
<variable>EnvironmentId</variable>
|
<variable>EnvironmentId</variable>
|
||||||
|
|
|
@ -89,6 +89,14 @@ FormattedTextEdit::FormattedTextEdit()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FormattedTextEdit::~FormattedTextEdit()
|
||||||
|
{
|
||||||
|
if(edit_square){
|
||||||
|
delete edit_square;
|
||||||
|
edit_square = nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void FormattedTextEdit::setContexMenuProcess(std::function<void (QMenu *)> exu)
|
void FormattedTextEdit::setContexMenuProcess(std::function<void (QMenu *)> exu)
|
||||||
{
|
{
|
||||||
this->ex_unit = exu;
|
this->ex_unit = exu;
|
||||||
|
|
|
@ -15,13 +15,12 @@ namespace Components {
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
FormattedTextEdit();
|
FormattedTextEdit();
|
||||||
virtual ~FormattedTextEdit() = default;
|
virtual ~FormattedTextEdit();
|
||||||
|
|
||||||
virtual void rehighlighter() = 0;
|
virtual void rehighlighter() = 0;
|
||||||
virtual void setContexMenuProcess(std::function<void(QMenu*)> exu);
|
virtual void setContexMenuProcess(std::function<void(QMenu*)> exu);
|
||||||
virtual QTextCursor getTextCursor();
|
virtual QTextCursor getTextCursor();
|
||||||
virtual void setTextCursor(QTextCursor s);
|
virtual void setTextCursor(QTextCursor s);
|
||||||
QTextEdit *const edit_square;
|
|
||||||
|
|
||||||
// ModeView interface
|
// ModeView interface
|
||||||
public:
|
public:
|
||||||
|
@ -38,6 +37,7 @@ namespace Components {
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QTextDocument *textDocument() const;
|
QTextDocument *textDocument() const;
|
||||||
|
QTextEdit * edit_square;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ QT += core gui xml
|
||||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||||
|
|
||||||
CONFIG += c++11
|
CONFIG += c++11
|
||||||
|
TARGET = Marionette
|
||||||
|
|
||||||
# You can make your code fail to compile if it uses deprecated APIs.
|
# You can make your code fail to compile if it uses deprecated APIs.
|
||||||
# In order to do so, uncomment the following line.
|
# In order to do so, uncomment the following line.
|
||||||
|
|
|
@ -52,7 +52,7 @@ MainWindow::MainWindow(QWidget *parent)
|
||||||
this->app_core->setCurrentProject(project_manager);
|
this->app_core->setCurrentProject(project_manager);
|
||||||
|
|
||||||
setMinimumSize(1000, 600);
|
setMinimumSize(1000, 600);
|
||||||
setWindowTitle("提线木偶集成开发工具");
|
setWindowTitle("提线木偶");
|
||||||
|
|
||||||
chains_view->setVisible(false);
|
chains_view->setVisible(false);
|
||||||
units_view->setVisible(false);
|
units_view->setVisible(false);
|
||||||
|
@ -135,6 +135,8 @@ MainWindow::MainWindow(QWidget *parent)
|
||||||
sync_kernel->registerActionSync(clsp, [this]()->bool{return project_manager->isOpen();});
|
sync_kernel->registerActionSync(clsp, [this]()->bool{return project_manager->isOpen();});
|
||||||
connect(clsp, &QAction::triggered, [this](){
|
connect(clsp, &QAction::triggered, [this](){
|
||||||
this->project_manager->closeProject();
|
this->project_manager->closeProject();
|
||||||
|
this->app_core->getDocsManager()->closeAll();
|
||||||
|
this->refresh_views();
|
||||||
});
|
});
|
||||||
project->addSeparator();
|
project->addSeparator();
|
||||||
auto pcfg = project->addAction("项目配置");
|
auto pcfg = project->addAction("项目配置");
|
||||||
|
@ -365,12 +367,7 @@ MainWindow::MainWindow(QWidget *parent)
|
||||||
});
|
});
|
||||||
|
|
||||||
this->app_core->getDocsManager()->addProcTrigger([this](){
|
this->app_core->getDocsManager()->addProcTrigger([this](){
|
||||||
this->chains_view->refresh();
|
this->refresh_views();
|
||||||
this->units_view->refresh();
|
|
||||||
this->errors_present->refresh();
|
|
||||||
this->boards_view->refresh();
|
|
||||||
this->concept_view->refresh();
|
|
||||||
this->fragments_order->refresh();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -405,6 +402,25 @@ void MainWindow::contentViewAppend(QWidget *widget, const QString &name)
|
||||||
center_funcs->setCurrentWidget(widget);
|
center_funcs->setCurrentWidget(widget);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::contentViewClose(QWidget *widget)
|
||||||
|
{
|
||||||
|
for(auto idx=0; idx<center_funcs->count(); ++idx){
|
||||||
|
if(center_funcs->widget(idx) == widget){
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::refresh_views()
|
||||||
|
{
|
||||||
|
errors_present->refresh();
|
||||||
|
chains_view->refresh();
|
||||||
|
units_view->refresh();
|
||||||
|
boards_view->refresh();
|
||||||
|
concept_view->refresh();
|
||||||
|
fragments_order->refresh();
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::build_internal(bool all_from_disk)
|
void MainWindow::build_internal(bool all_from_disk)
|
||||||
{
|
{
|
||||||
if(!all_from_disk)
|
if(!all_from_disk)
|
||||||
|
@ -430,12 +446,7 @@ void MainWindow::build_internal(bool all_from_disk)
|
||||||
for(auto &it : concepts)
|
for(auto &it : concepts)
|
||||||
app_core->getMakeCore()->compile(std::get<0>(it), std::get<1>(it));
|
app_core->getMakeCore()->compile(std::get<0>(it), std::get<1>(it));
|
||||||
|
|
||||||
errors_present->refresh();
|
refresh_views();
|
||||||
chains_view->refresh();
|
|
||||||
units_view->refresh();
|
|
||||||
boards_view->refresh();
|
|
||||||
concept_view->refresh();
|
|
||||||
fragments_order->refresh();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::toggle_widget_visible(bool visible, QTabWidget *con, QWidget *target, const QString &title)
|
void MainWindow::toggle_widget_visible(bool visible, QTabWidget *con, QWidget *target, const QString &title)
|
||||||
|
@ -512,7 +523,7 @@ void MainWindow::closeEvent(QCloseEvent *event)
|
||||||
// 关闭事件
|
// 关闭事件
|
||||||
if(project_manager->isOpen()){
|
if(project_manager->isOpen()){
|
||||||
project_manager->save();
|
project_manager->save();
|
||||||
app_core->getDocsManager()->saveAll();
|
app_core->getDocsManager()->closeAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
uilayout_save();
|
uilayout_save();
|
||||||
|
|
|
@ -28,6 +28,7 @@ public:
|
||||||
~MainWindow();
|
~MainWindow();
|
||||||
|
|
||||||
void contentViewAppend(QWidget *widget, const QString &name);
|
void contentViewAppend(QWidget *widget, const QString &name);
|
||||||
|
void contentViewClose(QWidget *widget);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Core::AppCore *const app_core;
|
Core::AppCore *const app_core;
|
||||||
|
@ -53,6 +54,8 @@ private:
|
||||||
Components::FragmentsOrderView *const fragments_order;
|
Components::FragmentsOrderView *const fragments_order;
|
||||||
|
|
||||||
// 内部逻辑 ===========================================
|
// 内部逻辑 ===========================================
|
||||||
|
void refresh_views();
|
||||||
|
|
||||||
void build_internal(bool all_from_disk = false);
|
void build_internal(bool all_from_disk = false);
|
||||||
void toggle_widget_visible(bool visible, QTabWidget *con, QWidget *target, const QString& title=QString());
|
void toggle_widget_visible(bool visible, QTabWidget *con, QWidget *target, const QString& title=QString());
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,17 @@ StoryUnitSourceEdit::StoryUnitSourceEdit(FileExtensionFactory *factory)
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(edit_square, &QTextEdit::cursorPositionChanged, this, &StoryUnitSourceEdit::cursor_contex_query);
|
connect(edit_square, &QTextEdit::cursorPositionChanged, this, &StoryUnitSourceEdit::cursor_contex_query);
|
||||||
|
|
||||||
|
auto vins = FormattedTextEdit::textView();
|
||||||
|
split->addWidget(vins);
|
||||||
|
split->addWidget(this->refers_descriptions);
|
||||||
|
}
|
||||||
|
|
||||||
|
StoryUnitSourceEdit::~StoryUnitSourceEdit()
|
||||||
|
{
|
||||||
|
delete this->refers_descriptions;
|
||||||
|
|
||||||
|
split->deleteLater();
|
||||||
}
|
}
|
||||||
|
|
||||||
FileExtensionFactory *StoryUnitSourceEdit::factory() const
|
FileExtensionFactory *StoryUnitSourceEdit::factory() const
|
||||||
|
@ -205,9 +216,6 @@ void StoryUnitSourceEdit::resetProcsType(const QString &suffix)
|
||||||
|
|
||||||
QWidget *StoryUnitSourceEdit::textView() const
|
QWidget *StoryUnitSourceEdit::textView() const
|
||||||
{
|
{
|
||||||
auto vins = FormattedTextEdit::textView();
|
|
||||||
split->addWidget(vins);
|
|
||||||
split->addWidget(this->refers_descriptions);
|
|
||||||
return split;
|
return split;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,7 @@ namespace Components {
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
StoryUnitSourceEdit(Core::FileExtensionFactory *factory);
|
StoryUnitSourceEdit(Core::FileExtensionFactory *factory);
|
||||||
|
virtual ~StoryUnitSourceEdit();
|
||||||
|
|
||||||
// Plugin interface
|
// Plugin interface
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -303,7 +303,6 @@ namespace Parse
|
||||||
virtual ~ParseCore() = default;
|
virtual ~ParseCore() = default;
|
||||||
|
|
||||||
virtual void registerDoc(DocCore *ins);
|
virtual void registerDoc(DocCore *ins);
|
||||||
|
|
||||||
virtual QList<DocCore *> allDocuments() const;
|
virtual QList<DocCore *> allDocuments() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -43,6 +43,8 @@ HEADERS += \
|
||||||
TRANSLATIONS += \
|
TRANSLATIONS += \
|
||||||
libParse_zh_CN.ts
|
libParse_zh_CN.ts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Default rules for deployment.
|
# Default rules for deployment.
|
||||||
unix {
|
unix {
|
||||||
target.path = /usr/lib
|
target.path = /usr/lib
|
||||||
|
|
|
@ -21,6 +21,7 @@ HEADERS += \
|
||||||
TRANSLATIONS += \
|
TRANSLATIONS += \
|
||||||
libProjectManager_zh_CN.ts
|
libProjectManager_zh_CN.ts
|
||||||
|
|
||||||
|
|
||||||
# Default rules for deployment.
|
# Default rules for deployment.
|
||||||
unix {
|
unix {
|
||||||
target.path = /usr/lib
|
target.path = /usr/lib
|
||||||
|
|
Loading…
Reference in New Issue