XML Mill  1.0.0
A GUI based XML editor with a memory.
gcdbsessionmanager.h
00001 /* Copyright (c) 2012 - 2013 by William Hallatt.
00002  *
00003  * This file forms part of "XML Mill".
00004  *
00005  * The official website for this project is <http://www.goblincoding.com> and,
00006  * although not compulsory, it would be appreciated if all works of whatever
00007  * nature using this source code (in whole or in part) include a reference to
00008  * this site.
00009  *
00010  * Should you wish to contact me for whatever reason, please do so via:
00011  *
00012  *                 <http://www.goblincoding.com/contact>
00013  *
00014  * This program is free software: you can redistribute it and/or modify it under
00015  * the terms of the GNU General Public License as published by the Free Software
00016  * Foundation, either version 3 of the License, or (at your option) any later
00017  * version.
00018  *
00019  * This program is distributed in the hope that it will be useful, but WITHOUT
00020  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
00021  * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
00022  *
00023  * You should have received a copy of the GNU General Public License along with
00024  * this program (GNUGPL.txt).  If not, see
00025  *
00026  *                    <http://www.gnu.org/licenses/>
00027  */
00028 
00029 #ifndef GCDBSESSIONMANAGER_H
00030 #define GCDBSESSIONMANAGER_H
00031 
00032 #include <QDialog>
00033 
00034 namespace Ui
00035 {
00036   class GCDBSessionManager;
00037 }
00038 
00040 
00046 class GCDBSessionManager : public QDialog
00047 {
00048 Q_OBJECT
00049 
00050 public:
00052   explicit GCDBSessionManager( QWidget* parent = 0 );
00053 
00055   ~GCDBSessionManager();
00056 
00060   void selectActiveDatabase( const QString& currentRoot = QString() );
00061 
00065   void removeDatabase( const QString& currentRoot = QString() );
00066 
00067   public slots:
00071   void addExistingDatabase( const QString& currentRoot = QString() );
00072 
00076   void addNewDatabase( const QString& currentRoot = QString() );
00077 
00078 signals:
00080   void activeDatabaseChanged( QString );
00081 
00084   void reset();
00085 
00086   private slots:
00089   void removeDatabaseConnection();
00090 
00093   void setActiveDatabase();
00094 
00096   void showHelp();
00097 
00098 private:
00100   void setActiveDatabase( const QString& dbName );
00101 
00103   void addDatabaseConnection( const QString& dbName );
00104 
00106   void setDatabaseList();
00107 
00108   Ui::GCDBSessionManager* ui;
00109   QString m_currentRoot;
00110 };
00111 
00112 #endif // GCDBSESSIONMANAGER_H