as_gui.cpp

Fri, 28 Nov 2008 14:20:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 28 Nov 2008 14:20:00 +0100
changeset 2
e8292658d5b3
child 3
c1941114ca88
permissions
-rw-r--r--

Added tag ASGUI_0.7.7 for changeset d64aaa7d146f

     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_gui.cpp: ISO C++ implementation
    30 //
    32 // User interface
    33 #include "as_gui.h"     // Main classes
    34 #include "as_except.h"  // Exception classes
    35 #include "as_table.h"   // Class TiTable
    36 #include "as_const.h"   // Application constants
    37 #include "as_pref.h"    // Class Preferences
    40 //
    41 // Construct a Titraqform which is a child of 'pParent', with the
    42 // name 'kszName' and widget flags set to 'Flags'
    43 //
    44 Titraqform::Titraqform(QWidget *pParent, const char *kszName, WFlags Flags) :
    45     QMainWindow(pParent, kszName, Flags)
    46 {
    47     // Early initializations
    48     m_pFiletools = NULL;
    49     m_pEdittools = NULL;
    50     m_pViewtools = NULL;
    51     m_pWhatstools = NULL;
    52     m_szFilename = NULL;
    54     // Atenzione! Order is very important in the following sequence.
    55     // FIXME: Reorganize this procedural mess into self contained objects
    56     try {
    57         setupPrefs();           // Load general preferences
    58         setupActions();         // Create and initialize actions
    59         setupMenubar();         // Create and initialize menu bar
    60         setupToolbars();        // Create and initialize tool bars
    61         setupCentralwidget();   // Format the layout of related widgets
    62         setupStatusbar();       // Create and initialize status bar
    63         setupTable();           // Create and initialize table and cells
    64         setupEditlay();         // Create and initialize edit controls
    65         setupColumns();         // Prepare columns for viewing, sorting
    66         enableIface(false);     // Start things off in a empty state
    67     }
    68     catch (Genexcept& Genex) {
    69         Genex.reportErr();
    70         exit(1);
    71     }
    73     // Postsetup manipulations
    74     m_pMaintable->setDirty(false);
    75     if (!kszName)
    76         this->setName(trUtf8("ASGuiapp"));
    77     this->resize(m_pPrefs->getNumber(TITRAQ_PREFFRAMEWIDTH, TITRAQ_DEFFRAMEWIDTH),
    78         m_pPrefs->getNumber(TITRAQ_PREFFRAMEHEIGHT, TITRAQ_DEFFRAMEHEIGHT));
    79     connect(qApp, SIGNAL(aboutToQuit()), this, SLOT(savePrefs()));
    80     this->setCaption(QString(TITRAQ_APPTITLE) + ' ' + asgui_version.v_short);
    82     // Rehydrate main window layout and doc positions
    83     QString Laystring = m_pPrefs->getString(TITRAQ_PREFFRAMELAY, NULL); // FIXME: Handle first case better
    84     QTextStream Laystream(&Laystring, IO_ReadOnly);
    85     Laystream >> *this;
    87 //    // Lock down window size
    88 //    setSizePolicy(QSizePolicy((QSizePolicy::SizeType)0,
    89 //        (QSizePolicy::SizeType)0, 0, 0, sizePolicy().hasHeightForWidth()));
    90 }
    92 //
    93 // Destroy the object and free any allocated resources
    94 //
    95 Titraqform::~Titraqform(void)
    96 {
    97     // Qt deletes child widgets for us
    98     m_pPrefs->flush();
    99     delete m_pPrefs;
   100 }

mercurial