diff options
Diffstat (limited to 'src/trg-peers-tree-view.c')
-rw-r--r-- | src/trg-peers-tree-view.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/trg-peers-tree-view.c b/src/trg-peers-tree-view.c index 7ed5645..9385d32 100644 --- a/src/trg-peers-tree-view.c +++ b/src/trg-peers-tree-view.c @@ -40,7 +40,11 @@ trg_peers_tree_view_class_init(TrgPeersTreeViewClass * klass G_GNUC_UNUSED) { } -static void trg_peers_tree_view_init(TrgPeersTreeView * self) +static void trg_peers_tree_view_init(TrgPeersTreeView * self) { + +} + +static void trg_peers_tree_view_setup_columns(TrgPeersTreeView * self, TrgPeersModel *model) { TrgTreeView *ttv = TRG_TREE_VIEW(self); trg_column_description *desc; @@ -54,11 +58,13 @@ static void trg_peers_tree_view_init(TrgPeersTreeView * self) _("Host"), "host", 0); #ifdef HAVE_GEOIP - trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, PEERSCOL_COUNTRY, - _("Country"), "country", 0); - trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, PEERSCOL_CITY, - _("City"), "city", 0); + if (trg_peers_model_has_country_db(model)) + trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, PEERSCOL_COUNTRY, + _("Country"), "country", 0); + if (trg_peers_model_has_city_db(model)) + trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, PEERSCOL_CITY, + _("City"), "city", 0); #endif trg_tree_view_reg_column(ttv, TRG_COLTYPE_SPEED, PEERSCOL_DOWNSPEED, _("Down Speed"), "down-speed", 0); @@ -91,6 +97,8 @@ TrgPeersTreeView *trg_peers_tree_view_new(TrgPrefs * prefs, "config-id", configId, "prefs", prefs, NULL); + trg_peers_tree_view_setup_columns(TRG_PEERS_TREE_VIEW(obj), model); + gtk_tree_view_set_model(GTK_TREE_VIEW(obj), GTK_TREE_MODEL(model)); trg_tree_view_restore_sort(TRG_TREE_VIEW(obj), 0x00); trg_tree_view_setup_columns(TRG_TREE_VIEW(obj)); |