glom r1493 - in trunk: . glom/navigation
- From: murrayc svn gnome org
- To: svn-commits-list gnome org
- Subject: glom r1493 - in trunk: . glom/navigation
- Date: Mon, 31 Mar 2008 10:46:16 +0100 (BST)
Author: murrayc
Date: Mon Mar 31 10:46:16 2008
New Revision: 1493
URL: http://svn.gnome.org/viewvc/glom?rev=1493&view=rev
Log:
2008-03-31 Murray Cumming <murrayc murrayc com>
* glom/libglom/data_structure/field.cc: Field::init_map():
Comment out some previously-allowed conversions because postgres 8.3
has become less tolerant of conversions that could not produce useful
data, such as date-to-number, causing postgres errors at runtime.
Bug #525188 (Jani Monoses)
Modified:
trunk/ChangeLog
trunk/glom/navigation/box_tables.cc
Modified: trunk/glom/navigation/box_tables.cc
==============================================================================
--- trunk/glom/navigation/box_tables.cc (original)
+++ trunk/glom/navigation/box_tables.cc Mon Mar 31 10:46:16 2008
@@ -117,7 +117,9 @@
m_colHidden = m_AddDel.add_column(_("Hidden"), AddDelColumnInfo::STYLE_Boolean, editable, visible_extras);
m_colTitle = m_AddDel.add_column(_("Title"), AddDelColumnInfo::STYLE_Text, editable, true);
- m_colDefault = m_AddDel.add_column(_("Default"), AddDelColumnInfo::STYLE_Boolean, editable, visible_extras);
+
+ //TODO: This should really be a radio, but the use of AddDel makes it awkward to change that CellRenderer property.
+ m_colDefault = m_AddDel.add_column(_("Default"), AddDelColumnInfo::STYLE_Boolean, editable, visible_extras);
//_("Server: ") + m_strServerName + ", " +
@@ -364,10 +366,10 @@
if(!table_info->get_name().empty())
{
- table_info->m_hidden = m_AddDel.get_value_as_bool(iter, m_colHidden);
+ table_info->m_hidden = m_AddDel.get_value_as_bool(iter, m_colHidden);
table_info->set_title( m_AddDel.get_value(iter, m_colTitle) ); //TODO_Translations: Store the TableInfo in the TreeView.
//std::cout << "save_to_document(): title=" << table_info->get_title() << std::endl;
- table_info->m_default = m_AddDel.get_value_as_bool(iter, m_colDefault);
+ table_info->m_default = m_AddDel.get_value_as_bool(iter, m_colDefault);
listTables.push_back(table_info);
}
@@ -388,15 +390,32 @@
{
if(get_userlevel() == AppState::USERLEVEL_DEVELOPER)
{
- if( (column == m_colHidden) )
+ if(column == m_colHidden)
{
save_to_document();
//TODO: This causes a crash. fill_from_database(); //Hide/show the table.
}
- else if( (column == m_colTitle) || (column == m_colDefault) )
+ else if(column == m_colTitle)
{
save_to_document();
}
+ else if(column == m_colDefault)
+ {
+ //Only one table can be the default, so ensure that:
+ const bool is_default = m_AddDel.get_value_as_bool(row, m_colDefault);
+ if(is_default)
+ {
+ //Set all the other rows to false:
+ Glib::RefPtr<Gtk::TreeModel> model = m_AddDel.get_model();
+ for(Gtk::TreeModel::iterator iter = model->children().begin(); iter != model->children().end(); ++iter)
+ {
+ if(iter != row)
+ m_AddDel.set_value(iter, m_colDefault, false);
+ }
+ }
+
+ save_to_document();
+ }
else if(column == m_colTableName)
{
Glib::ustring table_name = m_AddDel.get_value_key(row);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]