plist: Move liststore into lib/
Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
parent
32bb1c670b
commit
97a8646977
|
@ -2,10 +2,11 @@
|
||||||
* Copyright 2014 (c) Anna Schumaker.
|
* Copyright 2014 (c) Anna Schumaker.
|
||||||
*/
|
*/
|
||||||
#include <core/playlist.h>
|
#include <core/playlist.h>
|
||||||
|
#include <lib/plist.h>
|
||||||
#include <gui/tabs.h>
|
#include <gui/tabs.h>
|
||||||
|
|
||||||
|
|
||||||
static const std::string current_playlist();
|
static Glib::ustring current_playlist();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Playlist tab stuff
|
* Playlist tab stuff
|
||||||
|
@ -53,26 +54,21 @@ bool PlaylistTab :: on_key_press_event(const std::string &key)
|
||||||
* Playlist "sidebar" stuff
|
* Playlist "sidebar" stuff
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static class PlaylistColumns : public Gtk::TreeModelColumnRecord {
|
|
||||||
public:
|
|
||||||
PlaylistColumns()
|
|
||||||
{ add(plist_col_name); }
|
|
||||||
|
|
||||||
Gtk::TreeModelColumn<std::string> plist_col_name;
|
|
||||||
} plist_cols;
|
|
||||||
|
|
||||||
static Glib::RefPtr<Gtk::ListStore> playlist_ls;
|
|
||||||
static Gtk::TreeView *playlist_tv;
|
static Gtk::TreeView *playlist_tv;
|
||||||
|
|
||||||
static const std::string current_playlist()
|
static bool find_cur_path(Gtk::TreePath &path)
|
||||||
{
|
{
|
||||||
Gtk::TreePath path;
|
|
||||||
Gtk::TreeViewColumn *col;
|
Gtk::TreeViewColumn *col;
|
||||||
playlist_tv->get_cursor(path, col);
|
playlist_tv->get_cursor(path, col);
|
||||||
|
return !path.empty();
|
||||||
|
}
|
||||||
|
|
||||||
Gtk::TreeModel::Row row = *(playlist_ls->get_iter(path));
|
static Glib::ustring current_playlist()
|
||||||
std::string res = row[plist_cols.plist_col_name];
|
{
|
||||||
return res;
|
Gtk::TreePath path;
|
||||||
|
if (find_cur_path(path))
|
||||||
|
return plist :: get_path(path);
|
||||||
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -94,8 +90,9 @@ static PlaylistTab *playlist_tab;
|
||||||
|
|
||||||
void init_playlist_tab()
|
void init_playlist_tab()
|
||||||
{
|
{
|
||||||
|
plist :: init();
|
||||||
|
|
||||||
playlist_tab = new PlaylistTab;
|
playlist_tab = new PlaylistTab;
|
||||||
playlist_ls = lib :: get_object<Gtk::ListStore>("o_playlists");
|
|
||||||
playlist_tv = lib :: get_widget<Gtk::TreeView>("o_playlist_treeview");
|
playlist_tv = lib :: get_widget<Gtk::TreeView>("o_playlist_treeview");
|
||||||
|
|
||||||
playlist_tv->signal_cursor_changed().connect(sigc::ptr_fun(on_playlist_cursor_changed));
|
playlist_tv->signal_cursor_changed().connect(sigc::ptr_fun(on_playlist_cursor_changed));
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2014 (c) Anna Schumaker.
|
||||||
|
*/
|
||||||
|
#ifndef OCARINA_LIB_PLIST_H
|
||||||
|
#define OCARINA_LIB_PLIST_H
|
||||||
|
|
||||||
|
#include <gtkmm.h>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
namespace plist
|
||||||
|
{
|
||||||
|
|
||||||
|
void init();
|
||||||
|
|
||||||
|
Glib::ustring get_path(const Gtk::TreePath &);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* OCARINA_LIB_PLIST_H */
|
|
@ -0,0 +1,32 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2014 (c) Anna Schumaker.
|
||||||
|
*/
|
||||||
|
#include <lib/lib.h>
|
||||||
|
#include <lib/plist.h>
|
||||||
|
|
||||||
|
|
||||||
|
class PlaylistColumns : public Gtk::TreeModelColumnRecord {
|
||||||
|
public:
|
||||||
|
Gtk::TreeModelColumn<Glib::ustring> p_name;
|
||||||
|
|
||||||
|
PlaylistColumns()
|
||||||
|
{
|
||||||
|
add(p_name);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
static PlaylistColumns p_cols;
|
||||||
|
static Glib::RefPtr<Gtk::ListStore> p_list;
|
||||||
|
|
||||||
|
|
||||||
|
void plist :: init()
|
||||||
|
{
|
||||||
|
p_list = lib :: get_object<Gtk::ListStore>("plist_list");
|
||||||
|
}
|
||||||
|
|
||||||
|
Glib::ustring plist :: get_path(const Gtk::TreePath &path)
|
||||||
|
{
|
||||||
|
Gtk::TreeModel::Row row = *(p_list->get_iter(path));
|
||||||
|
return row[p_cols.p_name];
|
||||||
|
}
|
|
@ -195,7 +195,12 @@
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
<object class="GtkListStore" id="o_playlists">
|
<object class="GtkAdjustment" id="o_progress">
|
||||||
|
<property name="upper">100000000000</property>
|
||||||
|
<property name="step_increment">1000000000</property>
|
||||||
|
<property name="page_increment">10000000000</property>
|
||||||
|
</object>
|
||||||
|
<object class="GtkListStore" id="plist_list">
|
||||||
<columns>
|
<columns>
|
||||||
<!-- column-name Playlists -->
|
<!-- column-name Playlists -->
|
||||||
<column type="gchararray"/>
|
<column type="gchararray"/>
|
||||||
|
@ -209,11 +214,6 @@
|
||||||
</row>
|
</row>
|
||||||
</data>
|
</data>
|
||||||
</object>
|
</object>
|
||||||
<object class="GtkAdjustment" id="o_progress">
|
|
||||||
<property name="upper">100000000000</property>
|
|
||||||
<property name="step_increment">1000000000</property>
|
|
||||||
<property name="page_increment">10000000000</property>
|
|
||||||
</object>
|
|
||||||
<object class="GtkWindow" id="o_window">
|
<object class="GtkWindow" id="o_window">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
|
@ -819,7 +819,7 @@
|
||||||
<object class="GtkTreeView" id="o_playlist_treeview">
|
<object class="GtkTreeView" id="o_playlist_treeview">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="model">o_playlists</property>
|
<property name="model">plist_list</property>
|
||||||
<property name="enable_search">False</property>
|
<property name="enable_search">False</property>
|
||||||
<property name="search_column">0</property>
|
<property name="search_column">0</property>
|
||||||
<child internal-child="selection">
|
<child internal-child="selection">
|
||||||
|
|
Loading…
Reference in New Issue