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