Code refactoring
[vlp.git] / src / edit / editor.cpp
index b507a6fb6ee796149135d1c6dc044988657ce2fa..ffdc94c9cfe89498d8448da2c341006d4d514d5b 100644 (file)
@@ -5,7 +5,6 @@
 #include <QtGui/QFileDialog>
 #include <QtGui/QColor>
 #include <QtGui/QPalette>
-#include <QtGui/QCloseEvent>
 #include <QtGui/QTextDocument>
 #include <QtGui/QMainWindow>
 #include <QtGui/QStatusBar>
 #include "ProgramStructureDialog.h"
 #include "UnitStructureDialog.h"
 #include "PreferencesDialog.h"
+#include "FindDialog.h"
 
 #include "editor.h"
 
+namespace loglan {
+namespace vlp {
+
 /**
  * Editor constructor. Initializes and sets variables of Loglan Editor.
  *
@@ -32,6 +35,7 @@ Editor::Editor(int argc, char **argv)
 
        if (argc > 1) {
                strcpy(HomeDir, argv[1]);
+               fprintf(stderr, "EDIT: HomeDir inited with: %s (%s)\n", HomeDir, argv[1]);
        }
 
        find_text = "";
@@ -170,7 +174,8 @@ void Editor::compile(int mode)
 void Editor::on_actionNew_triggered()
 {
        on_actionClear_all_triggered();
-       fname.sprintf("%s", "");}
+       fname.sprintf("%s", "");
+}
 
 /**
  * Displays additional window 
@@ -245,44 +250,18 @@ void Editor::on_actionClear_all_triggered()
  */
 void Editor::on_actionFind_triggered()
 {
-       QDialog dlg(this, Qt::Dialog);
-
-       QLineEdit *tmpQLineEdit;
-       tmpQLineEdit = new QLineEdit("", &dlg);
-       tmpQLineEdit->setGeometry(60, 10, 180, 30);
-
-       QLabel *tmpQLabel;
-       tmpQLabel = new QLabel(&dlg);
-       tmpQLabel->setGeometry(10, 10, 50, 30);
-
-       tmpQLabel->setText("Text:");
-
-       QCheckBox *tmpQRadioButton;
-       tmpQRadioButton = new QCheckBox("Case sensitive", &dlg);
-       tmpQRadioButton->setGeometry(70, 50, 150, 30);
-       tmpQRadioButton->setAutoRepeat(FALSE);
-
-       QPushButton *okbtn, *cbtn;
-       okbtn = new QPushButton("Find", &dlg);
-       okbtn->setGeometry(260, 10, 100, 30);
-       okbtn->setDefault(TRUE);
-       connect(okbtn,SIGNAL(clicked()), &dlg, SLOT(accept()));
+       dialog::FindDialog dialog(this);
 
-       cbtn = new QPushButton("Close", &dlg);
-       cbtn->setGeometry(260, 50, 100, 30);
-       connect(cbtn, SIGNAL(clicked()), &dlg, SLOT(reject()));
-
-       dlg.resize(380, 90);
-
-       if (dlg.exec()) {
-               sensitive = tmpQRadioButton->isChecked();
-               find_text = tmpQLineEdit->text();
+       if (dialog.exec()) {
+               sensitive = dialog.isCaseSensitive();
+               find_text = dialog.getSearchText();
                
                QTextDocument::FindFlags flags = 0;
                
                if (sensitive) {
                        flags |= QTextDocument::FindCaseSensitively;
                }
+
                editor->find(find_text, flags);
        }
 }
@@ -309,7 +288,7 @@ void Editor::on_actionFind_Next_triggered()
  */
 void Editor::on_actionPreferences_triggered()
 {
-       PreferencesDialog dialog(this);
+       dialog::PreferencesDialog dialog(this);
 
        dialog.setCompilerPath(compiler_path);
        dialog.setFilesPath(file_path);
@@ -350,7 +329,7 @@ void Editor::on_actionCompile_Gen_triggered()
 
 void Editor::on_actionProgram_structure_triggered()
 {
-       ProgramStructureDialog dialog(this);
+       dialog::ProgramStructureDialog dialog(this);
 
        if (dialog.exec()) {
                editor->textCursor().insertText(dialog.getCode());
@@ -359,13 +338,16 @@ void Editor::on_actionProgram_structure_triggered()
 
 void Editor::on_actionUnit_structure_triggered()
 {
-       UnitStructureDialog dialog(this);
+       dialog::UnitStructureDialog dialog(this);
 
        if (dialog.exec()) {
                editor->textCursor().insertText(dialog.getCode());
        }
 }
 
+}
+}
+
 /**
  * Program main function.
  * argv[1] is mandatory and should be a path to the home directory of
@@ -377,7 +359,7 @@ void Editor::on_actionUnit_structure_triggered()
 int main(int argc, char **argv)
 {
        QApplication app(argc, argv);
-       Editor * editor = new Editor(argc, argv);
+       loglan::vlp::Editor * editor = new loglan::vlp::Editor(argc, argv);
        editor->show();
        return app.exec();
 }