[glom/maemo5] Maemo: List: Use only 2 columns by default, so some have enough space.



commit aeefe306ceee659b94405e2c11328a610403b512
Author: Murray Cumming <murrayc murrayc com>
Date:   Mon Oct 5 17:58:24 2009 +0200

    Maemo: List: Use only 2 columns by default, so some have enough space.
    
    * glom/libglom/document/document.cc: get_data_layout_groups_plus_new_fields():
    Restrict maemo to 2 list columns by default.

 ChangeLog                                   |    7 +++++
 glom/libglom/document/document.cc           |   37 +++++++++++++++++++++-----
 glom/utility_widgets/db_adddel/db_adddel.cc |    1 +
 3 files changed, 38 insertions(+), 7 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index f7a3c30..15f3026 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2009-10-05  Murray Cumming  <murrayc murrayc com>
 
+	Maemo: List: Use only 2 columns by default, so some have enough space.
+	
+	* glom/libglom/document/document.cc: get_data_layout_groups_plus_new_fields():
+	Restrict maemo to 2 list columns by default.
+
+2009-10-05  Murray Cumming  <murrayc murrayc com>
+
 	Maemo: Related Records / AddDel: Use icon-only Hildon buttons.
 	
 	* glom/utility_widgets/db_adddel/db_adddel_withbuttons.[h|cc]: Use Hildon 
diff --git a/glom/libglom/document/document.cc b/glom/libglom/document/document.cc
index afe108e..5290bdd 100644
--- a/glom/libglom/document/document.cc
+++ b/glom/libglom/document/document.cc
@@ -1523,7 +1523,21 @@ Document::type_list_layout_groups Document::get_data_layout_groups_plus_new_fiel
     if(layout_platform == "maemo")
     {
       for(type_list_layout_groups::iterator iter = result.begin(); iter != result.end(); ++iter)
-      maemo_restrict_layouts_to_single_column_group(*iter);
+      {
+        sharedptr<LayoutGroup> layout_group = *iter;
+        if(!layout_group)
+          continue;
+        
+        if(layout_name == "list")
+        {
+          //Don't try to show more than 3 items on the list view:
+          if(layout_group->get_items_count() >= 2)
+            layout_group->m_list_items.resize(2);
+        }
+        
+        maemo_restrict_layouts_to_single_column_group(layout_group);
+        
+      }
     }
     
     //Store this so we don't have to recreate it next time:
@@ -4156,15 +4170,24 @@ void Document::maemo_restrict_layouts_to_single_column()
 
       //Allow specifically-designed maemo layouts to have multiple columns,
       //but resize the others.
-      if(true)//layout_info.m_layout_platform != "maemo")
+      if(layout_info.m_layout_platform == "maemo")
+        continue;
+      
+      //Look at every group, recursively:
+      for(type_list_layout_groups::iterator iterGroups = layout_info.m_layout_groups.begin(); 
+        iterGroups != layout_info.m_layout_groups.end(); ++iterGroups)
       {
-        //Look at every group, recursively:
-        for(type_list_layout_groups::iterator iterGroups = layout_info.m_layout_groups.begin(); 
-          iterGroups != layout_info.m_layout_groups.end(); ++iterGroups)
+        sharedptr<LayoutGroup> group = *iterGroups;
+        
+        if(layout_info.m_layout_name == "list")
         {
-          sharedptr<LayoutGroup> group = *iterGroups;
-          maemo_restrict_layouts_to_single_column_group(group);
+          //Don't try to show more than 2 items on the list view:
+          //TODO: This is rather harsh. murrayc
+          if(group->get_items_count() >= 2)
+            group->m_list_items.resize(2);
         }
+        
+        maemo_restrict_layouts_to_single_column_group(group);
       }
     }
   }      
diff --git a/glom/utility_widgets/db_adddel/db_adddel.cc b/glom/utility_widgets/db_adddel/db_adddel.cc
index e8776df..14fef85 100644
--- a/glom/utility_widgets/db_adddel/db_adddel.cc
+++ b/glom/utility_widgets/db_adddel/db_adddel.cc
@@ -760,6 +760,7 @@ Gtk::CellRenderer* DbAddDel::construct_specified_columns_cellrenderer(const shar
 
     //Restrict the height, to prevent multiline text cells,
     //and to allow TreeView performance optimisation:
+    //TODO: Avoid specifying a width for the last column?
     int suitable_width = 0;
     pCellRendererText->get_property("width", suitable_width);
     pCellRendererText->set_fixed_size(suitable_width, get_fixed_cell_height() );



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]