[Gpredict-svn] SF.net SVN: gpredict:[909] trunk
Real time satellite tracking and orbit prediction
Status: Beta
Brought to you by:
csete
|
From: <aa...@us...> - 2011-09-28 22:22:32
|
Revision: 909
http://gpredict.svn.sourceforge.net/gpredict/?rev=909&view=rev
Author: aa1vs
Date: 2011-09-28 22:22:25 +0000 (Wed, 28 Sep 2011)
Log Message:
-----------
Save and restore sort information for event lists.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/config-keys.h
trunk/src/gtk-event-list.c
trunk/src/gtk-event-list.h
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2011-09-25 13:27:19 UTC (rev 908)
+++ trunk/ChangeLog 2011-09-28 22:22:25 UTC (rev 909)
@@ -1,3 +1,12 @@
+2011-09-28 Charles Suprin <hamaa1vs at gmail.com>
+
+ * ChangeLog
+ * src/config-keys.c
+ * src/gtk-event-list.c
+ * src/gtk-event-list.h
+ Save and restore sort information for event lists.
+
+
2011-09-25 Charles Suprin <hamaa1vs at gmail.com>
* ChangeLog
Modified: trunk/src/config-keys.h
===================================================================
--- trunk/src/config-keys.h 2011-09-25 13:27:19 UTC (rev 908)
+++ trunk/src/config-keys.h 2011-09-28 22:22:25 UTC (rev 909)
@@ -138,6 +138,7 @@
/* event list */
#define MOD_CFG_EVENT_LIST_SECTION "EVENT_LIST"
#define MOD_CFG_EVENT_LIST_REFRESH "REFRESH"
+#define MOD_CFG_EVENT_LIST_SORT_COLUMN "SORT_COLUMN"
+#define MOD_CFG_EVENT_LIST_SORT_ORDER "SORT_ORDER"
-
#endif
Modified: trunk/src/gtk-event-list.c
===================================================================
--- trunk/src/gtk-event-list.c 2011-09-25 13:27:19 UTC (rev 908)
+++ trunk/src/gtk-event-list.c 2011-09-28 22:22:25 UTC (rev 909)
@@ -211,6 +211,14 @@
static void gtk_event_list_destroy (GtkObject *object)
{
+ GtkEventList *evlist = GTK_EVENT_LIST(object);
+
+ g_key_file_set_integer(evlist->cfgdata, MOD_CFG_EVENT_LIST_SECTION, MOD_CFG_EVENT_LIST_SORT_COLUMN, evlist->sort_column);
+
+ g_key_file_set_integer(evlist->cfgdata, MOD_CFG_EVENT_LIST_SECTION, MOD_CFG_EVENT_LIST_SORT_ORDER, evlist->sort_order);
+
+
+
(* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
}
@@ -232,7 +240,6 @@
GtkTreeViewColumn *column;
/* FIXME */
- (void) cfgdata; /* avoid unused warning compiler warning. */
(void) columns; /* avoid unused warning compiler warning. */
widget = g_object_new (GTK_TYPE_EVENT_LIST, NULL);
@@ -242,7 +249,37 @@
/* Read configuration data. */
/* ... */
+ evlist->cfgdata = cfgdata;
+ /* read initial sorting criteria */
+ evlist->sort_column = EVENT_LIST_COL_TIME;
+ evlist->sort_order = GTK_SORT_ASCENDING;
+ if (g_key_file_has_key (evlist->cfgdata,MOD_CFG_EVENT_LIST_SECTION,
+ MOD_CFG_EVENT_LIST_SORT_COLUMN, NULL)) {
+ evlist->sort_column = g_key_file_get_integer (evlist->cfgdata,
+ MOD_CFG_EVENT_LIST_SECTION,
+ MOD_CFG_EVENT_LIST_SORT_COLUMN,
+ NULL);
+ if ((evlist->sort_column >EVENT_LIST_COL_NUMBER)
+ ||(evlist->sort_column<0)) {
+ evlist->sort_column = EVENT_LIST_COL_TIME;
+ }
+ }
+ if (g_key_file_has_key (evlist->cfgdata,
+ MOD_CFG_EVENT_LIST_SECTION,
+ MOD_CFG_EVENT_LIST_SORT_ORDER,
+ NULL)) {
+ evlist->sort_order = g_key_file_get_integer (evlist->cfgdata,
+ MOD_CFG_EVENT_LIST_SECTION,
+ MOD_CFG_EVENT_LIST_SORT_ORDER,
+ NULL);
+ if ((evlist->sort_order >1)||(evlist->sort_order<0)) {
+ evlist->sort_order=GTK_SORT_ASCENDING;
+ }
+ }
+
+
+
evlist->satellites = sats;
evlist->qth = qth;
@@ -299,8 +336,8 @@
/* initial sorting criteria */
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (model),
- EVENT_LIST_COL_TIME,
- GTK_SORT_ASCENDING),
+ evlist->sort_column,
+ evlist->sort_order),
g_object_unref (model);
@@ -393,6 +430,12 @@
/* get and tranverse the model */
model = gtk_tree_view_get_model (GTK_TREE_VIEW (evlist->treeview));
+ /*save the sort information */
+ gtk_tree_sortable_get_sort_column_id (GTK_TREE_SORTABLE (model),
+ &(evlist->sort_column),
+ &(evlist->sort_order));
+
+
/* update */
gtk_tree_model_foreach (model, event_list_update_sats, evlist);
Modified: trunk/src/gtk-event-list.h
===================================================================
--- trunk/src/gtk-event-list.h 2011-09-25 13:27:19 UTC (rev 908)
+++ trunk/src/gtk-event-list.h 2011-09-28 22:22:25 UTC (rev 909)
@@ -69,6 +69,9 @@
guint32 flags; /*!< Flags indicating which columns are visible */
gdouble tstamp; /*!< time stamp of calculations; set by GtkSatModule */
+ GKeyFile *cfgdata;
+ gint sort_column;
+ GtkSortType sort_order;
void (* update) (GtkWidget *widget); /*!< update function */
};
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|