michael@1: // michael@1: // OSSP asgui - Accounting system graphical user interface michael@3: // Copyright (c) 2002-2008 The OSSP Project (http://www.ossp.org/) michael@3: // Copyright (c) 2002-2008 Ralf S. Engelschall michael@3: // Copyright (c) 2002-2008 Michael Schloh von Bennewitz michael@3: // Copyright (c) 2002-2008 Cable & Wireless Telecommunications Services GmbH michael@1: // michael@1: // This file is part of OSSP asgui, an accounting system graphical user michael@3: // interface which can be found at http://asgui.europalab.com/. michael@1: // michael@1: // Permission to use, copy, modify, and distribute this software for michael@1: // any purpose with or without fee is hereby granted, provided that michael@1: // the above copyright notice and this permission notice appear in all michael@1: // copies. michael@1: // michael@1: // THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED michael@1: // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF michael@1: // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. michael@1: // IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR michael@1: // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, michael@1: // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT michael@1: // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF michael@1: // USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND michael@1: // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, michael@1: // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT michael@1: // OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF michael@1: // SUCH DAMAGE. michael@1: // michael@1: // as_amount.cpp: ISO C++ implementation michael@1: // michael@1: michael@1: //#include michael@1: michael@1: //#include "as_amount.h" michael@1: //#include "as_const.h" michael@1: michael@1: michael@1: //// Sets a text formatted representation michael@1: //void AmountBox::setText(const QString &Strval) michael@1: //{ michael@1: // int nTotal = 0; // The total amount of minutes michael@1: // QRegExp Strexpr("(\\d+):(\\d+)"); // Pattern in amount text michael@1: // QString Stramount = QRegExp::escape(Strval); // Incoming string escaped michael@1: // michael@1: // if (Strval.isEmpty()) { // Shortcircuit in the michael@1: // this->setValue(0); // case of empty string michael@1: // } michael@1: // else { // Do the real work then michael@1: // Strexpr.search(Stramount); michael@1: // nTotal = Strexpr.cap(Strexpr.numCaptures() - 1).toInt() * TITRAQ_MINSINHOUR; michael@1: // nTotal += Strexpr.cap(Strexpr.numCaptures()).toInt(); michael@1: // this->setValue(nTotal); michael@1: // } michael@1: //} michael@1: michael@1: //// Return a text formatted representation michael@1: //QString AmountBox::text(void) const michael@1: //{ michael@1: // QString Strfirst, Strsecond; michael@1: // int nHours = 0; michael@1: // int nMins = this->value(); michael@1: // michael@1: // nHours = nMins / TITRAQ_MINSINHOUR; // Calculate total hours michael@1: // nMins = nMins % TITRAQ_MINSINHOUR; // Calculate total minutes michael@1: // Strfirst = trUtf8("%1:").arg(nHours); // Format the first part michael@1: // Strsecond = trUtf8("%1").arg(nMins); // Format the second part michael@1: // michael@1: // // Pad the resulting concatination before sending it out the back michael@1: // return Strfirst.rightJustify(3, '0') + Strsecond.rightJustify(2, '0'); michael@1: //}