Mercurial > octave-libgccjit
annotate libgui/src/octave-gui.cc @ 17744:d63878346099
maint: Update copyright notices for release.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 23 Oct 2013 22:09:27 -0400 |
parents | d3bb7f1e3971 |
children | 5f2fb93bdc8b |
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 |
17744
d63878346099
maint: Update copyright notices for release.
John W. Eaton <jwe@octave.org>
parents:
17737
diff
changeset
|
3 Copyright (C) 2011-2013 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 |
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15139
diff
changeset
|
24 #include <config.h> |
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 |
13501 | 27 #include <QtGui/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> |
13501 | 29 #include <QTranslator> |
15155
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15139
diff
changeset
|
30 |
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15139
diff
changeset
|
31 #include <iostream> |
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15139
diff
changeset
|
32 |
16657
c1d5bf2eb3b6
go back to fork and setsid, but not on OS X systems
John W. Eaton <jwe@octave.org>
parents:
16598
diff
changeset
|
33 #include <unistd.h> |
16597
49832f60282e
if available, use ioctl to give up controlling terminal
Ben Abbott <bpabbott@mac.com>
parents:
16486
diff
changeset
|
34 #include <fcntl.h> |
49832f60282e
if available, use ioctl to give up controlling terminal
Ben Abbott <bpabbott@mac.com>
parents:
16486
diff
changeset
|
35 |
49832f60282e
if available, use ioctl to give up controlling terminal
Ben Abbott <bpabbott@mac.com>
parents:
16486
diff
changeset
|
36 #if defined (HAVE_SYS_IOCTL_H) |
49832f60282e
if available, use ioctl to give up controlling terminal
Ben Abbott <bpabbott@mac.com>
parents:
16486
diff
changeset
|
37 #include <sys/ioctl.h> |
49832f60282e
if available, use ioctl to give up controlling terminal
Ben Abbott <bpabbott@mac.com>
parents:
16486
diff
changeset
|
38 #endif |
49832f60282e
if available, use ioctl to give up controlling terminal
Ben Abbott <bpabbott@mac.com>
parents:
16486
diff
changeset
|
39 |
15368
36ececf69385
avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents:
15209
diff
changeset
|
40 #include "lo-utils.h" |
15597
9046ee786fe1
Use octave_env instead of setenv.
Michael Goffioul <michael.goffioul@gmail.com>
parents:
15425
diff
changeset
|
41 #include "oct-env.h" |
17569
9d0992c6df30
arrange to pass signals to the GUI subprocess
John W. Eaton <jwe@octave.org>
parents:
17568
diff
changeset
|
42 #include "oct-syscalls.h" |
15368
36ececf69385
avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents:
15209
diff
changeset
|
43 #include "syswait.h" |
15155
9e62d5a3a45e
partial cleanup of include files in gui sources
John W. Eaton <jwe@octave.org>
parents:
15139
diff
changeset
|
44 |
17569
9d0992c6df30
arrange to pass signals to the GUI subprocess
John W. Eaton <jwe@octave.org>
parents:
17568
diff
changeset
|
45 #include "sighandlers.h" |
9d0992c6df30
arrange to pass signals to the GUI subprocess
John W. Eaton <jwe@octave.org>
parents:
17568
diff
changeset
|
46 |
14707
674740c44c09
Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14703
diff
changeset
|
47 #include "welcome-wizard.h" |
674740c44c09
Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14703
diff
changeset
|
48 #include "resource-manager.h" |
674740c44c09
Changed various files to matche file naming conventions.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14703
diff
changeset
|
49 #include "main-window.h" |
15139
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
50 #include "octave-gui.h" |
13501 | 51 |
17737
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
52 |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
53 // custom message handler for filtering some messages from qt |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
54 void message_handler (QtMsgType type, const char *msg) |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
55 { |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
56 switch (type) { |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
57 case QtDebugMsg: |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
58 if (strcmp(msg,"QFileSystemWatcher: skipping native engine") > 0) |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
59 break; |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
60 fprintf(stderr, "Debug: %s\n", msg); |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
61 break; |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
62 case QtWarningMsg: |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
63 fprintf(stderr, "Warning: %s\n", msg); |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
64 break; |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
65 case QtCriticalMsg: |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
66 fprintf(stderr, "Critical: %s\n", msg); |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
67 break; |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
68 case QtFatalMsg: |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
69 fprintf(stderr, "Fatal: %s\n", msg); |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
70 abort(); |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
71 } |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
72 } |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
73 |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
74 |
15137
16a6b0a6855d
GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents:
15081
diff
changeset
|
75 // Dissociate from the controlling terminal, if any. |
16a6b0a6855d
GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents:
15081
diff
changeset
|
76 |
16a6b0a6855d
GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents:
15081
diff
changeset
|
77 static void |
16a6b0a6855d
GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents:
15081
diff
changeset
|
78 dissociate_terminal (void) |
13501 | 79 { |
16657
c1d5bf2eb3b6
go back to fork and setsid, but not on OS X systems
John W. Eaton <jwe@octave.org>
parents:
16598
diff
changeset
|
80 #if ! (defined (__WIN32__) || defined (__APPLE__)) || defined (__CYGWIN__) |
16597
49832f60282e
if available, use ioctl to give up controlling terminal
Ben Abbott <bpabbott@mac.com>
parents:
16486
diff
changeset
|
81 |
15137
16a6b0a6855d
GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents:
15081
diff
changeset
|
82 pid_t pid = fork (); |
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
|
83 |
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
|
84 if (pid < 0) |
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
|
85 { |
15137
16a6b0a6855d
GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents:
15081
diff
changeset
|
86 std::cerr << "fork failed!" << std::endl;; |
16a6b0a6855d
GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents:
15081
diff
changeset
|
87 exit (1); |
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
|
88 } |
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
|
89 else if (pid == 0) |
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
|
90 { |
15137
16a6b0a6855d
GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents:
15081
diff
changeset
|
91 // Child. |
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
|
92 |
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
|
93 if (setsid () < 0) |
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
|
94 { |
15137
16a6b0a6855d
GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents:
15081
diff
changeset
|
95 std::cerr << "setsid error" << std::endl; |
16a6b0a6855d
GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents:
15081
diff
changeset
|
96 exit (1); |
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
|
97 } |
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
|
98 } |
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
|
99 else |
15139
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
100 { |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
101 // Parent |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
102 |
17569
9d0992c6df30
arrange to pass signals to the GUI subprocess
John W. Eaton <jwe@octave.org>
parents:
17568
diff
changeset
|
103 install_gui_driver_signal_handlers (pid); |
16657
c1d5bf2eb3b6
go back to fork and setsid, but not on OS X systems
John W. Eaton <jwe@octave.org>
parents:
16598
diff
changeset
|
104 |
15139
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
105 int status; |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
106 |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
107 waitpid (pid, &status, 0); |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
108 |
15368
36ececf69385
avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents:
15209
diff
changeset
|
109 exit (octave_wait::ifexited (status) |
36ececf69385
avoid some GCC warnings in the libgui code
John W. Eaton <jwe@octave.org>
parents:
15209
diff
changeset
|
110 ? octave_wait::exitstatus (status) : 127); |
15139
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
111 } |
bfc220d1de67
include gui in default Octave binary
John W. Eaton <jwe@octave.org>
parents:
15137
diff
changeset
|
112 |
15137
16a6b0a6855d
GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents:
15081
diff
changeset
|
113 #endif |
16a6b0a6855d
GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents:
15081
diff
changeset
|
114 } |
16a6b0a6855d
GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents:
15081
diff
changeset
|
115 |
16a6b0a6855d
GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents:
15081
diff
changeset
|
116 int |
17568
1b388d922e6b
provide --no-fork command line option
John W. Eaton <jwe@octave.org>
parents:
17543
diff
changeset
|
117 octave_start_gui (int argc, char *argv[], bool fork) |
15137
16a6b0a6855d
GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents:
15081
diff
changeset
|
118 { |
17568
1b388d922e6b
provide --no-fork command line option
John W. Eaton <jwe@octave.org>
parents:
17543
diff
changeset
|
119 if (fork) |
1b388d922e6b
provide --no-fork command line option
John W. Eaton <jwe@octave.org>
parents:
17543
diff
changeset
|
120 dissociate_terminal (); |
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
|
121 |
17737
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
122 qInstallMsgHandler(message_handler); |
d3bb7f1e3971
prevent the editor's file watcher from signaling fasle alarms (bug #40312)
Torsten <ttl@justmail.de>
parents:
17647
diff
changeset
|
123 |
13506
c70511cf64ee
Reformatted to GNU Style.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13504
diff
changeset
|
124 QApplication application (argc, argv); |
15137
16a6b0a6855d
GUI: support for octave arguments and integrate with run-octave.
John W. Eaton <jwe@octave.org>
parents:
15081
diff
changeset
|
125 |
17647
7ec70c575ad6
* octave-gui.cc: set the encoding of qt strings to utf8
Torsten <ttl@justmail.de>
parents:
17569
diff
changeset
|
126 // Set the codec for all strings |
7ec70c575ad6
* octave-gui.cc: set the encoding of qt strings to utf8
Torsten <ttl@justmail.de>
parents:
17569
diff
changeset
|
127 QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); |
7ec70c575ad6
* octave-gui.cc: set the encoding of qt strings to utf8
Torsten <ttl@justmail.de>
parents:
17569
diff
changeset
|
128 |
17543
dbda6edfe01d
* octave-gui.cc: install translators before showing the wlecome wizard
Torsten <ttl@justmail.de>
parents:
17360
diff
changeset
|
129 // install translators for the gui and qt text |
dbda6edfe01d
* octave-gui.cc: install translators before showing the wlecome wizard
Torsten <ttl@justmail.de>
parents:
17360
diff
changeset
|
130 QTranslator gui_tr, qt_tr, qsci_tr; |
dbda6edfe01d
* octave-gui.cc: install translators before showing the wlecome wizard
Torsten <ttl@justmail.de>
parents:
17360
diff
changeset
|
131 resource_manager::config_translators (&qt_tr,&qsci_tr,&gui_tr); |
dbda6edfe01d
* octave-gui.cc: install translators before showing the wlecome wizard
Torsten <ttl@justmail.de>
parents:
17360
diff
changeset
|
132 application.installTranslator (&qt_tr); |
dbda6edfe01d
* octave-gui.cc: install translators before showing the wlecome wizard
Torsten <ttl@justmail.de>
parents:
17360
diff
changeset
|
133 application.installTranslator (&qsci_tr); |
dbda6edfe01d
* octave-gui.cc: install translators before showing the wlecome wizard
Torsten <ttl@justmail.de>
parents:
17360
diff
changeset
|
134 application.installTranslator (&gui_tr); |
dbda6edfe01d
* octave-gui.cc: install translators before showing the wlecome wizard
Torsten <ttl@justmail.de>
parents:
17360
diff
changeset
|
135 |
13668
421afeae929b
Added a settings wizard that appears at first startup of Octave GUI.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13658
diff
changeset
|
136 while (true) |
421afeae929b
Added a settings wizard that appears at first startup of Octave GUI.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13658
diff
changeset
|
137 { |
15164
bc801a44bb1f
follow Octave pattern for resource_manager singleton
John W. Eaton <jwe@octave.org>
parents:
15155
diff
changeset
|
138 if (resource_manager::is_first_run ()) |
13668
421afeae929b
Added a settings wizard that appears at first startup of Octave GUI.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13658
diff
changeset
|
139 { |
14709
f50591409306
Started to rename class names and methods from camel case to underscore-
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14707
diff
changeset
|
140 welcome_wizard welcomeWizard; |
14804
a565c560e654
Replaced a lot of terminal interaction with events: Clearing, loading and saving workspace, running a file. Default location for saving a new file is now the current working directory. Fixed bad settings with a fresh installation of the GUI by providing a file with default settings and installing it when appropriate.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14712
diff
changeset
|
141 welcomeWizard.exec (); |
15164
bc801a44bb1f
follow Octave pattern for resource_manager singleton
John W. Eaton <jwe@octave.org>
parents:
15155
diff
changeset
|
142 resource_manager::reload_settings (); |
13668
421afeae929b
Added a settings wizard that appears at first startup of Octave GUI.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13658
diff
changeset
|
143 } |
421afeae929b
Added a settings wizard that appears at first startup of Octave GUI.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13658
diff
changeset
|
144 else |
421afeae929b
Added a settings wizard that appears at first startup of Octave GUI.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13658
diff
changeset
|
145 { |
15972
22ab4fe661d7
gui: selectable language in settings dialog
Torsten <ttl@justmail.de>
parents:
15708
diff
changeset
|
146 // update network-settings |
15164
bc801a44bb1f
follow Octave pattern for resource_manager singleton
John W. Eaton <jwe@octave.org>
parents:
15155
diff
changeset
|
147 resource_manager::update_network_settings (); |
13668
421afeae929b
Added a settings wizard that appears at first startup of Octave GUI.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13658
diff
changeset
|
148 |
16598
e84b77df8940
ensure TERM environment variable is set when GUI starts
John W. Eaton <jwe@octave.org>
parents:
16597
diff
changeset
|
149 #if ! defined (__WIN32__) || defined (__CYGWIN__) |
e84b77df8940
ensure TERM environment variable is set when GUI starts
John W. Eaton <jwe@octave.org>
parents:
16597
diff
changeset
|
150 // If we were started from a launcher, TERM might not be |
e84b77df8940
ensure TERM environment variable is set when GUI starts
John W. Eaton <jwe@octave.org>
parents:
16597
diff
changeset
|
151 // defined, but we provide a terminal with xterm |
e84b77df8940
ensure TERM environment variable is set when GUI starts
John W. Eaton <jwe@octave.org>
parents:
16597
diff
changeset
|
152 // capabilities. |
e84b77df8940
ensure TERM environment variable is set when GUI starts
John W. Eaton <jwe@octave.org>
parents:
16597
diff
changeset
|
153 |
e84b77df8940
ensure TERM environment variable is set when GUI starts
John W. Eaton <jwe@octave.org>
parents:
16597
diff
changeset
|
154 std::string term = octave_env::getenv ("TERM"); |
e84b77df8940
ensure TERM environment variable is set when GUI starts
John W. Eaton <jwe@octave.org>
parents:
16597
diff
changeset
|
155 |
e84b77df8940
ensure TERM environment variable is set when GUI starts
John W. Eaton <jwe@octave.org>
parents:
16597
diff
changeset
|
156 if (term.empty ()) |
e84b77df8940
ensure TERM environment variable is set when GUI starts
John W. Eaton <jwe@octave.org>
parents:
16597
diff
changeset
|
157 octave_env::putenv ("TERM", "xterm"); |
17360
afc3d47f7704
Update windows GUI terminal handling
John Donoghue <john.donoghue@ieee.org>
parents:
17083
diff
changeset
|
158 #else |
afc3d47f7704
Update windows GUI terminal handling
John Donoghue <john.donoghue@ieee.org>
parents:
17083
diff
changeset
|
159 std::string term = octave_env::getenv ("TERM"); |
afc3d47f7704
Update windows GUI terminal handling
John Donoghue <john.donoghue@ieee.org>
parents:
17083
diff
changeset
|
160 |
afc3d47f7704
Update windows GUI terminal handling
John Donoghue <john.donoghue@ieee.org>
parents:
17083
diff
changeset
|
161 if (term.empty ()) |
afc3d47f7704
Update windows GUI terminal handling
John Donoghue <john.donoghue@ieee.org>
parents:
17083
diff
changeset
|
162 octave_env::putenv ("TERM", "cygwin"); |
16598
e84b77df8940
ensure TERM environment variable is set when GUI starts
John W. Eaton <jwe@octave.org>
parents:
16597
diff
changeset
|
163 #endif |
e84b77df8940
ensure TERM environment variable is set when GUI starts
John W. Eaton <jwe@octave.org>
parents:
16597
diff
changeset
|
164 |
15972
22ab4fe661d7
gui: selectable language in settings dialog
Torsten <ttl@justmail.de>
parents:
15708
diff
changeset
|
165 // create main window, read settings, and show window |
14709
f50591409306
Started to rename class names and methods from camel case to underscore-
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
14707
diff
changeset
|
166 main_window w; |
17083
ceca3e65a8fe
make sure a central menu bar does not show a widgets title but "Octave"
Torsten <ttl@justmail.de>
parents:
16858
diff
changeset
|
167 w.read_settings (); // get widget settings and window layout |
15209
a3c8a3c2dbda
set initial keyboard focus in command window (bug #36955)
John W. Eaton <jwe@octave.org>
parents:
15204
diff
changeset
|
168 w.focus_command_window (); |
15987
47a4c92924a7
gui: prevent error messages at start-up (regression from changeset 6c0fce0632a4)
Torsten <ttl@justmail.de>
parents:
15972
diff
changeset
|
169 w.connect_visibility_changed (); // connect signals for changes in |
47a4c92924a7
gui: prevent error messages at start-up (regression from changeset 6c0fce0632a4)
Torsten <ttl@justmail.de>
parents:
15972
diff
changeset
|
170 // visibility not before w is shown |
13668
421afeae929b
Added a settings wizard that appears at first startup of Octave GUI.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13658
diff
changeset
|
171 return application.exec (); |
421afeae929b
Added a settings wizard that appears at first startup of Octave GUI.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13658
diff
changeset
|
172 } |
421afeae929b
Added a settings wizard that appears at first startup of Octave GUI.
Jacob Dawid <jacob.dawid@googlemail.com>
parents:
13658
diff
changeset
|
173 } |
13501 | 174 } |