diff options
author | Michele Calgaro <[email protected]> | 2023-04-24 15:50:43 +0900 |
---|---|---|
committer | Michele Calgaro <[email protected]> | 2023-04-24 15:50:43 +0900 |
commit | b3c19a6270926cc1e57aa1f33cb07af29eb3e896 (patch) | |
tree | 5bb9d88698aa83b31645732f4aa08b92701a9037 /src/MainWindow.cpp | |
parent | 425e16ad894fd23d7c5b061acffba6cd04a1b1db (diff) | |
download | universal-indent-gui-tqt-b3c19a6270926cc1e57aa1f33cb07af29eb3e896.tar.gz universal-indent-gui-tqt-b3c19a6270926cc1e57aa1f33cb07af29eb3e896.zip |
Added logic to open a file using the "Open source file" menu entry,
the toolbar button or by passing it as argument from CLI.
Signed-off-by: Michele Calgaro <[email protected]>
Diffstat (limited to 'src/MainWindow.cpp')
-rw-r--r-- | src/MainWindow.cpp | 115 |
1 files changed, 56 insertions, 59 deletions
diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index ab3040d..9bffe4f 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -39,6 +39,7 @@ #include <tqcheckbox.h> #include <tqcursor.h> #include <tqfile.h> +#include <tqfiledialog.h> #include <tqfileinfo.h> #include <tqlabel.h> #include <tqlocale.h> @@ -53,7 +54,6 @@ ///-- #include <tqstring.h> ///-- #include <tqscrollbar.h> ///-- #include <tqtextcursor.h> -///-- #include <tqfiledialog.h> ///-- #include <tqtextstream.h> ///-- #include <tqtextdocument.h> ///-- #include <tqprinter.h> @@ -156,12 +156,12 @@ MainWindow::MainWindow(TQString file2OpenOnStart, TQWidget *parent) : MainWindow::~MainWindow() { delete m_aboutDialog; - ///-- _settings.clear(); + UiGuiSettings::deleteInstance(); } -///-- /* -///-- \brief Initializes the main window by creating the main gui and make some _settings. -///-- */ +/* + \brief Initializes the main window by creating the main gui and make some settings. + */ void MainWindow::initMainWindow() { // For icon setup @@ -296,11 +296,6 @@ void MainWindow::initToolBar() void MainWindow::initTextEditor() { // Create the TQScintilla widget and add it to the layout. - //tqDebug("Trying to load TQScintilla library. If anything fails during loading, it might be " - // "possible that the debug and release version of TQScintilla are mixed or the library " - // "cannot be found at all."); - // Try and catch doesn't seem to catch the runtime error when starting UiGUI release with - // TQScintilla debug lib and the other way around. try { m_qSciSourceCodeEditor = new TQextScintilla(this); @@ -504,52 +499,54 @@ TQString MainWindow::loadFile(const TQString &filePath) /* \brief Calls the source file open dialog to load a source file for the formatting preview. - If the file was successfully loaded the indenter will be called to generate the formatted source code. + If the file was successfully loaded, the indenter will be called to generate the formatted source code. */ -void MainWindow::openSourceFileDialog(TQString fileName) +void MainWindow::openSourceFileDialog(const TQString &fileName) { -///-- // If the source code file is changed and the shown dialog for saving the file -///-- // is canceled, also stop opening another source file. -///-- if (!maybeSave()) -///-- { -///-- return; -///-- } -///-- TQString openedSourceFileContent = ""; + // If the source code file is changed and the shown dialog for saving the file + // is canceled, also stop opening another source file. + if (!maybeSave()) + { + return; + } + TQString openedSourceFileContent = ""; + TQString fileExtensions = "*.h *.c *.cpp *.*"; // Remove this line when the indenter is available ///-- TQString fileExtensions = tr("Supported by indenter") + " (" + ///-- _indentHandler->getPossibleIndenterFileExtensions() + ");;" + tr("All files") + " (*.*)"; ///-- ///-- //TQString openedSourceFileContent = openFileDialog( tr("Choose source code file"), "./", -///-- // fileExtensions ); -///-- if (fileName.isEmpty()) -///-- { -///-- fileName = TQFileDialog::getOpenFileName(this, tr( -///-- "Choose source code file"), m_currentSourceFile, fileExtensions); -///-- } -///-- -///-- if (fileName != "") -///-- { -///-- m_currentSourceFile = fileName; -///-- TQFileInfo fileInfo(fileName); -///-- m_currentSourceFileExtension = fileInfo.suffix(); -///-- -///-- openedSourceFileContent = loadFile(fileName); -///-- m_sourceFileContent = openedSourceFileContent; -///-- if (m_toolBarWidget->cbLivePreview->isChecked()) -///-- { -///-- callIndenter(); -///-- } -///-- m_sourceCodeChanged = true; -///-- m_previewToggled = true; -///-- updateSourceView(); -///-- updateWindowTitle(); -///-- updateRecentlyOpenedList(); +///-- // fileExtensions ); + TQString fileToOpen = fileName; + if (fileToOpen.isEmpty()) + { + fileToOpen = TQFileDialog::getOpenFileName(m_currentSourceFile, fileExtensions, this, nullptr, + tr("Choose source code file")); + } + + if (!fileToOpen.isEmpty()) + { + m_currentSourceFile = fileToOpen; + TQFileInfo fileInfo(fileToOpen); + m_currentSourceFileExtension = fileInfo.extension(false); + + openedSourceFileContent = loadFile(fileToOpen); + m_sourceFileContent = openedSourceFileContent; + if (m_toolBarWidget->cbLivePreview->isChecked()) + { + callIndenter(); + } + m_sourceCodeChanged = true; + m_previewToggled = true; + updateSourceView(); + updateWindowTitle(); + updateRecentlyOpenedList(); ///-- _textEditLastScrollPos = 0; ///-- m_textEditVScrollBar->setValue(_textEditLastScrollPos); -///-- -///-- m_savedSourceContent = openedSourceFileContent; -///-- m_qSciSourceCodeEditor->setModified(false); -///-- m_documentModified = false; -///-- } + + m_savedSourceContent = openedSourceFileContent; + m_qSciSourceCodeEditor->setModified(false); + m_documentModified = false; + } } /* @@ -689,19 +686,19 @@ void MainWindow::updateSourceView() ///-- m_textEditVScrollBar->setValue(_textEditLastScrollPos); } -///-- /* -///-- \brief Calls the selected indenter with the currently loaded source code to retrieve the formatted source code. -///-- -///-- The original loaded source code file will not be changed. -///-- */ -///-- void MainWindow::callIndenter() -///-- { -///-- TQApplication::setOverrideCursor(TQCursor(TQt::WaitCursor)); +/* + \brief Calls the selected indenter with the currently loaded source code to retrieve the formatted source code. + + The original loaded source code file will not be changed. + */ +void MainWindow::callIndenter() +{ + TQApplication::setOverrideCursor(TQCursor(TQt::WaitCursor)); ///-- m_sourceFormattedContent = _indentHandler->callIndenter(m_sourceFileContent, ///-- m_currentSourceFileExtension); -///-- //updateSourceView(); -///-- TQApplication::restoreOverrideCursor(); -///-- } + updateSourceView(); + TQApplication::restoreOverrideCursor(); +} /* \brief Switches the syntax highlighting corresponding to the value \a turnOn either on or off. |