@@ -1812,28 +1812,43 @@ enum
1812
1812
N_COLUMNS
1813
1813
};
1814
1814
1815
- static void otrg_gtk_dialog_chat_load_fingerprints_list_data (GtkListStore * store )
1815
+ static int otrg_gtk_dialog_chat_load_fingerprints_list_data (GtkListStore * store )
1816
1816
{
1817
- OtrlList * finger_list ;
1818
- OtrlListNode * finger_list_node ;
1819
- OtrlChatFingerprint * fnprnt ;
1817
+ OtrlListIterator list_iter ;
1818
+ OtrlListNode node ;
1819
+ OtrlChatFingerprint fnprnt ;
1820
1820
GtkTreeIter iter ;
1821
+ char * accountname = NULL , * username = NULL , * bytes_hex = NULL ;
1822
+ unsigned char * bytes = NULL ;
1821
1823
1822
- gtk_list_store_clear (store );
1824
+ gtk_list_store_clear (store );
1823
1825
1824
- finger_list = otrg_plugin_userstate -> chat_fingerprints ;
1826
+ list_iter = otrl_list_iterator_new (otrg_plugin_userstate -> chat_fingerprints );
1827
+ if (!list_iter ) { goto error ; }
1828
+ while (otrl_list_iterator_has_next (list_iter )) {
1829
+ node = otrl_list_iterator_next (list_iter );
1830
+ fnprnt = otrl_list_node_get_payload (node );
1831
+
1832
+ accountname = otrl_chat_fingerprint_get_accountname (fnprnt );
1833
+ username = otrl_chat_fingerprint_get_username (fnprnt );
1834
+ bytes = otrl_chat_fingerprint_get_bytes (fnprnt );
1835
+ bytes_hex = otrl_chat_fingerprint_bytes_to_hex (bytes ); /* TODO remember to free this */
1825
1836
1826
- for (finger_list_node = finger_list -> head ; finger_list_node != NULL ; finger_list_node = finger_list_node -> next ) {
1827
- fnprnt = finger_list_node -> payload ;
1828
1837
gtk_list_store_append (store , & iter ); /* Acquire an iterator */
1829
1838
gtk_list_store_set (store , & iter ,
1830
- SCREENNAME_COLUMN , fnprnt -> accountname ,
1831
- VERIFIED_COLUMN , (fnprnt -> isTrusted ) ? TRUE : FALSE,
1832
- ACCOUNT_COLUMN , fnprnt -> username ,
1833
- FINGERPRINT_COLUMN , otrl_chat_fingerprint_bytes_to_hex ( fnprnt -> fingerprint ), /* TODO remember to free this */
1839
+ SCREENNAME_COLUMN , accountname ,
1840
+ VERIFIED_COLUMN , otrl_chat_fingerprint_is_trusted (fnprnt ) ? TRUE : FALSE,
1841
+ ACCOUNT_COLUMN , username ,
1842
+ FINGERPRINT_COLUMN , bytes_hex ,
1834
1843
POINTER_COLUMN , fnprnt ,
1835
1844
-1 );
1836
1845
}
1846
+ otrl_list_iterator_free (list_iter );
1847
+
1848
+ return 0 ;
1849
+
1850
+ error :
1851
+ return 1 ;
1837
1852
}
1838
1853
1839
1854
static void otrg_gtk_dialog_chat_fingerprint_verify_clicked (GtkTreeView * tree_view , gpointer user_data )
@@ -1982,7 +1997,7 @@ static GtkWidget * otrg_gtk_dialog_chat_fingerprints_window_open()
1982
1997
}
1983
1998
1984
1999
1985
- static void otrg_gtk_dialog_chat_label_refresh (PurpleConversation * conv , OtrlChatInfoPrivacyLevel level )
2000
+ static void otrg_gtk_dialog_chat_label_refresh (PurpleConversation * conv , OtrlChatPrivacyLevel level )
1986
2001
{
1987
2002
GtkWidget * label ;
1988
2003
char * markup ;
@@ -1991,13 +2006,13 @@ static void otrg_gtk_dialog_chat_label_refresh(PurpleConversation *conv, OtrlCha
1991
2006
if (!label ) { goto error ; }
1992
2007
1993
2008
markup = g_strdup_printf (" <span color=\"%s\">%s</span>" ,
1994
- level == LEVEL_FINISHED ? "#000000" :
1995
- level == LEVEL_PRIVATE ? "#00a000" :
1996
- level == LEVEL_UNVERIFIED ? "#a06000" :
2009
+ level == OTRL_CHAT_PRIVACY_LEVEL_FINISHED ? "#000000" :
2010
+ level == OTRL_CHAT_PRIVACY_LEVEL_PRIVATE ? "#00a000" :
2011
+ level == OTRL_CHAT_PRIVACY_LEVEL_UNVERIFIED ? "#a06000" :
1997
2012
"#ff0000" ,
1998
- level == LEVEL_FINISHED ? _ ("Finished" ) :
1999
- level == LEVEL_PRIVATE ? _ ("Private" ) :
2000
- level == LEVEL_UNVERIFIED ? _ ("Unverified" ) :
2013
+ level == OTRL_CHAT_PRIVACY_LEVEL_FINISHED ? _ ("Finished" ) :
2014
+ level == OTRL_CHAT_PRIVACY_LEVEL_PRIVATE ? _ ("Private" ) :
2015
+ level == OTRL_CHAT_PRIVACY_LEVEL_UNVERIFIED ? _ ("Unverified" ) :
2001
2016
_ ("Not private" ));
2002
2017
2003
2018
gtk_label_set_markup (GTK_LABEL (label ), markup );
@@ -2007,7 +2022,7 @@ static void otrg_gtk_dialog_chat_label_refresh(PurpleConversation *conv, OtrlCha
2007
2022
return ;
2008
2023
}
2009
2024
2010
- void otrg_gtk_dialog_chat_menu_refresh (PurpleConversation * conv , OtrlChatInfoPrivacyLevel level )
2025
+ void otrg_gtk_dialog_chat_menu_refresh (PurpleConversation * conv , OtrlChatPrivacyLevel level )
2011
2026
{
2012
2027
GtkWidget * menustart , * menuend ;
2013
2028
@@ -2018,16 +2033,19 @@ void otrg_gtk_dialog_chat_menu_refresh(PurpleConversation *conv, OtrlChatInfoPri
2018
2033
if (!menuend ) { goto error ; }
2019
2034
2020
2035
switch (level ) {
2021
- case LEVEL_NONE :
2022
- case LEVEL_FINISHED :
2036
+ case OTRL_CHAT_PRIVACY_LEVEL_NONE :
2037
+ case OTRL_CHAT_PRIVACY_LEVEL_FINISHED :
2023
2038
gtk_widget_set_sensitive (GTK_WIDGET (menustart ), 1 );
2024
2039
gtk_widget_set_sensitive (GTK_WIDGET (menuend ), 0 );
2025
2040
break ;
2026
- case LEVEL_UNVERIFIED :
2027
- case LEVEL_PRIVATE :
2041
+ case OTRL_CHAT_PRIVACY_LEVEL_UNVERIFIED :
2042
+ case OTRL_CHAT_PRIVACY_LEVEL_PRIVATE :
2028
2043
gtk_widget_set_sensitive (GTK_WIDGET (menustart ), 0 );
2029
2044
gtk_widget_set_sensitive (GTK_WIDGET (menuend ), 1 );
2030
2045
break ;
2046
+ case OTRL_CHAT_PRIVACY_LEVEL_UNKNOWN :
2047
+ default :
2048
+ goto error ;
2031
2049
}
2032
2050
2033
2051
error :
@@ -2068,7 +2086,7 @@ static gboolean otrg_gtk_dialog_chat_button_pressed(GtkWidget *w, GdkEventButton
2068
2086
return TRUE;
2069
2087
}
2070
2088
2071
- static void otrg_gtk_dialog_chat_gui_refresh (PurpleConversation * conv , OtrlChatInfoPrivacyLevel level )
2089
+ static void otrg_gtk_dialog_chat_gui_refresh (PurpleConversation * conv , OtrlChatPrivacyLevel level )
2072
2090
{
2073
2091
otrg_gtk_dialog_chat_label_refresh (conv , level );
2074
2092
otrg_gtk_dialog_chat_menu_refresh (conv , level );
@@ -3218,7 +3236,7 @@ static void gtk_dialog_chat_new_purple_conv(PurpleConversation *conv)
3218
3236
gtk_widget_show_all (label2 );
3219
3237
3220
3238
//TODO Dimitris: maybe ask library for the chat info...
3221
- otrg_gtk_dialog_chat_gui_refresh (conv , LEVEL_NONE );
3239
+ otrg_gtk_dialog_chat_gui_refresh (conv , OTRL_CHAT_PRIVACY_LEVEL_NONE );
3222
3240
}
3223
3241
}
3224
3242
0 commit comments