# uniqueapp.cpp

    00001 /***************************************************************************
    00002                           uniqueapp.cpp  -  description
    00003                              -------------------
    00004     begin                : Mon Nov 19 2001
    00005     copyright            : (C) 2001 by Eggert Ehmke
    00006     email                : eggert.ehmke@berlin.de
    00007  ***************************************************************************/
    00008
    00009 /***************************************************************************
    00010  *                                                                         *
    00011  *   This program is free software; you can redistribute it and/or modify  *
    00012  *   it under the terms of the GNU General Public License as published by  *
    00013  *   the Free Software Foundation; either version 2 of the License, or     *
    00014  *   (at your option) any later version.                                   *
    00015  *                                                                         *
    00016  ***************************************************************************/
    00017
    00018 #include "uniqueapp.h"
    00019 #include <iostream>
    00020
    00021
    00022 UniqueApp::UniqueApp()
    00023 {
    00024        m_pApp = NULL;
    00025 }
    00026
    00027 UniqueApp::~UniqueApp()
    00028 {}
    00029
    00030 int UniqueApp::newInstance ()
    00031 {
    00032   //start our application
    00033   //---------------------
    00034
    00035   //at the first invoke of newInstance() create a new instance of kshowmail
    00036   if (m_pApp == NULL)
    00037   {
    00038     m_pApp = new KShowMailApp ();
    00039   }
    00040
    00041   //frage das ConfigList-Objekt, ob die KShowMail beim Starten
    00042   //normal oder nur in der Taskleiste gezeigt werden soll
    00043   if( m_pApp->m_ConfigList.startMinimized() )
    00044   {
    00045     //lege die App auf die Taskleiste
    00046     m_pApp->showMinimized ();
    00047     m_pApp->hide();
    00048   }
    00049   else
    00050   {
    00051     //zeige das Hauptfenster
    00052     m_pApp->showNormal ();
    00053     m_pApp->raise();
    00054   }
    00055
    00056   //Kommandozeile-Argumente auswerten
    00057   //---------------------------------
    00058
    00059   //die in main() eingelesenen Kommandozeile-Argumente in ein
    00060   //TDECmdLineArgs-Objekt ablegen
    00061   TDECmdLineArgs *args = TDECmdLineArgs::parsedArgs();
    00062
    00063   //wenn als Kommandozeilen-Argument "config" übergeben wurde,
    00064   //starte jetzt den Konfigurationsdialog
    00065   if ( args->isSet( CMDLINE_CONFIG ) )
    00066     m_pApp->slotSetup();
    00067
    00068   //wenn als Kommandozeile-Argument "refresh" übergeben wurde,
    00069   //schaue sofort nach neue Mails
    00070   if ( args->isSet ( CMDLINE_REFRESH ) )
    00071     m_pApp->slotRefresh();
    00072
    00073   //lösche alle Kommandozeilen-Argumente im Objekt
    00074   args->clear ();
    00075
    00076   return 0;
    00077 }