|
Freya
0.0.1
A Gtk3 MPD Client
|
00001 /*********************************************************** 00002 * This file is part of Freya 00003 * - A free MPD Gtk3 MPD Client - 00004 * 00005 * Authors: Christopher Pahl, Christoph Piechula, 00006 * Eduard Schneider 00007 * 00008 * Copyright (C) [2011-2012] 00009 * Hosted at: https://github.com/studentkittens/Freya 00010 * 00011 * __..--''``---....___ _..._ __ 00012 * /// //_.-' .-/"; ` ``<._ ``.''_ `. / // / 00013 * ///_.-' _..--.'_ `( ) ) // // 00014 * / (_..-' // (< _ ;_..__ ; `' / /// 00015 * / // // // `-._,_)' // / ``--...____..-' /// / // 00016 * Ascii-Art by Felix Lee <flee@cse.psu.edu> 00017 * 00018 * Freya is free software: you can redistribute it and/or modify 00019 * it under the terms of the GNU General Public License as published by 00020 * the Free Software Foundation, either version 3 of the License, or 00021 * (at your option) any later version. 00022 * 00023 * Freya is distributed in the hope that it will be useful, 00024 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00025 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00026 * GNU General Public License for more details. 00027 * 00028 * You should have received a copy of the GNU General Public License 00029 * along with Freya. If not, see <http://www.gnu.org/licenses/>. 00030 **************************************************************/ 00031 #ifndef FREYA_SETTINGS_OUTPUTS_GUARD 00032 #define FREYA_SETTINGS_OUTPUTS_GUARD 00033 00034 #include "AbstractSettings.hh" 00035 #include "OutputsModelColumns.hh" 00036 #include "../../ui_includes.hh" 00037 #include "../../MPD/AbstractItemlist.hh" 00038 #include "../../MPD/AbstractClientUser.hh" 00039 #include "../../MPD/Client.hh" 00040 #include "../../Utils/Utils.hh" 00041 00042 namespace Browser 00043 { 00044 class Settings; 00045 00049 class SettingsOutputs : public AbstractSettings, public MPD::AbstractItemlist, public MPD::AbstractClientUser 00050 { 00051 public: 00052 SettingsOutputs(MPD::Client &client,Glib::RefPtr<Gtk::Builder> &builder, Browser::Settings * sett); 00053 ~SettingsOutputs(); 00054 00055 void accept_new_settings(); 00056 void decline_new_settings(); 00057 void reset_settings(); 00058 void add_item(MPD::AbstractComposite *item); 00059 00060 protected: 00061 void on_client_update(enum mpd_idle event, MPD::NotifyData& data); 00062 void on_connection_change(bool,bool); 00063 void on_toggle(const Glib::ustring& path); 00064 bool on_select(const Glib::RefPtr<Gtk::TreeModel>& model,const Gtk::TreeModel::Path& path, bool); 00065 void clear(); 00066 00067 private: 00068 Glib::RefPtr<Gtk::ListStore> treeModel; 00069 Gtk::TreeView * treeViewPtr; 00070 OutputsModelColumns treeColumns; 00071 MPD::Client* client; 00072 Settings *sett; 00073 bool running; 00074 }; 00075 00076 00077 } 00078 00079 00080 00081 00082 #endif
1.8.0