|
1 // |
|
2 // OSSP asgui - Accounting system graphical user interface |
|
3 // Copyright (c) 2002-2004 The OSSP Project (http://www.ossp.org/) |
|
4 // Copyright (c) 2002-2004 Ralf S. Engelschall <rse@engelschall.com> |
|
5 // Copyright (c) 2002-2004 Michael Schloh von Bennewitz <michael@schloh.com> |
|
6 // Copyright (c) 2002-2004 Cable & Wireless Telecommunications Services GmbH |
|
7 // |
|
8 // This file is part of OSSP asgui, an accounting system graphical user |
|
9 // interface which can be found at http://www.ossp.org/pkg/tool/asgui/. |
|
10 // |
|
11 // Permission to use, copy, modify, and distribute this software for |
|
12 // any purpose with or without fee is hereby granted, provided that |
|
13 // the above copyright notice and this permission notice appear in all |
|
14 // copies. |
|
15 // |
|
16 // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
|
17 // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
|
18 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
|
19 // IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
|
20 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
21 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
|
22 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
|
23 // USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|
24 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
|
25 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
|
26 // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
|
27 // SUCH DAMAGE. |
|
28 // |
|
29 // as_helpanel.cpp: ISO C++ implementation |
|
30 // |
|
31 |
|
32 #include <qvariant.h> |
|
33 #include <qpushbutton.h> |
|
34 #include <qtextbrowser.h> |
|
35 #include <qlayout.h> |
|
36 #include <qtooltip.h> |
|
37 #include <qwhatsthis.h> |
|
38 |
|
39 #include "as_helpanel.h" |
|
40 |
|
41 |
|
42 namespace AS { |
|
43 |
|
44 // |
|
45 // Constructs a Helpanel as a child of 'pParent', with the |
|
46 // name 'kszName' and widget flags set to 'Flags'. |
|
47 // |
|
48 // The dialog will by default be modal, unless you set 'bModal' to |
|
49 // false to construct a modeless dialog. |
|
50 // |
|
51 Helpanel::Helpanel(const QString &kSource, QWidget *pParent, const char *kszName, bool bModal, WFlags Flags) |
|
52 : QDialog(pParent, kszName, bModal, Flags) |
|
53 { |
|
54 // Boilerplate code to initialize the panel |
|
55 if (!kszName) |
|
56 this->setName("Helpanel"); |
|
57 |
|
58 // Make panel resizeable |
|
59 this->setSizeGripEnabled(true); |
|
60 this->setSizePolicy(QSizePolicy((QSizePolicy::SizeType)5, |
|
61 (QSizePolicy::SizeType)5, 0, 0, this->sizePolicy().hasHeightForWidth())); |
|
62 |
|
63 // Build panel using already constructed widgets and layouts |
|
64 m_pFormlay = new QVBoxLayout(this, 11, 6, "Formlayout"); |
|
65 |
|
66 // Groupbox and its text display |
|
67 m_pBrowser = new QTextBrowser(this, "Helpbrowser"); |
|
68 m_pBrowser->setSource(QString(TITRAQ_DOCDIR) + QChar('/') + kSource); |
|
69 m_pBrowser->setReadOnly(true); |
|
70 m_pBrowser->setFocus(); |
|
71 |
|
72 // Add a spacer to sideline the otherwise massive dismiss button |
|
73 m_pButtlay = new QHBoxLayout(0, 0, 6, "Buttonlayout"); |
|
74 QSpacerItem *pSpacey = new QSpacerItem(40, 20, QSizePolicy::Minimum, QSizePolicy::Minimum); |
|
75 m_pButtlay->addItem(pSpacey); |
|
76 |
|
77 // Add dismiss push button |
|
78 m_pDismissbutt = new QPushButton(this, "Dismissbutton"); |
|
79 m_pDismissbutt->setPaletteBackgroundColor(QColor(198, 196, 186)); |
|
80 m_pDismissbutt->setCursor(QCursor(13)); |
|
81 m_pButtlay->addWidget(m_pDismissbutt); |
|
82 |
|
83 // Add the stuff to our form layout |
|
84 m_pFormlay->addWidget(m_pBrowser); |
|
85 m_pFormlay->addSpacing(6); |
|
86 m_pFormlay->addLayout(m_pButtlay); |
|
87 |
|
88 // Connect signals to slots, accept() and reject() are Qt implicit |
|
89 connect(m_pDismissbutt, SIGNAL(clicked(void)), SLOT(accept(void))); |
|
90 this->resize(QSize(464, 332).expandedTo(minimumSizeHint())); |
|
91 this->textChange(); |
|
92 } |
|
93 |
|
94 // |
|
95 // Sets the strings of the subwidgets using the current language |
|
96 // |
|
97 void Helpanel::textChange(void) |
|
98 { |
|
99 this->setCaption(trUtf8("AS Accounting System help contents", "Help contents for the AS GUI application.")); |
|
100 |
|
101 // Top level push buttons associated with accept and save slots |
|
102 m_pDismissbutt->setText(trUtf8("Dismiss", "Comment for Dismissbutton")); |
|
103 QToolTip::add(m_pDismissbutt, trUtf8("Closes the help panel", "Comment for tooltip Dismissbutton")); |
|
104 QWhatsThis::add(m_pDismissbutt, trUtf8("The dismiss button dismisses the help panel", "Comment for whatsThis Dismissbutton")); |
|
105 |
|
106 // The main text browser window which presents the HTML help contents |
|
107 QWhatsThis::add(m_pBrowser, trUtf8("The text browser window displays the help contents", "Comment for whatsThis Browser")); |
|
108 } |
|
109 } // namespace AS |