source: trunk/gtk/util.h @ 12656

Last change on this file since 12656 was 12656, checked in by jordan, 10 years ago

(trunk gtk) first cut at using GApplication. This lets glib replace hundreds of lines of homegrown code. Whee!

  • Property svn:keywords set to Date Rev Author Id
File size: 4.1 KB
Line 
1/*
2 * This file Copyright (C) Mnemosyne LLC
3 *
4 * This file is licensed by the GPL version 2. Works owned by the
5 * Transmission project are granted a special exemption to clause 2(b)
6 * so that the bulk of its code can remain under the MIT license.
7 * This exemption does not extend to derived works not owned by
8 * the Transmission project.
9 *
10 * $Id: util.h 12656 2011-08-09 02:30:31Z jordan $
11 */
12
13#ifndef GTR_UTIL_H
14#define GTR_UTIL_H
15
16#include <sys/types.h>
17#include <glib.h>
18#include <gtk/gtk.h>
19
20#include <libtransmission/transmission.h>
21
22extern const int mem_K;
23extern const char * mem_K_str;
24extern const char * mem_M_str;
25extern const char * mem_G_str;
26extern const char * mem_T_str;
27
28extern const int disk_K;
29extern const char * disk_K_str;
30extern const char * disk_M_str;
31extern const char * disk_G_str;
32extern const char * disk_T_str;
33
34extern const int speed_K;
35extern const char * speed_K_str;
36extern const char * speed_M_str;
37extern const char * speed_G_str;
38extern const char * speed_T_str;
39
40/* macro to shut up "unused parameter" warnings */
41#ifndef UNUSED
42 #define UNUSED G_GNUC_UNUSED
43#endif
44
45enum
46{
47    GTR_UNICODE_UP,
48    GTR_UNICODE_DOWN,
49    GTR_UNICODE_INF,
50    GTR_UNICODE_BULLET
51};
52const char * gtr_get_unicode_string( int );
53
54/* return a percent formatted string of either x.xx, xx.x or xxx */
55char* tr_strlpercent( char * buf, double x, size_t buflen );
56
57/* return a human-readable string for the size given in bytes. */
58char* tr_strlsize( char * buf, guint64  size, size_t buflen );
59
60/* return a human-readable string for the given ratio. */
61char* tr_strlratio( char * buf, double ratio, size_t buflen );
62
63/* return a human-readable string for the time given in seconds. */
64char* tr_strltime( char * buf, int secs, size_t buflen );
65
66/***
67****
68***/
69
70/* http://www.legaltorrents.com/some/announce/url --> legaltorrents.com */
71void gtr_get_host_from_url( char * buf, size_t buflen, const char * url );
72
73gboolean gtr_is_magnet_link( const char * str );
74
75gboolean gtr_is_hex_hashcode( const char * str );
76
77/***
78****
79***/
80
81void        gtr_open_uri( const char * uri );
82
83void        gtr_open_file( const char * path );
84
85const char* gtr_get_help_uri( void );
86
87/***
88****
89***/
90
91/* backwards-compatible wrapper around gtk_widget_set_visible() */
92void gtr_widget_set_visible( GtkWidget *, gboolean );
93
94void gtr_dialog_set_content( GtkDialog * dialog, GtkWidget * content );
95
96/***
97****
98***/
99
100GtkWidget * gtr_priority_combo_new( void );
101#define gtr_priority_combo_get_value(w)     gtr_combo_box_get_active_enum(w)
102#define gtr_priority_combo_set_value(w,val) gtr_combo_box_set_active_enum(w,val)
103
104GtkWidget * gtr_combo_box_new_enum        ( const char * text_1, ... );
105int         gtr_combo_box_get_active_enum ( GtkComboBox * );
106void        gtr_combo_box_set_active_enum ( GtkComboBox *, int value );
107
108/***
109****
110***/
111
112void gtr_unrecognized_url_dialog( GtkWidget * parent, const char * url );
113
114void gtr_http_failure_dialog( GtkWidget * parent, const char * url, long response_code );
115
116void gtr_add_torrent_error_dialog( GtkWidget  * window_or_child,
117                                   int          err,
118                                   const char * filename );
119
120/* pop up the context menu if a user right-clicks.
121   if the row they right-click on isn't selected, select it. */
122gboolean on_tree_view_button_pressed( GtkWidget      * view,
123                                      GdkEventButton * event,
124                                      gpointer         unused );
125
126/* if the click didn't specify a row, clear the selection */
127gboolean on_tree_view_button_released( GtkWidget      * view,
128                                       GdkEventButton * event,
129                                       gpointer         unused );
130
131
132/* move a file to the trashcan if GIO is available; otherwise, delete it */
133int gtr_file_trash_or_remove( const char * filename );
134
135void gtr_paste_clipboard_url_into_entry( GtkWidget * entry );
136
137/* Only call gtk_label_set_text() if the new text differs from the old.
138 * This prevents the label from having to recalculate its size
139 * and prevents selected text in the label from being deselected */
140void gtr_label_set_text( GtkLabel * lb, const char * text );
141
142#endif /* GTR_UTIL_H */
Note: See TracBrowser for help on using the repository browser.