summaryrefslogtreecommitdiff
path: root/libopie2/opiecore/oapplication.cpp
Unidiff
Diffstat (limited to 'libopie2/opiecore/oapplication.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/oapplication.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/libopie2/opiecore/oapplication.cpp b/libopie2/opiecore/oapplication.cpp
index 06d8ba2..84cab48 100644
--- a/libopie2/opiecore/oapplication.cpp
+++ b/libopie2/opiecore/oapplication.cpp
@@ -9,72 +9,77 @@
9.> <`_,   >  .   <= redistribute it and/or modify it under 9.> <`_,   >  .   <= redistribute it and/or modify it under
10:`=1 )Y*s>-.--   : the terms of the GNU Library General Public 10:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
11.="- .-=="i,     .._ License as published by the Free Software 11.="- .-=="i,     .._ License as published by the Free Software
12 - .   .-<_>     .<> Foundation; either version 2 of the License, 12 - .   .-<_>     .<> Foundation; either version 2 of the License,
13     ._= =}       : or (at your option) any later version. 13     ._= =}       : or (at your option) any later version.
14    .%`+i>       _;_. 14    .%`+i>       _;_.
15    .i_,=:_.      -<s. This program is distributed in the hope that 15    .i_,=:_.      -<s. This program is distributed in the hope that
16     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 16     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
17    : ..    .:,     . . . without even the implied warranty of 17    : ..    .:,     . . . without even the implied warranty of
18    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 18    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
19  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 19  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
20..}^=.=       =       ; Library General Public License for more 20..}^=.=       =       ; Library General Public License for more
21++=   -.     .`     .: details. 21++=   -.     .`     .: details.
22 :     =  ...= . :.=- 22 :     =  ...= . :.=-
23 -.   .:....=;==+<; You should have received a copy of the GNU 23 -.   .:....=;==+<; You should have received a copy of the GNU
24  -_. . .   )=.  = Library General Public License along with 24  -_. . .   )=.  = Library General Public License along with
25    --        :-=` this library; see the file COPYING.LIB. 25    --        :-=` this library; see the file COPYING.LIB.
26 If not, write to the Free Software Foundation, 26 If not, write to the Free Software Foundation,
27 Inc., 59 Temple Place - Suite 330, 27 Inc., 59 Temple Place - Suite 330,
28 Boston, MA 02111-1307, USA. 28 Boston, MA 02111-1307, USA.
29*/ 29*/
30 30
31#include <opie2/oapplication.h> 31#include <opie2/oapplication.h>
32#include <opie2/oconfig.h> 32#include <opie2/oconfig.h>
33#include <opie2/odebug.h>
33 34
34#include <signal.h> 35#include <signal.h>
35#include <stdio.h> 36#include <stdio.h>
36 37
37OApplication* OApplication::_instance = 0; 38OApplication* OApplication::_instance = 0;
38 39
39/**************************************************************************************************/ 40/**************************************************************************************************/
40/* OApplicationPrivate 41/* OApplicationPrivate
41/**************************************************************************************************/ 42/**************************************************************************************************/
42 43
43class OApplicationPrivate 44class OApplicationPrivate
44{ 45{
45 public: 46 public:
46 OApplicationPrivate() {}; 47 OApplicationPrivate() {};
47 ~OApplicationPrivate() {}; 48 ~OApplicationPrivate() {};
48}; 49};
49 50
50/**************************************************************************************************/ 51/**************************************************************************************************/
51/* OApplication 52/* OApplication
52/**************************************************************************************************/ 53/**************************************************************************************************/
53 54
54 55
55OApplication::OApplication( int& argc, char** argv, const QCString& rAppName ) 56OApplication::OApplication( int& argc, char** argv, const QCString& rAppName )
57#ifdef QWS
56 :QPEApplication( argc, argv ), 58 :QPEApplication( argc, argv ),
59#else
60 :QApplication( argc, argv ),
61#endif
57 _appname( rAppName ), 62 _appname( rAppName ),
58 _config( 0 ) 63 _config( 0 )
59{ 64{
60 init(); 65 init();
61} 66}
62 67
63 68
64OApplication::~OApplication() 69OApplication::~OApplication()
65{ 70{
66 delete d; 71 delete d;
67 if ( _config ) 72 if ( _config )
68 delete _config; 73 delete _config;
69 OApplication::_instance = 0; 74 OApplication::_instance = 0;
70 // after deconstruction of the one-and-only application object, 75 // after deconstruction of the one-and-only application object,
71 // the construction of another object is allowed 76 // the construction of another object is allowed
72} 77}
73 78
74 79
75OConfig* OApplication::config() 80OConfig* OApplication::config()
76{ 81{
77 if ( !_config ) 82 if ( !_config )
78 { 83 {
79 _config = new OConfig( _appname ); 84 _config = new OConfig( _appname );
80 } 85 }
@@ -86,40 +91,47 @@ void OApplication::init()
86{ 91{
87 d = new OApplicationPrivate(); 92 d = new OApplicationPrivate();
88 if ( !OApplication::_instance ) 93 if ( !OApplication::_instance )
89 { 94 {
90 OApplication::_instance = this; 95 OApplication::_instance = this;
91 96
92 /* register SIGSEGV handler to give programs an option 97 /* register SIGSEGV handler to give programs an option
93 * to exit gracefully, e.g. save or close devices or files. 98 * to exit gracefully, e.g. save or close devices or files.
94 struct sigaction sa; 99 struct sigaction sa;
95 sa.sa_handler = ( void (*)(int) ) &segv_handler; 100 sa.sa_handler = ( void (*)(int) ) &segv_handler;
96 sa.sa_flags = SA_SIGINFO | SA_RESTART; 101 sa.sa_flags = SA_SIGINFO | SA_RESTART;
97 sigemptyset(&sa.sa_mask); 102 sigemptyset(&sa.sa_mask);
98 sigaction(SIGSEGV, &sa, NULL); 103 sigaction(SIGSEGV, &sa, NULL);
99 */ 104 */
100 } 105 }
101 else 106 else
102 { 107 {
103 qFatal( "OApplication: Can't create more than one OApplication object. Aborting." ); 108 qFatal( "OApplication: Can't create more than one OApplication object. Aborting." );
104 } 109 }
105} 110}
106 111
107 112
108void OApplication::showMainWidget( QWidget* widget, bool nomax ) 113void OApplication::showMainWidget( QWidget* widget, bool nomax )
109{ 114{
115#ifdef QWS
110 QPEApplication::showMainWidget( widget, nomax ); 116 QPEApplication::showMainWidget( widget, nomax );
117#else
118// tille: I am quit sure if this is the right way to do..
119 odDebug(nomax,7) << "ignoring nomax";
120 setMainWidget( widget );
121 widget->show();
122#endif
111 widget->setCaption( _appname ); 123 widget->setCaption( _appname );
112} 124}
113 125
114 126
115void OApplication::setTitle( const QString& title ) const 127void OApplication::setTitle( const QString& title ) const
116{ 128{
117 if ( mainWidget() ) 129 if ( mainWidget() )
118 { 130 {
119 if ( !title.isNull() ) 131 if ( !title.isNull() )
120 mainWidget()->setCaption( QString(_appname) + QString( " - " ) + title ); 132 mainWidget()->setCaption( QString(_appname) + QString( " - " ) + title );
121 else 133 else
122 mainWidget()->setCaption( _appname ); 134 mainWidget()->setCaption( _appname );
123 } 135 }
124} 136}
125 137