Mercurial > hg > octave-avbm
view libgui/src/settings-dialog.h @ 16640:3c2e457eeb72 default tip
ask for saving modified editor files if octave is closed (bug #38689)
* files-editor-tab.cc(constrctor): init new flag indicating if app is closing,
(check_file_modified): message box is modal if app is closing, no cancel,
parent of box is the editor's tab widget for a correct palcement of the box,
(conditional_close): new second arg: flag for closing app (default false),
it is stored in the tab's class wide flag
* file-editor-tab.h: second arg for conditional_close and new class wide flag
* file-editor.cc(destructor): sending close requests to all editor tabs with
flag indicating the application is closing
(add_file_editor_tab): new arg for fetab_close_request and conditional_close
* file-editor.h: new 2nd arg for fetab_close_request (closing app, def. false)
* main-window.cc(destructor): delete editor window first for showing the message
boxes for modified editor files in front of a complete gui
author | Torsten <ttl@justmail.de> |
---|---|
date | Sat, 11 May 2013 18:20:31 +0200 (2013-05-11) |
parents | d788ee8b8a99 |
children |
line wrap: on
line source
/* Copyright (C) 2011-2012 Jacob Dawid This file is part of Octave. Octave is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. Octave is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Octave; see the file COPYING. If not, see <http://www.gnu.org/licenses/>. */ #ifndef SETTINGSDIALOG_H #define SETTINGSDIALOG_H #include <QDialog> #include <QSettings> #ifdef HAVE_QSCINTILLA #include "lexer-octave-gui.h" #endif namespace Ui { class settings_dialog; } class settings_dialog:public QDialog { Q_OBJECT public: explicit settings_dialog (QWidget * parent); ~settings_dialog (); void write_changed_settings (); private: Ui::settings_dialog * ui; #ifdef HAVE_QSCINTILLA void read_lexer_settings (QsciLexer *lexer, QSettings *settings); void write_lexer_settings (QsciLexer *lexer, QSettings *settings); int get_valid_lexer_styles (QsciLexer *lexer, int styles[]); enum { MaxLexerStyles = 64, MaxStyleNumber = 128 }; #endif void read_workspace_colors (QSettings *settings); void write_workspace_colors (QSettings *settings); void read_terminal_colors (QSettings *settings); void write_terminal_colors (QSettings *settings); }; #endif // SETTINGSDIALOG_H