From abfcef957ac4399d169c9e18404304acc377c1c3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rafa=C5=82=20D=C5=82ugo=C5=82=C4=99cki?= Date: Thu, 28 Jan 2016 21:17:08 +0100 Subject: [PATCH] Move preferences dialog layout code into separate ui file --- Makefile.am | 13 ++- src/edit/PreferencesDialog.cpp | 44 ++++++++ src/edit/PreferencesDialog.h | 68 ++++++++++++ src/edit/editor.cpp | 86 +++------------- src/edit/ui/dialogs/PreferencesDialog.ui | 126 +++++++++++++++++++++++ 5 files changed, 265 insertions(+), 72 deletions(-) create mode 100644 src/edit/PreferencesDialog.cpp create mode 100644 src/edit/PreferencesDialog.h create mode 100644 src/edit/ui/dialogs/PreferencesDialog.ui diff --git a/Makefile.am b/Makefile.am index 13dddd8..f936788 100644 --- a/Makefile.am +++ b/Makefile.am @@ -167,7 +167,8 @@ bin_logedit_SOURCES = \ src/edit/editor.cpp \ src/edit/editor.moc.cpp \ src/edit/ProgramStructureDialog.cpp \ - src/edit/UnitStructureDialog.cpp + src/edit/UnitStructureDialog.cpp \ + src/edit/PreferencesDialog.cpp bin_logedit_CPPFLAGS = $(bin_logedit_CFLAGS) bin_logedit_LDADD = $(bin_logedit_LIBS) bin_logeditdir = src/edit @@ -177,13 +178,16 @@ bin_logedit_HEADERS =\ src/edit/ProgramStructureDialog.h \ src/edit/ui/dialogs/ProgramStructureDialog.h \ src/edit/UnitStructureDialog.h \ - src/edit/ui/dialogs/UnitStructureDialog.h + src/edit/ui/dialogs/UnitStructureDialog.h \ + src/edit/PreferencesDialog.h \ + src/edit/ui/dialogs/PreferencesDialog.h src/edit/editor.moc.cpp: \ src/edit/editor.h \ src/edit/ui/editor.h \ src/edit/ui/dialogs/ProgramStructureDialog.h \ - src/edit/ui/dialogs/UnitStructureDialog.h + src/edit/ui/dialogs/UnitStructureDialog.h \ + src/edit/ui/dialogs/PreferencesDialog.h moc-qt4 src/edit/editor.h -o src/edit/editor.moc.cpp # $(MOC) src/edit/editor.h -o src/edit/editor.moc.cpp @@ -196,6 +200,9 @@ src/edit/ui/dialogs/ProgramStructureDialog.h: src/edit/ui/dialogs/UnitStructureDialog.h: uic src/edit/ui/dialogs/UnitStructureDialog.ui -o src/edit/ui/dialogs/UnitStructureDialog.h +src/edit/ui/dialogs/PreferencesDialog.h: + uic src/edit/ui/dialogs/PreferencesDialog.ui -o src/edit/ui/dialogs/PreferencesDialog.h + clean-logedit-extra: rm -f src/edit/ui/dialogs/*.h diff --git a/src/edit/PreferencesDialog.cpp b/src/edit/PreferencesDialog.cpp new file mode 100644 index 0000000..4e7d3a0 --- /dev/null +++ b/src/edit/PreferencesDialog.cpp @@ -0,0 +1,44 @@ +#include "PreferencesDialog.h" + +PreferencesDialog::PreferencesDialog(QWidget * parent) + : QDialog(parent) +{ + setupUi(this); + + connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept())); + connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); +} + +PreferencesDialog::~PreferencesDialog() +{ +} + +QString PreferencesDialog::getCompilerPath() +{ + return compilerPath->text(); +} + +void PreferencesDialog::setCompilerPath(QString path) +{ + return compilerPath->setText(path); +} + +QString PreferencesDialog::getFilesPath() +{ + return filesPath->text(); +} + +void PreferencesDialog::setFilesPath(QString path) +{ + return filesPath->setText(path); +} + +QString PreferencesDialog::getGenPath() +{ + return genPath->text(); +} + +void PreferencesDialog::setGenPath(QString path) +{ + return genPath->setText(path); +} diff --git a/src/edit/PreferencesDialog.h b/src/edit/PreferencesDialog.h new file mode 100644 index 0000000..2cd02ba --- /dev/null +++ b/src/edit/PreferencesDialog.h @@ -0,0 +1,68 @@ +#ifndef _VLP_EDITOR_PREFERENCESDIALOG_H +#define _VLP_EDITOR_PREFERENCESDIALOG_H + +#include +#include + +#include "ui/dialogs/PreferencesDialog.h" + +/** + * Program Unit Dialog class + * Displays dialog for generating code template for unit structure + */ +class PreferencesDialog : public QDialog, private Ui::PreferencesDialog { +public: + /** + * Class constructor + */ + PreferencesDialog(QWidget * parent = 0); + + /** + * Class destuctor + */ + ~PreferencesDialog(); + + /** + * Gets compiler path + * + * @return path to compiler + */ + QString getCompilerPath(); + + /** + * Sets compiler path + * + * @param path compiler path + */ + void setCompilerPath(QString path); + + /** + * Gets files path + * + * @return path to files + */ + QString getFilesPath(); + + /** + * Sets files path + * + * @param path files path + */ + void setFilesPath(QString path); + + /** + * Gets gen path + * + * @return path to gen + */ + QString getGenPath(); + + /** + * Sets gen path + * + * @param path gen path + */ + void setGenPath(QString path); +}; + +#endif /* _VLP_EDITOR_PREFERENCESDIALOG_H */ diff --git a/src/edit/editor.cpp b/src/edit/editor.cpp index 59e7f9e..b507a6f 100644 --- a/src/edit/editor.cpp +++ b/src/edit/editor.cpp @@ -16,6 +16,7 @@ #include "ProgramStructureDialog.h" #include "UnitStructureDialog.h" +#include "PreferencesDialog.h" #include "editor.h" @@ -128,19 +129,19 @@ void Editor::compile(int mode) /* fn.truncate(i);*/ switch(mode) { case COMP_MODE: - sprintf(cmd, "%s %s > comp_data!", compiler_path.toAscii().data(), - fname.toAscii().data()); + sprintf(cmd, "%s %s > comp_data!", compiler_path.toStdString().c_str(), + fname.toStdString().c_str()); break; case GEN_MODE: - sprintf(cmd, "%s %s > comp_data!", gen_path.toAscii().data(), - fname.toAscii().data()); + sprintf(cmd, "%s %s > comp_data!", gen_path.toStdString().c_str(), + fname.toStdString().c_str()); break; case ALL_MODE: - sprintf(cmd, "%s %s > comp_data!", compiler_path.toAscii().data(), - fname.toAscii().data()); + sprintf(cmd, "%s %s > comp_data!", compiler_path.toStdString().c_str(), + fname.toStdString().c_str()); system(cmd); - sprintf(cmd, "%s %s >> comp_data!", gen_path.toAscii().data(), - fname.toAscii().data()); + sprintf(cmd, "%s %s >> comp_data!", gen_path.toStdString().c_str(), + fname.toStdString().c_str()); break; } @@ -308,69 +309,16 @@ void Editor::on_actionFind_Next_triggered() */ void Editor::on_actionPreferences_triggered() { - QDialog dlg(this, Qt::Dialog); - - QLineEdit *files; - files = new QLineEdit(&dlg); - files->setGeometry(130, 20, 250, 30); - files->setText(file_path); - files->setMaxLength(32767); - files->setEchoMode(QLineEdit::Normal); - files->setFrame(TRUE); + PreferencesDialog dialog(this); - QLabel *tmpQLabel; - tmpQLabel = new QLabel("Path to files:", &dlg); - tmpQLabel->setGeometry(10, 20, 100, 30); - tmpQLabel->setAlignment(Qt::AlignLeft); - tmpQLabel->setMargin(-1); - - tmpQLabel = new QLabel("Path to compiler:", &dlg); - tmpQLabel->setGeometry(10, 60, 100, 30); - tmpQLabel->setAlignment(Qt::AlignLeft); - tmpQLabel->setMargin(-1); - - /* - tmpQLabel = new QLabel(&dlg, "Label_3"); - tmpQLabel->setGeometry(10, 100, 100, 30); - tmpQLabel->setText("Path to gen:"); - tmpQLabel->setAlignment(289); - tmpQLabel->setMargin(-1); - */ - - QLineEdit *compp; - compp = new QLineEdit(compiler_path, &dlg); - compp->setGeometry(130, 60, 250, 30); - compp->setMaxLength(32767); - compp->setEchoMode(QLineEdit::Normal); - compp->setFrame(TRUE); - - /* - QLineEdit* genp; - genp = new QLineEdit(&dlg, "g_path"); - genp->setGeometry(130, 100, 250, 30); - genp->setText(gen_path.data()); - genp->setMaxLength(32767); - genp->setEchoMode(QLineEdit::Normal); - genp->setFrame(TRUE); - */ - - QPushButton* tmpQPushButton; - tmpQPushButton = new QPushButton("Ok", &dlg); - tmpQPushButton->setGeometry(90, 100, 70, 30); - tmpQPushButton->setAutoRepeat(FALSE); - connect(tmpQPushButton,SIGNAL(clicked()), &dlg, SLOT(accept())); - - tmpQPushButton = new QPushButton("Cancel", &dlg); - tmpQPushButton->setGeometry(180, 100, 70, 30); - tmpQPushButton->setAutoRepeat(FALSE); - connect(tmpQPushButton,SIGNAL(clicked()), &dlg, SLOT(reject())); - - dlg.resize(400, 140); + dialog.setCompilerPath(compiler_path); + dialog.setFilesPath(file_path); + dialog.setGenPath(gen_path); - if (dlg.exec()) { - compiler_path.sprintf("%s", compp->text().toAscii().data()); - /* gen_path.sprintf("%s",genp->text()); */ - file_path.sprintf("%s", files->text().toAscii().data()); + if (dialog.exec()) { + compiler_path.sprintf("%s", dialog.getCompilerPath().toStdString().c_str()); + gen_path.sprintf("%s",dialog.getGenPath().toStdString().c_str()); + file_path.sprintf("%s", dialog.getFilesPath().toStdString().c_str()); }; } diff --git a/src/edit/ui/dialogs/PreferencesDialog.ui b/src/edit/ui/dialogs/PreferencesDialog.ui new file mode 100644 index 0000000..3110a43 --- /dev/null +++ b/src/edit/ui/dialogs/PreferencesDialog.ui @@ -0,0 +1,126 @@ + + + PreferencesDialog + + + + 0 + 0 + 333 + 137 + + + + Dialog + + + + + + 10 + + + + + 6 + + + + + Path to files + + + + + + + Path to compiler + + + + + + + Path to gen + + + + + + + + + + + + 200 + 0 + + + + + + + + + 200 + 0 + + + + + + + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + buttonBox + accepted() + PreferencesDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + PreferencesDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + -- 2.30.2