[niepce] [cw] Add the "persistent" checkbox.
- From: Hubert Figuière <hub src gnome org>
- To: svn-commits-list gnome org
- Subject: [niepce] [cw] Add the "persistent" checkbox.
- Date: Sat, 23 May 2009 03:30:56 -0400 (EDT)
commit 6c20b19edd27c7187af40e24ed3fb10e8b90b4ae
Author: Hubert Figuiere <hub figuiere net>
Date: Fri May 22 15:40:53 2009 -0400
[cw] Add the "persistent" checkbox.
---
camerawire/ChangeLog | 3 +++
camerawire/src/cwwindow.cpp | 19 +++++++++++++++----
camerawire/src/cwwindow.hpp | 2 ++
3 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/camerawire/ChangeLog b/camerawire/ChangeLog
index 629758e..cd4e698 100644
--- a/camerawire/ChangeLog
+++ b/camerawire/ChangeLog
@@ -1,5 +1,8 @@
2009-05-22 Hubert Figuiere <hub figuiere net>
+ * src/cwwindow.{hpp,cpp}:
+ Add the "persistent" checkbox.
+
* configure.ac
* src/Makefile.am
* src/cwwindow.{hpp,cpp}
diff --git a/camerawire/src/cwwindow.cpp b/camerawire/src/cwwindow.cpp
index 34273ad..9d224f5 100644
--- a/camerawire/src/cwwindow.cpp
+++ b/camerawire/src/cwwindow.cpp
@@ -53,13 +53,21 @@ Gtk::Widget * CwWindow::buildWidget()
Gtk::Widget* pMenuBar = pApp->uiManager()->get_widget("/MenuBar");
m_vbox.pack_start(*pMenuBar, Gtk::PACK_SHRINK);
- m_vbox.pack_start(m_hbox, true, true);
+ m_vbox.pack_start(m_hbox, true, true, 4);
m_camera_tree_model = Gtk::ListStore::create(m_camera_tree_record);
Gtk::TreeView *treeview = manage(new Gtk::TreeView(m_camera_tree_model));
- treeview->append_column("", m_camera_tree_record.m_icon);
- treeview->append_column(_("Camera"), m_camera_tree_record.m_label);
- m_hbox.pack_start(*treeview, false, true);
+ Gtk::TreeViewColumn *column;
+
+ column = manage(new Gtk::TreeViewColumn(_("Camera")));
+ Gtk::CellRendererToggle *cell = manage(new Gtk::CellRendererToggle);
+ column->pack_start(*cell, false);
+ column->add_attribute(cell->property_active(),
+ m_camera_tree_record.m_persistent);
+ column->pack_start(m_camera_tree_record.m_icon, false);
+ column->pack_start(m_camera_tree_record.m_label);
+ treeview->append_column(*column);
+ m_hbox.pack_start(*treeview, false, true, 4);
reload_camera_list();
@@ -182,6 +190,8 @@ void CwWindow::reload_camera_list()
{
using fwk::GpDeviceList;
+ m_camera_tree_model->clear();
+
GpDeviceList::obj().detect();
for(GpDeviceList::const_iterator iter = GpDeviceList::obj().begin();
iter != GpDeviceList::obj().end(); ++iter) {
@@ -189,6 +199,7 @@ void CwWindow::reload_camera_list()
Gtk::TreeIter treeiter = m_camera_tree_model->append();
treeiter->set_value(m_camera_tree_record.m_label, (*iter)->get_model());
treeiter->set_value(m_camera_tree_record.m_camera, *iter);
+ treeiter->set_value(m_camera_tree_record.m_persistent, false);
}
}
diff --git a/camerawire/src/cwwindow.hpp b/camerawire/src/cwwindow.hpp
index 4510d8b..659ec30 100644
--- a/camerawire/src/cwwindow.hpp
+++ b/camerawire/src/cwwindow.hpp
@@ -52,11 +52,13 @@ private:
add(m_icon);
add(m_label);
add(m_camera);
+ add(m_persistent);
}
Gtk::TreeModelColumn<Glib::RefPtr<Gdk::Pixbuf> > m_icon;
Gtk::TreeModelColumn<std::string> m_label;
Gtk::TreeModelColumn<fwk::GpDevice::Ptr> m_camera;
+ Gtk::TreeModelColumn<bool> m_persistent;
};
void init_ui();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]