Source

lrc / src / gui / ResColumnModel.hxx

Full commit
/*
 * ResColumnModel.hxx
 *
 * Copyright 2012 Andreas Tscharner <andy@vis.ethz.ch>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 * MA 02110-1301, USA.
 */


/*! \file ResColumnModel.hxx
 *
 * This file contains the declaration of the model for the list view (the
 * main part of the main window).
 *
 * \author Andreas Tscharner
 * \date 2012-06-17
 */


#ifndef __RESCOLUMNMODEL_HXX__
#define __RESCOLUMNMODEL_HXX__


#include <gtkmm/treemodelcolumn.h>
#include "../include/CompressDecompress.hxx"
#include "../include/EncryptDecrypt.hxx"


/*! \class ResColumnModel
 *  \brief Column model for resources
 *
 * This class defines the column model for the list view of the main window.
 * It takes also care whether or not --disable-encryption was set during the
 * program configuration
 */
class ResColumnModel : public Gtk::TreeModelColumnRecord
{
	private:
		Gtk::TreeModelColumn<Glib::ustring> m_uniqueResID;           //!< ID for resource
		Gtk::TreeModelColumn<Glib::ustring> m_resFilename;           //!< Filename for resource
		Gtk::TreeModelColumn<lrc::CompressionType> m_compressType;   //!< Compression type for resource
		Gtk::TreeModelColumn<lrc::EncryptionType> m_encryptType;     //!< Encryption type for resource
		Gtk::TreeModelColumn<Glib::ustring> m_encPassword;           //!< Password if resource is encrypted

	public:
		/*! \brief Constructor
		 *
		 * The constructor adds the columns to the column record
		 */
		ResColumnModel();
};


#endif /* __RESCOLUMNMODEL_HXX__ */