1 /*
2  * gui_misc.h: misc gui routines
3  * Copyright (C) 2002-2004 Saulius Menkevicius
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  *
19  * $Id: gui_misc.h,v 1.14 2004/12/29 15:58:24 bobas Exp $
20  */
21 
22 #ifndef GUI_MISC_H__
23 #define GUI_MISC_H__
24 
25 #include "user.h"
26 
27 #define GUI_STOCK_LOGO		"vqcc-logo"
28 #define GUI_STOCK_LOGO_NO_Q	"vqcc-logo-no-q"
29 #define GUI_STOCK_STATUS	"vqcc-status"
30 #define GUI_STOCK_STATUS_INACTIVE "vqcc-status-inactive"
31 #define GUI_STOCK_CHANNEL	"vqcc-channel"
32 #define GUI_STOCK_CHANNEL_INACTIVE "vqcc-channel-inactive"
33 #define GUI_STOCK_OPEN_CHAT	GTK_STOCK_JUSTIFY_LEFT
34 #define GUI_STOCK_CLOSE_CHAT	GTK_STOCK_CLOSE
35 #define GUI_STOCK_SET_TOPIC	GTK_STOCK_BOLD
36 #define GUI_STOCK_SEND_MESSAGE	"vqcc-send-message"
37 #define GUI_STOCK_REPLY_MESSAGE	"vqcc-reply-message"
38 #define	GUI_STOCK_QUOTE_MESSAGE	"vqcc-quote-message"
39 #define GUI_STOCK_IGNORE	GTK_STOCK_STOP
40 /* #define GUI_STOCK_UNIGNORE	GTK_STOCK_STOP */
41 #define GUI_STOCK_USER_DEAD	"vqcc-user-dead"
42 #define GUI_STOCK_USER_INVISIBLE "vqcc-user-invisible"
43 /* #define GUI_STOCK_BEEP 	"vqcc-beep" */
44 
45 #define GUI_STOCK_USER_NORMAL		"vqcc-user-normal"
46 #define GUI_STOCK_USER_NORMAL_AWAY	"vqcc-user-away"
47 #define GUI_STOCK_USER_NORMAL_DND	"vqcc-user-dnd"
48 #define GUI_STOCK_USER_NORMAL_OFFLINE	"vqcc-user-offline"
49 
50 #define GUI_STOCK_USER_INACTIVE		"vqcc-user-inactive"
51 #define GUI_STOCK_USER_INACTIVE_AWAY	"vqcc-user-inactive-away"
52 #define GUI_STOCK_USER_INACTIVE_DND	"vqcc-user-inactive-grey"
53 #define GUI_STOCK_USER_INACTIVE_OFFLINE	"vqcc-user-inactive-grey"
54 
55 enum gui_response_enum {
56 	GUI_RESPONSE_SAVE,
57 	GUI_RESPONSE_SEND,
58 	GUI_RESPONSE_REPLY,
59 	GUI_RESPONSE_QUOTE
60 };
61 
62 void gui_misc_init();
63 void gui_misc_destroy();
64 
65 void gui_misc_set_icon_for(GtkWindow *);
66 
67 const gchar * util_user_state_stock(enum user_mode_enum mode, gboolean active);
68 GdkPixbuf * util_user_mode_tag_pixbuf(enum user_mode_enum);
69 
70 /*
71  * widget factories
72  */
73 typedef void (*util_option_changed_cb)(gint, gpointer);
74 GtkWidget * util_user_mode_option(util_option_changed_cb, gpointer);
75 GtkWidget * util_net_type_option(util_option_changed_cb, gpointer);
76 
77 GtkWidget * util_image_menu_item(const gchar *, const gchar *, GCallback, gpointer);
78 
79 GtkWidget * misc_pix_button(
80 	const char * label,
81 	const gchar * pix_stock_id,
82 	GCallback click_cb,
83 	gpointer click_cb_param);
84 
85 #endif	/* #ifndef GUI_MISC_H__ */
86 
87