Changeset 4216
Legend:
- Unmodified
- Added
- Removed
-
trunk/gtk/actions.c
r4215 r4216 62 62 { "sort-by-name", NULL, N_("Sort by _Name"), NULL, NULL, 2 }, 63 63 { "sort-by-progress", NULL, N_("Sort by _Progress"), NULL, NULL, 3 }, 64 { "sort-by-ratio", NULL, N_("Sort by _Ratio"), NULL, NULL, 4 }, 65 { "sort-by-state", NULL, N_("Sort by _State"), NULL, NULL, 5 }, 66 { "sort-by-tracker", NULL, N_("Sort by _Tracker"), NULL, NULL, 6 } 64 { "sort-by-state", NULL, N_("Sort by _State"), NULL, NULL, 4 }, 65 { "sort-by-tracker", NULL, N_("Sort by _Tracker"), NULL, NULL, 5 } 67 66 }; 68 67 -
trunk/gtk/main.c
r4215 r4216 1029 1029 || !strcmp( action_name, "sort-by-name" ) 1030 1030 || !strcmp( action_name, "sort-by-progress" ) 1031 || !strcmp( action_name, "sort-by-ratio" )1032 1031 || !strcmp( action_name, "sort-by-state" ) 1033 1032 || !strcmp( action_name, "sort-by-tracker" ) ) -
trunk/gtk/tr_core.c
r4215 r4216 172 172 173 173 static int 174 compareDouble( double a, double b ) 175 { 176 if( a < b ) return -1; 177 if( b > a ) return 1; 178 return 0; 179 } 180 181 static int 174 182 compareByActivity( GtkTreeModel * model, 175 183 GtkTreeIter * a, … … 177 185 gpointer user_data UNUSED ) 178 186 { 179 int i a, ib;187 int i; 180 188 tr_torrent *ta, *tb; 181 189 const tr_stat *sa, *sb; … … 187 195 sb = tr_torrentStat( tb ); 188 196 189 ia = (int)( 1024 * ( sa->rateUpload + sa->rateDownload ) ); 190 ib = (int)( 1024 * ( sb->rateUpload + sb->rateDownload ) ); 191 if( ia != ib ) 192 return ia - ib; 197 if(( i = compareDouble( sa->rateUpload + sa->rateDownload, 198 sb->rateUpload + sb->rateDownload ) )) 199 return i; 193 200 194 201 if( sa->uploadedEver != sb->uploadedEver ) … … 204 211 gpointer user_data UNUSED ) 205 212 { 206 /* FIXME */ 207 return 0; 213 return 0; /* FIXME */ 208 214 } 209 215 … … 230 236 gpointer user_data UNUSED ) 231 237 { 238 int ret; 232 239 tr_torrent *ta, *tb; 233 240 const tr_stat *sa, *sb; 234 int ret;235 241 gtk_tree_model_get( model, a, MC_TORRENT_RAW, &ta, -1 ); 236 242 gtk_tree_model_get( model, b, MC_TORRENT_RAW, &tb, -1 ); 237 243 sa = tr_torrentStat( ta ); 238 244 sb = tr_torrentStat( tb ); 239 if( sa->percentDone < sb->percentDone ) ret = -1; 240 else if( sa->percentDone > sb->percentDone ) ret = 1; 241 else ret = 0; 242 return ret; 243 } 244 245 static int 246 compareByRatio( GtkTreeModel * model, 247 GtkTreeIter * a, 248 GtkTreeIter * b, 249 gpointer user_data UNUSED ) 250 { 251 tr_torrent *ta, *tb; 252 const tr_stat *sa, *sb; 253 int ret; 254 gtk_tree_model_get( model, a, MC_TORRENT_RAW, &ta, -1 ); 255 gtk_tree_model_get( model, b, MC_TORRENT_RAW, &tb, -1 ); 256 sa = tr_torrentStat( ta ); 257 sb = tr_torrentStat( tb ); 258 if( sa->ratio < sb->ratio ) ret = -1; 259 else if( sa->ratio > sb->ratio ) ret = 1; 260 else ret = 0; 245 ret = compareDouble( sa->percentDone, sb->percentDone ); 246 if( !ret ) 247 ret = compareDouble( sa->ratio, sa->ratio ); 261 248 return ret; 262 249 } … … 313 300 type = isReversed ? GTK_SORT_ASCENDING : GTK_SORT_DESCENDING; 314 301 gtk_tree_sortable_set_sort_func( sortable, col, compareByProgress, NULL, NULL ); 315 }316 else if( !strcmp( mode, "sort-by-ratio" ) )317 {318 type = isReversed ? GTK_SORT_ASCENDING : GTK_SORT_DESCENDING;319 gtk_tree_sortable_set_sort_func( sortable, col, compareByRatio, NULL, NULL );320 302 } 321 303 else if( !strcmp( mode, "sort-by-state" ) ) -
trunk/gtk/ui.h
r4215 r4216 23 23 " <menuitem action='sort-by-name'/>\n" 24 24 " <menuitem action='sort-by-progress'/>\n" 25 " <menuitem action='sort-by-ratio'/>\n"26 25 " <menuitem action='sort-by-state'/>\n" 27 26 " <menuitem action='sort-by-tracker'/>\n"
Note: See TracChangeset
for help on using the changeset viewer.