Mercurial > octave-libtiff
annotate libgui/src/octave-gui.cc @ 21203:710e700cdd7f
maint: Clean up naming and indentation of #ifdef blocks in libgui
Rename guard #ifdef names to use octave_ namespace prefix and file name.
Indent #ifdef blocks.
* Backend.cc, Backend.h, BaseControl.cc, BaseControl.h, ButtonControl.cc,
ButtonControl.h, Canvas.cc, Canvas.h, CheckBoxControl.cc, CheckBoxControl.h,
Container.cc, Container.h, ContextMenu.cc, ContextMenu.h, EditControl.cc,
EditControl.h, Figure.cc, Figure.h, FigureWindow.cc, FigureWindow.h,
GLCanvas.cc, GLCanvas.h, GenericEventNotify.h, KeyMap.cc, KeyMap.h,
ListBoxControl.cc, ListBoxControl.h, Logger.cc, Logger.h, Menu.cc, Menu.h,
MenuContainer.h, MouseModeActionGroup.cc, MouseModeActionGroup.h, Object.cc,
Object.h, ObjectFactory.cc, ObjectFactory.h, ObjectProxy.cc, ObjectProxy.h,
Panel.cc, Panel.h, PopupMenuControl.cc, PopupMenuControl.h,
PushButtonControl.cc, PushButtonControl.h, PushTool.cc, PushTool.h,
QtHandlesUtils.cc, QtHandlesUtils.h, RadioButtonControl.cc,
RadioButtonControl.h, SliderControl.cc, SliderControl.h, TextControl.cc,
TextControl.h, TextEdit.cc, TextEdit.h, ToggleButtonControl.cc,
ToggleButtonControl.h, ToggleTool.cc, ToggleTool.h, ToolBar.cc, ToolBar.h,
ToolBarButton.cc, ToolBarButton.h, __init_qt__.cc, __init_qt__.h,
annotation-dialog.cc, annotation-dialog.h, gl-select.cc, gl-select.h,
color-picker.cc, color-picker.h, dialog.cc, documentation-dock-widget.cc,
documentation-dock-widget.h, files-dock-widget.cc, files-dock-widget.h,
find-files-dialog.cc, find-files-dialog.h, find-files-model.cc,
find-files-model.h, history-dock-widget.cc, history-dock-widget.h,
file-editor-interface.h, file-editor-tab.cc, file-editor-tab.h, file-editor.cc,
file-editor.h, find-dialog.cc, find-dialog.h, octave-qscintilla.cc,
octave-txt-lexer.cc, main-window.cc, octave-cmd.cc, octave-dock-widget.cc,
octave-gui.cc, octave-interpreter.cc, octave-interpreter.h, octave-qt-link.cc,
octave-qt-link.h, parser.cc, webinfo.cc, resource-manager.cc,
resource-manager.h, settings-dialog.cc, settings-dialog.h, shortcut-manager.cc,
shortcut-manager.h, terminal-dock-widget.cc, terminal-dock-widget.h,
thread-manager.cc, welcome-wizard.cc, welcome-wizard.h, workspace-model.cc,
workspace-view.cc:
Clean up naming and indentation of #ifdef blocks in libgui.
author | Rik <rik@octave.org> |
---|---|
date | Sat, 06 Feb 2016 07:32:37 -0800 |
parents | d29614aed16f |
children | 40de9f8f23a6 |
rev | line source |
---|---|
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
1 /* |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
2 |
19697
4197fc428c7d
maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents:
19686
diff
changeset
|
3 Copyright (C) 2011-2015 Jacob Dawid |
15204
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
4 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
5 This file is part of Octave. |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
6 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
7 Octave is free software; you can redistribute it and/or modify it |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
8 under the terms of the GNU General Public License as published by the |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
9 Free Software Foundation; either version 3 of the License, or (at your |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
10 option) any later version. |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
11 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
12 Octave is distributed in the hope that it will be useful, but WITHOUT |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
15 for more details. |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
16 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
17 You should have received a copy of the GNU General Public License |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
18 along with Octave; see the file COPYING. If not, see |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
19 <http://www.gnu.org/licenses/>. |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
20 |
359098ad343e
update copyright notices in libgui directory
John W. Eaton <jwe@octave.org>
parents:
15196
diff
changeset
|
21 */ |
13501 | 22 |
15155
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15139
diff
changeset
|
23 #ifdef HAVE_CONFIG_H |
21203
710e700cdd7f
maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents:
20671
diff
changeset
|
24 # include <config.h> |
15155
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15139
diff
changeset
|
25 #endif |
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15139
diff
changeset
|
26 |
17778
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
27 #include <QApplication> |
17647
7ec70c575ad6
* octave-gui.cc: set the encoding of qt strings to utf8
Torsten <ttl@justmail.de>
parents:
17569
diff
changeset
|
28 #include <QTextCodec> |
17778
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
29 #include <QThread> |
13501 | 30 #include <QTranslator> |
15155
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15139
diff
changeset
|
31 |
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15139
diff
changeset
|
32 #include <iostream> |
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15139
diff
changeset
|
33 |
16657
c1d5bf2eb3b6
go back to fork and setsid, but not on OS X systems
John W. Eaton <jwe@octave.org>
parents:
16598
diff
changeset
|
34 #include <unistd.h> |
16597
49832f60282e
if available, use ioctl to give up controlling terminal
Ben Abbott <bpabbott@mac.com>
parents:
16486
diff
changeset
|
35 #include <fcntl.h> |
49832f60282e
if available, use ioctl to give up controlling terminal
Ben Abbott <bpabbott@mac.com>
parents:
16486
diff
changeset
|
36 |
49832f60282e
if available, use ioctl to give up controlling terminal
Ben Abbott <bpabbott@mac.com>
parents:
16486
diff
changeset
|
37 #if defined (HAVE_SYS_IOCTL_H) |
21203
710e700cdd7f
maint: Clean up naming and indentation of #ifdef blocks in libgui
Rik <rik@octave.org>
parents:
20671
diff
changeset
|
38 # include <sys/ioctl.h> |
16597
49832f60282e
if available, use ioctl to give up controlling terminal
Ben Abbott <bpabbott@mac.com>
parents:
16486
diff
changeset
|
39 #endif |
49832f60282e
if available, use ioctl to give up controlling terminal
Ben Abbott <bpabbott@mac.com>
parents:
16486
diff
changeset
|
40 |
15368
36ececf69385
avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents:
15209
diff
changeset
|
41 #include "lo-utils.h" |
15597
9046ee786fe1
Use octave_env instead of setenv.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
15425
diff
changeset
|
42 #include "oct-env.h" |
17569
9d0992c6df30
arrange to pass signals to the GUI subprocess
John W. Eaton <jwe@octave.org>
parents:
17568
diff
changeset
|
43 #include "oct-syscalls.h" |
15368
36ececf69385
avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents:
15209
diff
changeset
|
44 #include "syswait.h" |
15155
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15139
diff
changeset
|
45 |
17778
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
46 #include "octave.h" |
17569
9d0992c6df30
arrange to pass signals to the GUI subprocess
John W. Eaton <jwe@octave.org>
parents:
17568
diff
changeset
|
47 #include "sighandlers.h" |
9d0992c6df30
arrange to pass signals to the GUI subprocess
John W. Eaton <jwe@octave.org>
parents:
17568
diff
changeset
|
48 |
14707
674740c44c09
Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14703
diff
changeset
|
49 #include "welcome-wizard.h" |
674740c44c09
Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14703
diff
changeset
|
50 #include "resource-manager.h" |
18611
086093fbdc1a
first implementation of a shortcut manager (bug #41217)
Torsten <ttl@justmail.de>
parents:
18575
diff
changeset
|
51 #include "shortcut-manager.h" |
14707
674740c44c09
Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14703
diff
changeset
|
52 #include "main-window.h" |
15139
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
53 #include "octave-gui.h" |
17922
b5bf26a054bd
interrupt interpreter thread in GUI instead of calling "raise (SIGINT)"
John W. Eaton <jwe@octave.org>
parents:
17804
diff
changeset
|
54 #include "thread-manager.h" |
13501 | 55 |
19868
c7c50030e76c
allow qt graphics toolkit to be used in --no-gui mode (bug #44116)
Stefan Mahr <dac922@gmx.de>
parents:
19861
diff
changeset
|
56 #include "builtin-defun-decls.h" |
c7c50030e76c
allow qt graphics toolkit to be used in --no-gui mode (bug #44116)
Stefan Mahr <dac922@gmx.de>
parents:
19861
diff
changeset
|
57 #include "__init_qt__.h" |
c7c50030e76c
allow qt graphics toolkit to be used in --no-gui mode (bug #44116)
Stefan Mahr <dac922@gmx.de>
parents:
19861
diff
changeset
|
58 |
17778
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
59 // Allow the Octave interpreter to start as in CLI mode with a |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
60 // QApplication context so that it can use Qt for things like plotting |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
61 // and UI widgets. |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
62 |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
63 class octave_cli_thread : public QThread |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
64 { |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
65 public: |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
66 |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
67 octave_cli_thread (int argc, char **argv) |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
68 : m_argc (argc), m_argv (argv), m_result (0) { } |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
69 |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
70 int result (void) const { return m_result; } |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
71 |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
72 protected: |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
73 |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
74 void run (void) |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
75 { |
17925
345a8027dc8b
unblock sigint in cli thread when using --no-gui
John W. Eaton <jwe@octave.org>
parents:
17922
diff
changeset
|
76 octave_thread_manager::unblock_interrupt_signal (); |
345a8027dc8b
unblock sigint in cli thread when using --no-gui
John W. Eaton <jwe@octave.org>
parents:
17922
diff
changeset
|
77 |
17778
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
78 octave_initialize_interpreter (m_argc, m_argv, 0); |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
79 |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
80 m_result = octave_execute_interpreter (); |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
81 |
17944
1ed269bdea58
octave-gui.cc: use QApplication instead of QCoreApplication in --no-gui mode.
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
17930
diff
changeset
|
82 QApplication::exit (m_result); |
17778
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
83 } |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
84 |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
85 private: |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
86 |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
87 int m_argc; |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
88 char** m_argv; |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
89 int m_result; |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
90 }; |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
91 |
18618
c644cfa9cb3b
suppress all X11 and Qt error messages by default
John W. Eaton <jwe@octave.org>
parents:
18569
diff
changeset
|
92 // Disable all Qt messages by default. |
17737
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
93 |
18618
c644cfa9cb3b
suppress all X11 and Qt error messages by default
John W. Eaton <jwe@octave.org>
parents:
18569
diff
changeset
|
94 static void |
19614
4c3ea57905fd
eliminate unused variable warnings in libgui
John W. Eaton <jwe@octave.org>
parents:
19594
diff
changeset
|
95 message_handler (QtMsgType, const char *) |
17790
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17778
diff
changeset
|
96 { |
86c6ae5f969e
Use GNU style coding conventions for code in libgui/
Rik <rik@octave.org>
parents:
17778
diff
changeset
|
97 } |
17737
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
98 |
17778
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
99 // If START_GUI is false, we still set up the QApplication so that we |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
100 // can use Qt widgets for plot windows. |
15137
16a6b0a6855d
GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents:
15081
diff
changeset
|
101 |
17778
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
102 int |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
103 octave_start_gui (int argc, char *argv[], bool start_gui) |
13501 | 104 { |
17922
b5bf26a054bd
interrupt interpreter thread in GUI instead of calling "raise (SIGINT)"
John W. Eaton <jwe@octave.org>
parents:
17804
diff
changeset
|
105 octave_thread_manager::block_interrupt_signal (); |
b5bf26a054bd
interrupt interpreter thread in GUI instead of calling "raise (SIGINT)"
John W. Eaton <jwe@octave.org>
parents:
17804
diff
changeset
|
106 |
18618
c644cfa9cb3b
suppress all X11 and Qt error messages by default
John W. Eaton <jwe@octave.org>
parents:
18569
diff
changeset
|
107 std::string show_gui_msgs = octave_env::getenv ("OCTAVE_SHOW_GUI_MESSAGES"); |
18569
90dbbafb0502
prevent X11 errors from appearing in GUI command window
John W. Eaton <jwe@octave.org>
parents:
18027
diff
changeset
|
108 |
18618
c644cfa9cb3b
suppress all X11 and Qt error messages by default
John W. Eaton <jwe@octave.org>
parents:
18569
diff
changeset
|
109 // Installing our handler suppresses the messages. |
c644cfa9cb3b
suppress all X11 and Qt error messages by default
John W. Eaton <jwe@octave.org>
parents:
18569
diff
changeset
|
110 if (show_gui_msgs.empty ()) |
c644cfa9cb3b
suppress all X11 and Qt error messages by default
John W. Eaton <jwe@octave.org>
parents:
18569
diff
changeset
|
111 qInstallMsgHandler (message_handler); |
14878
a6c44c28dabe
Added patch from jwe that forks the GUI process in order to have less work.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
14804
diff
changeset
|
112 |
19868
c7c50030e76c
allow qt graphics toolkit to be used in --no-gui mode (bug #44116)
Stefan Mahr <dac922@gmx.de>
parents:
19861
diff
changeset
|
113 install___init_qt___functions (); |
c7c50030e76c
allow qt graphics toolkit to be used in --no-gui mode (bug #44116)
Stefan Mahr <dac922@gmx.de>
parents:
19861
diff
changeset
|
114 |
c7c50030e76c
allow qt graphics toolkit to be used in --no-gui mode (bug #44116)
Stefan Mahr <dac922@gmx.de>
parents:
19861
diff
changeset
|
115 Fregister_graphics_toolkit (ovl ("qt")); |
c7c50030e76c
allow qt graphics toolkit to be used in --no-gui mode (bug #44116)
Stefan Mahr <dac922@gmx.de>
parents:
19861
diff
changeset
|
116 |
19949
857a8f018f53
set up octave_link when running with --no-gui option (bug #44116)
John W. Eaton <jwe@octave.org>
parents:
19868
diff
changeset
|
117 QApplication application (argc, argv); |
857a8f018f53
set up octave_link when running with --no-gui option (bug #44116)
John W. Eaton <jwe@octave.org>
parents:
19868
diff
changeset
|
118 QTranslator gui_tr, qt_tr, qsci_tr; |
857a8f018f53
set up octave_link when running with --no-gui option (bug #44116)
John W. Eaton <jwe@octave.org>
parents:
19868
diff
changeset
|
119 |
857a8f018f53
set up octave_link when running with --no-gui option (bug #44116)
John W. Eaton <jwe@octave.org>
parents:
19868
diff
changeset
|
120 // Set the codec for all strings (before wizard) |
19973 | 121 #if ! defined (Q_OS_WIN32) |
19949
857a8f018f53
set up octave_link when running with --no-gui option (bug #44116)
John W. Eaton <jwe@octave.org>
parents:
19868
diff
changeset
|
122 QTextCodec::setCodecForCStrings (QTextCodec::codecForName ("UTF-8")); |
857a8f018f53
set up octave_link when running with --no-gui option (bug #44116)
John W. Eaton <jwe@octave.org>
parents:
19868
diff
changeset
|
123 #endif |
857a8f018f53
set up octave_link when running with --no-gui option (bug #44116)
John W. Eaton <jwe@octave.org>
parents:
19868
diff
changeset
|
124 |
20246
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
125 // show wizard if this is the first run |
20259
36b32c07c045
Don't run wizard in --no-gui mode (see http://octave.1599824.n4.nabble.com/Octave-wants-to-run-startup-configuration-wizard-in-no-gui-mode-tp4670884.html)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
20246
diff
changeset
|
126 if (resource_manager::is_first_run () && start_gui) |
20246
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
127 { |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
128 // before wizard |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
129 resource_manager::config_translators (&qt_tr, &qsci_tr, &gui_tr); |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
130 application.installTranslator (&qt_tr); |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
131 application.installTranslator (&gui_tr); |
20259
36b32c07c045
Don't run wizard in --no-gui mode (see http://octave.1599824.n4.nabble.com/Octave-wants-to-run-startup-configuration-wizard-in-no-gui-mode-tp4670884.html)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
20246
diff
changeset
|
132 application.installTranslator (&qsci_tr); |
20246
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
133 |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
134 welcome_wizard welcomeWizard; |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
135 |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
136 if (welcomeWizard.exec () == QDialog::Rejected) |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
137 exit (1); |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
138 |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
139 resource_manager::reload_settings (); // install settings file |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
140 } |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
141 else |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
142 { |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
143 resource_manager::reload_settings (); // get settings file |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
144 |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
145 // after settings |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
146 resource_manager::config_translators (&qt_tr, &qsci_tr, &gui_tr); |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
147 application.installTranslator (&qt_tr); |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
148 application.installTranslator (&gui_tr); |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
149 if (start_gui) |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
150 application.installTranslator (&qsci_tr); |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
151 } |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
152 |
17778
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
153 if (start_gui) |
14878
a6c44c28dabe
Added patch from jwe that forks the GUI process in order to have less work.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
14804
diff
changeset
|
154 { |
17930
ffdbb82a0c78
allow welcome wizard dialog to be canceled
John W. Eaton <jwe@octave.org>
parents:
17925
diff
changeset
|
155 // update network-settings |
ffdbb82a0c78
allow welcome wizard dialog to be canceled
John W. Eaton <jwe@octave.org>
parents:
17925
diff
changeset
|
156 resource_manager::update_network_settings (); |
14878
a6c44c28dabe
Added patch from jwe that forks the GUI process in order to have less work.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
14804
diff
changeset
|
157 |
17778
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
158 #if ! defined (__WIN32__) || defined (__CYGWIN__) |
17930
ffdbb82a0c78
allow welcome wizard dialog to be canceled
John W. Eaton <jwe@octave.org>
parents:
17925
diff
changeset
|
159 // If we were started from a launcher, TERM might not be |
ffdbb82a0c78
allow welcome wizard dialog to be canceled
John W. Eaton <jwe@octave.org>
parents:
17925
diff
changeset
|
160 // defined, but we provide a terminal with xterm |
ffdbb82a0c78
allow welcome wizard dialog to be canceled
John W. Eaton <jwe@octave.org>
parents:
17925
diff
changeset
|
161 // capabilities. |
17778
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
162 |
17930
ffdbb82a0c78
allow welcome wizard dialog to be canceled
John W. Eaton <jwe@octave.org>
parents:
17925
diff
changeset
|
163 std::string term = octave_env::getenv ("TERM"); |
17778
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
164 |
17930
ffdbb82a0c78
allow welcome wizard dialog to be canceled
John W. Eaton <jwe@octave.org>
parents:
17925
diff
changeset
|
165 if (term.empty ()) |
ffdbb82a0c78
allow welcome wizard dialog to be canceled
John W. Eaton <jwe@octave.org>
parents:
17925
diff
changeset
|
166 octave_env::putenv ("TERM", "xterm"); |
17778
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
167 #else |
17930
ffdbb82a0c78
allow welcome wizard dialog to be canceled
John W. Eaton <jwe@octave.org>
parents:
17925
diff
changeset
|
168 std::string term = octave_env::getenv ("TERM"); |
17778
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
169 |
17930
ffdbb82a0c78
allow welcome wizard dialog to be canceled
John W. Eaton <jwe@octave.org>
parents:
17925
diff
changeset
|
170 if (term.empty ()) |
ffdbb82a0c78
allow welcome wizard dialog to be canceled
John W. Eaton <jwe@octave.org>
parents:
17925
diff
changeset
|
171 octave_env::putenv ("TERM", "cygwin"); |
17778
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
172 #endif |
b5d58667d32d
new main program wrapper to handle giving up controlling tty
John W. Eaton <jwe@octave.org>
parents:
17748
diff
changeset
|
173 |
18611
086093fbdc1a
first implementation of a shortcut manager (bug #41217)
Torsten <ttl@justmail.de>
parents:
18575
diff
changeset
|
174 // shortcut manager |
086093fbdc1a
first implementation of a shortcut manager (bug #41217)
Torsten <ttl@justmail.de>
parents:
18575
diff
changeset
|
175 shortcut_manager::init_data (); |
19949
857a8f018f53
set up octave_link when running with --no-gui option (bug #44116)
John W. Eaton <jwe@octave.org>
parents:
19868
diff
changeset
|
176 } |
18611
086093fbdc1a
first implementation of a shortcut manager (bug #41217)
Torsten <ttl@justmail.de>
parents:
18575
diff
changeset
|
177 |
20671
d29614aed16f
Force left-to-right alignment for the whole GUI (bug #46204)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
20259
diff
changeset
|
178 // Force left-to-right alignment (see bug #46204) |
d29614aed16f
Force left-to-right alignment for the whole GUI (bug #46204)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
20259
diff
changeset
|
179 application.setLayoutDirection (Qt::LeftToRight); |
d29614aed16f
Force left-to-right alignment for the whole GUI (bug #46204)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
20259
diff
changeset
|
180 |
19949
857a8f018f53
set up octave_link when running with --no-gui option (bug #44116)
John W. Eaton <jwe@octave.org>
parents:
19868
diff
changeset
|
181 // Create and show main window. |
17930
ffdbb82a0c78
allow welcome wizard dialog to be canceled
John W. Eaton <jwe@octave.org>
parents:
17925
diff
changeset
|
182 |
19949
857a8f018f53
set up octave_link when running with --no-gui option (bug #44116)
John W. Eaton <jwe@octave.org>
parents:
19868
diff
changeset
|
183 main_window w (0, start_gui); |
17930
ffdbb82a0c78
allow welcome wizard dialog to be canceled
John W. Eaton <jwe@octave.org>
parents:
17925
diff
changeset
|
184 |
19949
857a8f018f53
set up octave_link when running with --no-gui option (bug #44116)
John W. Eaton <jwe@octave.org>
parents:
19868
diff
changeset
|
185 if (start_gui) |
857a8f018f53
set up octave_link when running with --no-gui option (bug #44116)
John W. Eaton <jwe@octave.org>
parents:
19868
diff
changeset
|
186 { |
20246
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
187 w.read_settings (); |
6fe746def1aa
Also load settings and translations in --no-gui mode (bugs #44222 and #45199)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents:
19973
diff
changeset
|
188 |
19303
c6615ca0a11d
horizontal scrollbar for GUI terminal on Windows systems
John W. Eaton <jwe@octave.org>
parents:
18619
diff
changeset
|
189 w.init_terminal_size (); |
17930
ffdbb82a0c78
allow welcome wizard dialog to be canceled
John W. Eaton <jwe@octave.org>
parents:
17925
diff
changeset
|
190 |
ffdbb82a0c78
allow welcome wizard dialog to be canceled
John W. Eaton <jwe@octave.org>
parents:
17925
diff
changeset
|
191 // Connect signals for changes in visibility not before w |
ffdbb82a0c78
allow welcome wizard dialog to be canceled
John W. Eaton <jwe@octave.org>
parents:
17925
diff
changeset
|
192 // is shown. |
ffdbb82a0c78
allow welcome wizard dialog to be canceled
John W. Eaton <jwe@octave.org>
parents:
17925
diff
changeset
|
193 |
ffdbb82a0c78
allow welcome wizard dialog to be canceled
John W. Eaton <jwe@octave.org>
parents:
17925
diff
changeset
|
194 w.connect_visibility_changed (); |
ffdbb82a0c78
allow welcome wizard dialog to be canceled
John W. Eaton <jwe@octave.org>
parents:
17925
diff
changeset
|
195 |
18561
6b4f9cab88d6
*octave-gui.cc: focus terminal after all other actions at startup (bug #41814)
Torsten <ttl@justmail.de>
parents:
18027
diff
changeset
|
196 w.focus_command_window (); |
14878
a6c44c28dabe
Added patch from jwe that forks the GUI process in order to have less work.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
14804
diff
changeset
|
197 } |
a6c44c28dabe
Added patch from jwe that forks the GUI process in order to have less work.
Jacob Dawid <jacob.dawid@gmail.com>
parents:
14804
diff
changeset
|
198 else |
19949
857a8f018f53
set up octave_link when running with --no-gui option (bug #44116)
John W. Eaton <jwe@octave.org>
parents:
19868
diff
changeset
|
199 application.setQuitOnLastWindowClosed (false); |
19593
446c46af4b42
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
18618
diff
changeset
|
200 |
19949
857a8f018f53
set up octave_link when running with --no-gui option (bug #44116)
John W. Eaton <jwe@octave.org>
parents:
19868
diff
changeset
|
201 return application.exec (); |
13501 | 202 } |